../

A successful career switch to developer

You are looking into switching your career to become a developer ? But you don’t know much about it ?

This is exactly like me ! Today I’m a backend engineer, but before that I was working in accounting. I made the switch 5 years ago and I’m super happy about it.

A bit about me

My interest in computer science isn’t new, it all began when I was a teenager. I started by learning html and css and I remember doing some kind of maze using html links. That was fun to me.

I always had big interest/skills in mathematic, but I was lazy at school and a scientific path was denied to me. So I ended up choosing accounting, kind of randomly, because “I like numbers”, and that was one of the very few options available to me that I liked.

Things went rather well. I enjoyed accounting, especially management control, as it got me to play a lot with Excel. I learnt how to automate stuff and even got to learn some VBA through that cursus.

After getting my accounting and financial audit diplomas, I ended up in a small start up company as the admin intern. Basically I was at the lowest hierarchical chain in a company. I was in charge of printing stuff, classify thousands of papers, bringing coffee to clients and other kind of mind-crushing tasks.

But that start up grew a lot, and me with it. I stayed there for 6 years, and those years, my responsabilities increased. I had enough freedom to try a few things. I started to automate more and more stuff, first for myself, then for other people in the finance department, using some advanced excels, macros and google suits scripting.

My proudest achievement

At some point during those 6 years, my father, an amateur beekeeper, needed some tool to manage his hives. So I tried to build something for him, using excel, as it was my area of expertise. It took some time but I succeeded. And it was marvellous.

Truly one of the most amazing thing I have ever built. It used formulas, macros, events on click… There was a beautiful UI, a viewing and an edit mode, forms, a database stored in the excel file itself and on and on. Everything was automated and I was astonished by what you could achieve with excel. I was very proud about that damn excel file.

But upon unveilling it to my father, he asked for a change that brought down everything… The worst is that this change request that looked like nothing really: he wanted to name the hives, rather than seeing them as integer (that integer was the primary key of my hive).

That request, even though so simple, was in fact breaking a huge part of my automation workflow. It would have required to rebuild most of it if not everything.

This crushed me. How could I have built something so amazing in my eyes, but yet so fragile.

I was devasted.

I finally came to the realization that maybe excel was not the best tool to fullfil the need of my father. And that’s how I ended up reading stuff about coding, and, python. Simple, easy to learn. It looked nice and I started to learn it shortly afterward.

After some time, I felt confident enough to start building the hive application for my father in python, using tkinter (a UI module in the standard library). But that was a tiny little bit too difficult for me. I was really slow to build the app. It took me several weeks to build a application with 2 windows, a few buttons and forms. And the thing was ugly as hell. This slowness demotivated me and I kinda stopped working on it.

An opportunity to grab at work

Going back to my work. I was discussing with my boss and she was complaining to me about some kind of reporting done monthly for revenue recognition. Something done on an excel file that was requiring several days of work each month. And as the company was growing, quickly, it was getting worse and worse.

She was just grumbling about it to me, and really had no solution. I talked to her about that python thing I was learning on the side, and that potentially, it could do the excel file job quicker… After all, I did read that python was used for data processing.

She was receiptive and I got briefed. 1 week later I came up with a python script that could do in a few seconds what was taking 3 days otherwise. I was in owe. They couldn’t believe it neither. It took me only 1 week, and I made something good enough to present it. After adjusting some edge cases and thoroughly testing it, this script came to replace the manual file.

That was the entry door. At that point, I was hooked, and there was no way back. I started to do stuff in python, more and more, at work, at home, in my dreams. This quickly became my new passion.

To the point that I thought, hey dude, if you enjoy it so much, why don’t you try to find a developer job ?

But having no diploma, I didn’t feel confident enough to postulate anywhere. I found and finished CS50, an online course from Harvard. It taught me the basics of programming, memory management and web development… It was really worth it and helped me to get more confidence for applying to developer jobs.

I applied to a few companies, one contacted me back. My candidature was spotted by an engineering manager, he made me pass an online test about python, interviewed me, and bam, I got my first developer job just like that.

