On career change into software development

Hey friends!

Some time ago, I wrote a blog post on the golden path to programming. In case you’re in doubt whether or not you have the talent to become a software developer, go and read that one.
Today I want to focus on a special perspective to that topic: Given you are already a professional working in a different field – can you still transition to a programming career? The important difference between a student in his early 20ies and a professional in his early 30ies is this regard is, the latter one relies on an ongoing income and therefore has very little time available to dedicate to a career change.

A brief warning first: The obvious path may be to sign up for a Bachelor’s program in computer science at an online university and do the classes in the evenings, while you continue to work in your professional field. This would be a huge mistake though! You would spend about five years heavily working for your degree, still doomed to work in the field that you are longing to leave, and most likely you’ll despair on the way and abandon your dream of transition forever. Even if you make it to a degree successfully, you’ll realize that all the classes didn’t leave you any spare time to actually learn programming – which means, you are in no way more qualified for a programmers position than you are right now. Remember, university is the wrong place to make you a programmer!

The two milestones to success…

There are two enormous milestones on your way to your programming career. You want to take them as soon as possible, or fail as soon as possible, so that you don’t waste precious time and money on a path to nowhere.

The first milestone is reached when you know for sure that programming is for you. Or not. The truth is, most people cannot become software developers, because programming is to difficult for them or they don’t enjoy it. Hopefully programming is exactly your thing – but either way, you need to find out as soon as possible!

The second milestone is reached when you are first able to cover your cost of living with a programming job. It’s not necessarily the cool start-up job or the highly paid enterprise job that you are longing for; but once you are able to pay your bills with any kind of entry-level, freelance or part-time programming job, congratulations! You have mastered all uncertaintity if you will make it or not, from now on it’s only a matter of time – and time is on your side now. Your skills will grow continously, and so will your market value.

…and how to get there

A programming career is worth taking a lot of struggle: In the end it’s fulfilling, well paid, a lot of fun and a lot of options to follow later on. Anyways, you need to reduce the risk of struggling a long time for nothing.

Here is how:

  1. Learn the basics of programming as fast as possible. For example with my beginners class on youtube (German only). In case programming is not for you, you will most likely realize already!
  2. Pick one area of real-world software development an learn what you need to build simple working software in that area. For example, web-application development in Java, or frontend development in Angular, or mobile app development, whatever. Your goal is to gather the minimal required set of skill to apply for an entry level programming job. You don’t need to know all the technology that’s out there (nobody does). All you need to prepare for is one interview question: “What was the last programming project you did? Tell us about it!”
  3. Once you have programmed one project you feel confident to talk about (a small web app, a game, a small piece of useful running software), start to look for job offers. Don’t take the requirements on the job annoucements too seriously: You don’t need to bring all the skills that are on there; they’d wish you have them, but since there are way more open positions than applicants, they will hire you if you have built something before and you seem to be able to learn the stuff on the job. Go for entry-level-positions, working student positions or even internships: All you need is a foot in the door. If the offered salary is to little to cover your costs, figure out how to survive for some months, maybe take a loan to fill the gap. All that’s missing for your dream is a bit of professional experience, and right now you need to do all it takes to get that experience. This phase can be unpleasing, even require to work two jobs or so, but it’s worth it. After some months, start to look for jobs again and apply with the skills and confidence that you first job has earned you.

Back to college?

Yes, it’s nice to have a Bachelor’s degree in computer science, and it will definitly help you to advance your career. Go for the evening classes in parallel to the job, if you want to. But focus on the practical part, that I just described. You want to reach the point where programming can pay the bills; after that, you have all the time in the world to finish college.

Best whishes and good luck!