Published on May 17, 2020
Self-employed & Founder, Polished
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.
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.
RIT required internships. Through one of the internships I did, I was offered a full-time position after I graduated.
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.
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 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.
Make sure to follow Ryan on Twitter - @rywils21
Articles, guides and interviews about web development and career progression.
Max 1-2x times per month.