How I made a mid-career transition from finance to tech: a framework for becoming a software engineer while working full time
Study, Build, Interview, Repeat
I'm going to share the framework I used to learn software engineering while working full time.
Become an engineer if you enjoy solving problems, building things, and constant learning. Your colleagues will be amazing, smart, driven people.
Unfortunately, many people get discouraged by how long it takes. But if your committed, it's possible.
Unrealistic expectations is why most people give up on becoming a software engineer.
People for some reason expect this to be easy. Many assume they can take a 2 month boot camp and then land a six-figure job in tech. There are few other reasons it can be tough to land your first job:
Information overwhelm
Lack of experience with solving real-world problems
Not enough time to study
Having a full-time job and no experience in tech is not a blocker to changing careers. You can make the transition and become a software engineer.
Here's a framework that worked for me and how you can do it too:
Step 1: Set realistic expectations.
This is the number one reason why folks get discouraged and give up.
Doctors and lawyers need close to a decade of training before their shot at $200k+ comp packages. Engineers get paid well because it's hard and it takes time to develop the necessary skills.
Expect to take 1-3 years to transition while working full time. Develop a routine that gives you time to study 5-7 days per week. You are going to be in this for the long-term.
Step 2: Explore the industry first. Then focus.
Start with free courses and tutorials. Get a taste of the different flavors in software engineering.
Try out backend, frontend, mobile apps, web apps, data analysis, etc.
Read a few job descriptions to understand the skills needed for the roles that interest you. Don't look for what pays the most. Your goal here is to figure out what skills to focus on.
Then stay focused on that language and skillset for your first role. A career in tech is constant learning. You can always re-skill later on.
There is so much to learn for your first role it's better that you focus on one skillset for now.
Step 3: Study, build, interview, repeat.
This is the loop you will be in until you land your first job. It's vital that you balance each piece.
Study by consuming content in your preferred medium (course, YouTube, tutorial, etc.). Learn something new in your desired stack.
Build by applying what you learned. Even better if you can solve a problem at your current job or in your personal life. These side projects will start small and be unimpressive. Building offers two main benefits, you will learn a lot. And over time your projects will be impressive enough to share during interviews.
Interview by practicing and applying as soon as you can. Do basic coding interview problems at Leetcode. Turn your projects above into interesting stories. Share the problem they solved, results produced, and process you took to build it.
Repeat the above loop. It will take time, but each iteration you will see progress. Months and even a few years will go by here. Do not get discouraged, look at where you were a month ago to today.
It's not easy, but it's possible to self-study to a new career in tech.
Stay consistent and over time you will amaze yourself at the progress a little bit each day can make.