DEV Community

Cover image for I switched careers to software development and this is what I learned
Guilherme Dugaich de Oliveira
Guilherme Dugaich de Oliveira

Posted on

I switched careers to software development and this is what I learned

I wrote this article to tell the story of how I switched from a career in the finance industry to software developer and share some insights I had along the way that might help you, if you see yourself doing something similar. This can relate to people who had a few years of experience in another field and decided to switch to a career in technology, specifically software development.

Coding was not something new to me when I decided to do my career transition - the first lines of code I wrote were probably 10 years before I started doing it for real. I was introduced to programming in a couple classes in college, and to be honest I didn’t fall in love with it at first (it was interesting at best), but at the time I didn’t realize how useful it would be to me. This helps to bust the myth that programmers are people who are completely obsessed with coding since they were children, who can stare at a computer screen for hours and be amazed. That was not my case.

I went to college for a mechanical engineering major, and later on switched to economics, where I got interested in finance and got my first job. Right there I started realizing that programming could be a game changer for me - that is because finance work has a lot of data manipulation, and what better tool for that than IT (information technology)? I worked 5 years in finance and in that time I did several programming courses and tried to apply my knowledge wherever I could, but I still lacked a professional approach to it, my knowledge was still very basic.

During the 2020 pandemic, I realized it was the right time to really shake things up and make the move. So I planned everything I needed and quit my job in December that year to start my software development journey in 2021. I joined a 12-month long full-stack web development bootcamp, and before finishing the course I got my first job. I am now completing 1 year of experience in the field and I feel comfortable enough to share some things I've learned in the process, as I believe that it can be useful for other career-switchers out there.

First, patience.

Switching careers is a long term game, this means nothing is going to happen overnight. I waited a whole year before quitting my job to study full-time, and then 8 more months of preparation to get my first tech job. Since learning to code at a professional level takes a lot of time, you should plan things in the long run, being aware that the benefits will come as a reward of the time and effort you put into your goal.

Don't fall for unreal expectations of very high salaries in a short time. There are a lot of people trying to profit from the booming job market, and they will promise you things that might not happen. There is no magic formula, you have to put in the time.

Also, it is important to mention the financial impact this will have. If you already have a steady salary working on something else and decide to change, it is likely you are going to face a decrease in your monthly income. After all, you are joining a new industry as a beginner and will be paid accordingly. Try to save some money before making any decision, so you can be financially secure during the process of change.

Use your experience in your favor.

Whatever that is. If you are coming from another field, you certainly have some skill that will help you in your software development career. Whether you are a great communicator, or someone who can keep things organized, there is room for all kinds of profiles and backgrounds.

As Steve Jobs says in his famous speech from 2005:

“You can’t connect the dots looking forwards, you can only connect them looking backwards.”

Only looking backwards you can see that the choices you made in the past created the path to where you are today. So whatever you did with your life up until this point, it can be used in some way or another in your new career pursuit.

Jobs was talking about how a typography class he took in college helped him years later when he was designing the fonts for the Mac personal computers. In my case, my background in economics and finance helped me in my work as a developer in a Fintech company, where I was already familiar with the business jargon and terminology. Also, I worked with customer support, which is a valuable skill in technology, especially if you are building customer-centric products.

Show that you have something different, and since you will lack practical experience in the beginning, try to differentiate yourself with the skills you already have. Find out what those are and capitalize on them.

Consistency beats intensity.

There is no way around, you will have to study hard. IT is a highly technical field and you will have to understand complicated concepts. Also, you need to be comfortable with not knowing everything, because you never will. No one does.

I found out that studying and practicing a couple hours a day, every day, is more effective than having a very intense routine for a short time and then burning out of stress. It takes time and repetition for your brain to absorb new concepts, so you should not flood it with new information every waking hour.

Find a study routine that you can keep for 6 months or more and stick to it, the consistency will pay off. If you are serious about getting into IT, you will be learning new things for the rest of your career, so you should find a way to do that where you keep yourself happy and motivated.

Focus on something instead of trying to learn everything.

This was key for me. It is very easy to be seduced by all the new shiny frameworks and technologies that appear every day and try to learn everything - the more you know, the better, right? Not quite.

For me, it was better to focus on a topic, (in my case back-end development and Node.js) and try to understand it deeper, than to have a very superficial knowledge on lots of topics. I don't wanna be a jack of all trades, and a master of none.

I'm not an expert in anything, I just learned enough about the back-end so I could get an entry level job. If I studied back-end, front-end, DevOps, cyber security and design, all at the same time, I probably wouldn't get a job in any of them.

Build things.

I've talked a lot about studying, but software development is a very practical endeavor. The best kind of learning is the result of trying to build things - making mistakes and trying again, over and over. As soon as you learn something new, you should try to apply it somewhere.

Learned about HTML and CSS? Go and build a simple web page. Learned about databases? Create your own and try to make queries to update and read data. It is only through practice that the things you learn will resinate. At least that is my case, and literally every developer I know has said that at some point.

It is likely that at some point you will be stuck in tutorial hell, where you keep watching lots of videos and consuming content on a topic, while not putting it to practice. You should be aware of this and try to apply everything you know in a project, even if it is just a personal side quest of yours. Hopefully, the bootcamp I joined had lots of practical assignments and I had to deliver a new project every week.

Be part of a community.

The career changing journey can be lonely. If you decide to do this completely by yourself, be aware that you will face more difficulties than if you are part of a community, where people help each other and try to learn together. That can be anything: an online forum, Twitter, Linkedin, your town’s square, or any place where you will find people looking to achieve the same goal as you.

When you are looking for a job, it's hard to get an opportunity just by shooting your resume to every job post you see on LinkedIn. I tried that and it can be especially frustrating if you are a beginner. Connections with people that can refer you to a job or being part of a group can go a long way in getting you your first interview.

Use the Internet.

Almost all the information available on software development is free and online. Every major programming language, framework and tool has its documentation available a click away. You can find classes and tutorials for literally anything on Youtube, and answers to most of your questions will be on StackOverflow or other resources you can find on Google.

Using the internet wisely is one of the best skills you can have as a developer. Even the most seasoned of professionals will look for answers on the internet on a daily basis. Learning to code is about solving problems, not remembering little details such as language syntax or method names. You should focus more on understanding the core concepts instead of trying to remember everything.

Find out what works for you.

Those tips are a reflection of my own personal experience, which is unique to me. Other people will have different stories and situations, and that is fine. You should find the strategy that best fits your profile and execute it. I believe the tips I gave here are applicable in different situations, and you should try to extract what applies to your reality and use it. Only you know what is best for you.

For example, if you can't quit your job to study full-time like I did, try to fit in as many coding hours as you can on your schedule. You will be amazed by what an hour a day can do in the long run.

I hope this was useful in some way. If I can help at least one person in switching to a career in software development with this article, I will consider it a success.

Top comments (2)

luizfelipedev profile image
Luiz Felipe Araujo

Very nice text !!!

guidugaich profile image
Guilherme Dugaich de Oliveira

Thank you my friend!