Are you thinking about making a career change to software engineer? It can be a daunting decision, but as with anything in life if it’s worth working for it may be worth it. Over my 20-year career, I actually switched technologies, businesses and back again to software engineering as there are a ton of opportunities and perks working in this space.
With the right skills and mindset, a career in software engineering can provide a high-paying salary and opens up the opportunity to work on projects that can have an impact. For instance, the last enterprise sales web application went from $0 to over $500 million in 5 years — that’s the power of software, there’s a lot of room for growth and leverage.
If you're considering making a career change to software engineering, here are a few things to consider
Start by learning and mastering the fundamentals. Software engineering is a HUGE field, so it's important to get a strong foundation in computer science so you can easily pass the interview and eventually transition to other technologies. Knowing concepts like data structures, algorithms, and programming languages concepts will take you far. There are many resources available to help you learn these skills, including online courses, books, boot camps, and of course getting a college degree.
Build up your portfolio. As you learn more about software engineering, it's important to start building up a portfolio of projects on GitHub and/or your personal blog page you can show to prospective employers. This is going to be 100% required if you’re not going to college. (and be sure to check your boot camp to see if building a unique portfolio is part of the curriculum) This could include small personal projects, contributions to open-source projects, or even class assignments. Having a strong portfolio of projects will allow you to talk and sell yourself during job interviews you have the skills, communication skills, and experience to be a software engineer.
Make friends with other software engineers. Networking with other professionals in the field is one of the BEST and most underrated ways to get “inside information” on what it's really like to work as a software engineer. The key to doing this effectively is not to "network" but to make friends and add value. Anytime I made a transition or a new job in a different industry, talking to others who are further along the path has always been extremely helpful. I’m not a fan of “networking groups” but if you can find great local meetups such as meetup.com or a solid online community (Facebook is usually pretty spammy) it’s can be a great place to meet other developers.
Learn to crush coding interviews. Most of the time passing the interview is harder than the job itself. Over the years i've interviewed other candidates here are some quick suggestions (this is covered in much more detail). Once you have a foundation for ONE programming language, use that to solve programming puzzles. Most aspiring developers will start grinding away on programming practice problems such as LeetCode. The easiest way is to master each concept (like big O notation), data structure (linked lists, etc), and algorithm (binary search, etc). That way you'll keep building your skills to pass the tech interview.
Click here to get a free interview playbook to help you prepare and a "Vulcan mind reader" to help understand how interviewers will grade you.
In addition, Interviews are still done by people so take stock of your communication skills in my experience when hiring I already knew within the first five minutes if I wanted to hire that programmer or not. Interviewers WANT you to be successful, they want you to be the one to join their team and move on to the next task. So take the time (quickly) to develop rapport with the interviewer and hiring manager (ideally before the interview happens). Think of this as a dating process, you need to sell yourself first.
If you already have some programming experience, consider getting a degree or certification. I was fortunate to have a degree in computer science which put me on the fast track to getting my first programming job (back in 2000). Also over the years, I’ve gotten a few Microsoft certifications from www.certificationcamps.com which was helpful in continuing my education. There will always be more to learn so see if you can get your employer to pay for certifications - it helps immensely if you can put 100% focus on learning new, hard subjects.
Making a career change to software engineering can be intimidating, but if you're on the fence and willing to commit to doing the work, the rewards of a programming career will likely be very well worth it as it opens up so many new opportunities beyond just programming. With the right skills and mindset, you can become a successful software engineer and enjoy all the benefits that come with it. So, if you're ready to take the leap, don't be afraid to go for it!