From full-time employee to writing courses and building his own product
Published on May 17, 2020
Self-employed & Founder, Polished
8 years of development experience
Computer science degree
I graduated with a Bachelor degree in Software Engineering from the Rochester Institute of Technology (RIT). I was required to take several Computer Science courses as part of my degree, but I was mostly focused on how businesses build software.
My degree was helpful in giving an overview of the world of software development. The most beneficial part was that RIT requires internships to receive your degree. I learned more about development during one year of internships than four years of classes.
I’ve always loved building things. I had legos and K’nex as a kid. I took a metal shop in high school and learned to build things out of metal. Software is the best world for a builder. You can build and test new ideas quickly for free. There are no materials to buy. There is a minimal downside to messing up. You can just try things and see what happens.
- High school - the teacher would give us a printout of the code of a working program and we’d have to type it back into the computer.
- College - The first major project was an implementation of a bot that could play the board game quorridor. They provided an API and we had to write the code in Python. We then had a Quorridor tournament with the other classmates.
- College - Another project was our senior project, where we actually worked with an outside client to get product requirements. We built an investment/retirement account simulator. The client was a financial advisor and they wanted to use that with their clients. They would plug in how much money someone had in their retirement accounts, how old they were, expected contributions and growth, and the software would apply the different tax treatments based on account type and try to solve the most optimal allocation per account type.
- Out of college - I’ve mostly been focusing on building Polished. It’s a writing app built with React and SVG. I originally wanted to make it into a design tool like Figma, but eventually, I pivoted to a writing app as there is less competition in that space.
Side project idea:build a Quorridor web app for people to play it on one computer. Players take turns to move their pawn or place a wall on a virtual board. If you decide to do it, share a link in the comments.
If you are looking for your first development job, look for internships as well. Often enough, when you complete the internship and the team has gotten used to working with you (and they like you), they would offer you a full-time position.
When I was starting out, I just had no idea how things fit together in the real world. I could learn the syntax of programming languages pretty easily. But that was always in the context of a course, so I never deployed anything to the servers. Because of that, I didn’t understand servers and clients in the first 2 years of college.
I didn’t know how to deploy a website or publish an app. This was all I wanted to learn to do this whole time! Being able to relate the logical problem-solving side of programming with how you apply that to a real-world application and actually deliver value is a huge piece that traditional courses and tutorials don’t really focus on. In my experience, this has all been picked up while doing real work.
All of them, honestly. There isn’t a few you should focus on. Some people will naturally be better at teamwork while others will be better at creativity.
What is best is to be able to identify where your weak areas are, accept that you’re weak in those areas, and strive to improve that. Asking for feedback from your team, or manager, or friends is a good way to identify and try to get better at that particular skill.
What advice would you give to other developers who are getting started out in their careers or building products?
Build real things. Start with something small and simple but can still deliver value. Build a Trello clone. Build a social website for family gatherings. A lot of products require a lot of the same setup, regardless of the complexity of the entire app.
Take Trello - it’s basically a glorified to-do list with different stages a task can be in. The app will still need authentication, profiles, some kind of data structure to store things, a database, an API, it will need to be deployed. Setting up those things will also need to be done on just about any other app.
Build your coding muscles with something small first and learn the foundations. Then move on to building more complex things.
I'm currently self-employed. I’m working on building a personal site that will have a blog, podcast, and courses for learning programming. You can check it out here.
I’m also working on Polished. Last November, I quit my full-time job as a frontend developer and have been living off savings since. I’m hoping to make enough money on my own eventually so that I do not need to work for another company. I still have a few more months of runway left, so we’ll see how that works out.
I completed an internship at the first company I worked at when I graduated from college. The internship was awesome, I had a great team which was really supportive.
However, when I began full-time for this company, I was in a different team that didn't connect as well so it wasn't a great experience. I also always had this urge to do something on my own since before I even started college. I always wanted to be an entrepreneur.
I worked at a corporate company for a year and a half, but then I quit that job and started working as a consultant. That team was much better, but the work was considerably worse. I was working there for 9 months before I decided to move on. I had a good relationship with my boss and told him how I wanted to work on my own stuff 3 months before I quit.
I was able to amicably leave that job. I also paid off all of my debt as soon as I started working out of college. I was fortunate to not have an insane amount and I was making quite a lot as I was a software engineer at a big company.
So it's a mix of wanting to work for myself and having enough savings to sustain myself for a while without any cashflow coming in. If this doesn't turn out as expected, I will try to get another programming job in the future.
Do you have any courses, books and any other resources that you would highly recommend to check out?
- learncode.academy on YouTube
- leveluptuts on YouTube
- Patrick McKenzie
- Startups for the rest of us podcast
- The art of product podcast
Make sure to follow Ryan on Twitter - @rywils21
Also, follow his journey on building web development courses on https://ruminant.dev
Invite us to your inbox.
Articles, guides and interviews about web development and career progression.
Max 1-2x times per month.