In this article, I’ll provide a lot of practical advice about the important things to focus on as a new developer. The cool thing is that it’s OK to make mistakes at this stage. Software developers don’t pick a company for the rest of their lives. Even if everything is rosy most people will switch jobs every few years. If you made a terrible mistake and landed in a horrible place with a nasty boss you can always just look for another job. Let’s get to it. As a new developer the main thing is not to worry too much about things you have no good way to evaluate because you have no personal experience. Often the best path is just to jump in and see what it’s like.
Are You Ready For Your First Job?
That’s an easy one. If you can get a job you’re ready for it. If you can’t you’re not. The people that hire you know what they’re looking for. There are many articles that explain how to prepare for interviews, how to shape your resume, etc. The most important part is to have programming experience. Since, it’s your first job you will not have a professional experience. But, contributing to open source projects and personal side projects go a long way. I assume you want to be a developer because you like software development. If you do, you should have no problem creating a portfolio that demonstrates your skills and will help potential employers to evaluate your suitability for the job.
Startup vs. Big Company
I spent most of my career in startups, but also several years in big companies. Let’s get one thing out of the way – you will not get filthy rich working for a startup. Sure, if you join the next Google or Facebook as employee #5 you will, but your chances to figure out who the next Google or Facebook are slim to none. You may get rich as a founder (still pretty slim chances), but I don’t have any personal experience founding companies so I’ll continue with what I know. You should try both startups and big companies to see what it’s like. But I recommend that you start at a startup. You’ll learn much more and if you stick around and your startup doesn’t keel over you actually have a good chance of rising with it and may get to a senior position fairly quickly. You’ll have to be relatively independent and a self-learner. Startups are often a disorganized mess, but that’s alright.
Front-end vs. Back-end
Today, almost all software is connected, which means there is a back end where the data and most business logic is and there’s the front end where Web development and native apps reign supreme. I started my career a long time ago on the front end (which was Windows client applications back then) and over time made my way to the back end (database, distributed systems). Most people don’t make the switch due to hoping to capitalize on their experience. So, choose carefully. Front-end developers are usually more visually oriented and also often closer to end users. Front-end technologies change much faster than back-end technologies. Back-end developers are considered more hard-core and deal with more difficult problems, but those are generalizations of course.
Research vs. Engineering
With the rise of big data, data science came to the front with machine learning, deep networks and similar concepts. If you like to play with numbers and are fascinated by finding the hidden gems then the data scientist route may be for you. If you care more about the software and the code then the engineering route may be best for you. Data scientists often need to have academic background in statistics or at least some training. You can develop the necessary skills and experience on your own via online courses.
Games vs. Business
Many people get into software development because they like games and want to write their own games. A lot of game developers report dissatisfaction. The industry is a pressure cooker. If you’re a serious enthusiast follow your heart. I worked for Sony PlayStation for several years, but not directly on games. Some of the game developers I knew were happy and some were frustrated. Definitely a mixed bag.
You want to learn a lot on your first job. Make sure it is clear and the company can help you succeed. Choose a place that puts an emphasis on the welfare of the employees. Don’t worry too much about the business. You’ll have plenty of time to make the world a better place.
I presented several aspects you should consider when choosing your first job. But, the main thing is just to get a job and have some practical experience. For your second job, you’ll be much more informed and be better able to decide from a place of knowledge. Good luck!