I was set to start my new job some months later and everything was wonderful. I couldn’t have been happier. But I didn’t know what was coming to me.

Welcome to… the big world of programming

Just think about that poor, innocent kid that I was. All I did was a few scripts with a hundred of lines and fullfilled an online course. I got my developer job and I thought I had made the hardest.

My excitement from the beginning was quickly followed by a terrifying sentiment of being lost, powerless and useless. I had just entered the big boy playground and I was introduced, at once, with so many new tools, processes that my head could not make sense of anything.

I mean, just think about it: linux, git, legacy python (2.7!) monolith, docker, IDE & debuggers, sql, jenkins, elasticsearch, CLIs… And that’s just about tools. Let’s not forget about the processes that developers are used to deal with in their daily life: CI, git flows, deployments, reviews, design/archi discussions…

I was thrown inside that world with no prior warning. I was lost. I felt like some unproductive shit. That depressed me. It was extremely tough to go through and I would have resigned many times if it wasn’t for the support of my wife. It took 5 or 6 months for me to start feeling a tiny little bit comfortable and getting back some kind of of enjoyment in what I was doing.

It is also around that time that I got lucky enough to integrate a new team in charge of rebuilding our python monolith. The monolith was hosted on premise, and we were tasked to rebuild it using a new infrastructure on cloud with micro services.

What the hell that was ? What was I engaging myself into ? I had no idea. But I was part of the team in charge of building that.

We were 15 people, some backends, some frontends, lots of seniors. I was the junior, but the experience was golden for me as I learned so much.

In two years, this brought me to understand basic infrastructure concepts, team organization, while developing plenty of core services in python, doing devops and ci stuff. I was curious and tried to tackle any topics. Towards the end, I was able to mentor people and helping external team to onboard the new stack.

It’s all about you

I am truly happy with my career switch. It’s wonderful to be able to associate work and passion.

My mindset was a key factor here, I am a fool that just followed his heart, and didn’t ask himself too many questions about what it really meant to be working as a developer, beside just the coding part.

I understand I also got lucky. You have to get some luck to get kind of opportunities I got. But you also have to take actions to create those opportunities, and you need to actually catch them (easier said than done) ! So do the efforts, cease opportunities when you see them !

If you are wondering about a career switch as well, here are a few piece of advices I can give to you.

You need to be really motivated

It may be obvious but this needs to be stated.

I worked a lot on my personal time to learn about programming. You won’t escape this. You will have to work hard, and you will need something that motivates and fuels you, days after days, so that you keep working hard.

My motivation is coding: building something in a elegant way, expressing some concept or idea in a beautiful way… Being able to produce something by myself, seeing how it can help other people, I find that very rewarding and addicting.

Not every day will be easy. I took many “breaks” but I always came back to it.

Ignore the fact you don’t have a IT diploma

Even with all of your hard work, you’ll think you are not deserving to have the same title as someone who went through some IT school. I had that imposteur syndrom constantly at the beginning. I did not dare to speak out my mind because of it.

But that’s just a feeling and you’ll make it. Today, I don’t have that feeling anymore (at least way less than before). I proved to myself and other people that I can do it, and I realized that you don’t need some special diplomas to have good ideas.

Find a cool side project that you can speak about during your interviews

I feel the website I built for my father unblocked me many doors, way more than the CS50 diploma.

I don’t regret taking the CS50 course (and paying for the diploma), I needed it, to boost my confidence. But I never got to talk about it during interviews, never. I did talk a lot about that website though, and always received very positive and interesting feedback about it.

Get feedback from actual developers

This is something that I learn the hard way. You should definitely get to know more about the development world, because it’s very different from what you may know and you need to get ready for this. Only someone having already worked as a developer can tell you about it.

And most importantly, don’t get discouraged

We all get discouraged, but the wheel turns and every effort you make will pay up at some point. Having the support of your loved ones can only help !

Hang tight and see you there, the world of programmers is amazing !

/programming/