Hey everyone! 👋
2020 was a very tough year.
The COVID-19 pandemic is still going strong. Some people are sick or recovering from the virus, some are grieving family or friends, some have lost their jobs, and others have seen their businesses fall apart.
At times like these, we're put to the test in situations we've never imagined we'd be. And this always means there's an opportunity to grow.
Let me share with you the story of how I learned to code, which feels meaningful to me at this point in time.
My Life as a Civil Engineer
It was January 2015 and I was traveling by car, moving from Huambo to Cubal (two Angolan towns) to start a new project: we were building a 100 km road to create a shortcut between two distant municipalities, Cubal and Chongoroi.
At my side was Pedro, an experienced soils and concrete lab technician. He was my co-pilot, my friend, and also a great professional which helped me make sure all technical aspects of the construction were under control. I myself, as a Sr. Civil Engineer, was occupied managing and tracking the contract between the government and the contractor.
Two Portuguese expats in the middle of nowhere. We had just left Huambo and were well out of town when we stopped at a level crossing waiting for a train to pass.
The radio was playing African fusion hits of the moment, and out of the blue I told him:
"It's January again... A New Year has begun and my life, you know, is completely turned upside down like I never imagined it to be. A complete mess. My relationship is dead, almost have no money, my daughter (firstborn) is far away from me and, above all, I'm completely tired of this job."
We were both forced to work abroad, running away from the GFC (Global Financial Crisis of 2007-2008) and the subsequent Portuguese Financial Crisis. It had drowned the construction market and sent it into a big recession and we quickly got into the Angolan oil crisis in 2015.
That was the beginning of a big change in my life which I only realized later in time.
We were living in Cubal, a small former colonial town destroyed by the 1975-2002 independence and civil wars. There was nothing to do besides work by day, drink beer by night, and wander through the baobab trees in the fields.
In the meantime I started to manage other contracts, and traveling became like an intense sport. I was doing almost 10,000 km a month, almost coast to coast, from the beaches of Benguela to the inner parts of Africa, Kuito Kuanavale, near the Zambian western frontier.
This time was precious and helped trigger my desire for a change. From day to day this outburst I had with Pedro started to mingle in my mind, and my need to change my life grew stronger and stronger.
The Need for a Change
My first change was to better occupy my time with activities that stimulated my brain. I started to read a lot, to watch movies on my computer, and to design the master plan which would change my life forever.
In April I returned to Portugal and separated from my lifemate with whom I'd shared my life for 13 years. Soon after that I went back to Angola to work some more.
But I kept on improving. I started to play lots of sports to keep my life filled with good habits.
A little while later I met the one who would be my future wife. She was a bank accountant in Cubal and we started to date sooner than I had expected.
I continued to improve my life, always reading, always searching for a variety of knowledge. Then things started to change.
One year passed, it was September 2016, and suddenly things got much worse. The economic oil crisis grew from day to day, with oil prices per barrel plummeting below 40 USD. The Kwanza (Angola's currency) fell to about a fifth of its typical value in USD.
Some salaries were delayed and we were almost running out of money. At that time, besides my firstborn Maria, I already had my new partner (now wife) Benvinda, my stepdaughter Teresa, and our young baby Benedita to care for as well.
I had to change something in our lives. My wife was struggling to keep her job (banks were closing branches every day) and it was impossible to transfer money from Angola to Portugal, as Kwanza became very unstable and was a blocked currency (not convertible outside the country).
Christmas 2016 arrived and I traveled to Portugal.
I was tired of running out of ideas on how to rise above my current situation. I sat at the computer and tried to build a small website to help me manage my team and expenses at work, in Angola.
I always loved computers, and once upon a time I had dived into a bit of HTML, CSS and the LAMP stack. It was difficult, but it I know it wouldn't be impossible to learn more. And that would help me to stop thinking about how hard our situation was at that time and how we were running out of money.
Soon I discovered that what I knew about programming was not enough to do what I wanted. So, as a hobby, I started to study a bit. I tried to solve each of the individual problems I needed to get things working.
I found some sites and some tutorials but I was a bit confused. I didn't know what to learn first. Should I learn MySQL? PHP? Ruby on Rails?
In early 2017 I discovered freeCodeCamp and started to investigate it immediately (here). I read a lot about what people were doing with freeCodeCamp, about career change, programming, job interviews and salaries. I couldn't believe what I was seeing. This could be a solution to my job situation.
On the 3rd of January I started going through the freeCodeCamp curriculum with all the strength I had.
At that time, I found Alex Kallaway's #100DaysOfCode very motivational and I immediately felt that I'd need that kind of energy in my life.
Through the freeCodeCamp community I quickly met João Henrique, who was also starting freeCodeCamp "just for fun". João lived near me (60km) and soon we became study partners and started to support each other. Without him it would have been much harder to stand up.
Together we started our first freeCodeCamp local meet up (freeCodeCamp Algarve was born)! We didn't know at the beginning, and it was only us. Soon-ish we'd be gathering 10-20 peeps to chit chat and code with us (but that's another story).
An old passion was revived. The freeCodeCamp road map helped a lot. We just followed the proposed challenges without questioning the process.
Somehow I could see a future, a change, an improvement in my life and in the lives of my family. I kept reading posts on the freeCodeCamp forum as it was my biggest source of faith. Everyday someone was publishing a "Got my first job!" post.
I kept my job in Angola for a while. In February I returned there and explained to my wife how this could be a great change in our lives. We would be able to live in Portugal as soon as I could find a job as a programmer. Working as a Civil Engineer by day and studying by night I had reached the end of the front end certification.
The Simon Game almost killed me but I was able to do it in the end!
I had made my decision. I was going to be a programmer, no matter what.
Life Back in Portugal
In May 2017 I left Angola and settled in my parents' house, with the few savings my wife and I had, studying night and day. I would sleep for a few hours when I couldn't keep my eyes open anymore. It wasn't easy. But it was possible, and I was very passionate about what I was doing.
My wife and kids stayed in Angola for a while. It was painful. Month after month we wondered when could we be together again. That was a big lesson for us: to be patient and believe that we would soon be together and well. We didn't know when, but we believed in it with all our hearts.
When you really commit yourself to something, you can achieve it. Believing it's possible is the first main factor to achieve it and to manifest it.
In Portugal I had a lot more opportunities than in Angola. There was a local community - Geek Sessions - and some kewl guys organizing events like talks and workshops (such as nodeschool).
I started to meet and get to know the community.
For the first time, I met people who lived and breathed programming - real developers - and got three great official mentors: Miguel Coquet, Nelson Neves, and André Jonas. Thanks once again folks, for everything you've done for me.
My learning speed increased a lot. I quickly got into Node.js and MongoDB. In a few months I was able to build a minimal full stack app (a front end, a back end and a database).
Getting My First Developer Job
Then the voilà moment happened. freeCodeCamp supplied me all the ingredients to become an entry-level full stack dev.
In September 2017 I was hired by Miguel Coquet. I never expected it to happen so soon. He was starting to get the ball rolling with his own consultancy company and saw something in me. The vulnerability, the courage, the strength, the ability to bet all my life on the job that I so much wanted and needed.
My first job was already a remote one - with his mentoring and guidance - working for a mid-sized company in Amsterdam.
I couldn't believe I was making money as a programmer. I was SURVIVING!!
Computers and programming had always been an hobby of mine, and all of a sudden I was buying food with it. It started with a very nice salary, which helped me quickly reunite with my family in Portugal.
Just before Summer 2018 my wife, kids, and I were all together just in time to celebrate Benedita's second birthday in Portugal.
Life as a Developer
Since those days I've kept studying and reading at a fast pace. Being a programmer makes you a lifelong learner, and that is one of the greatest hidden values of doing freeCodeCamp.
You quickly learn to be autonomous. But it also provides you all the support you need from its community. The general rule of thumb is to "Read, Search, Ask".
Nowadays I work as a remote frontend developer for a Swedish company - developing an agile remote collaboration and production solution for broadcasters. I make more money than 95% of the people in Portugal do, all without leaving home.
If you told me this in 2015, I wouldn't have believed it was possible. Five years have passed, and that's a lot of time. But things happen faster than you think.
My career reboot was very fast (8 months, 3 of which I worked during the day). If only I had known about freeCodeCamp before! 🙈
Take Those Next Steps
Maybe you're feeling like I was in 2015, without hope, without motivation, without strength, without faith.
If you've found this article, maybe you're searching for something but you don't know what exactly.
Maybe life is sending you a message that there's hope for you, there's a path, there's a solution.
Maybe you don't know that the right time for a change is NOW.
Just believe, put in all the effort, put in the hours, work day and night, talk to people, find a "traveling mate", find a mentor, study, grow, expose your vulnerabilities with honesty, fail, ask all the questions you have (there's no dumb questions), and make it happen. ❤️
Why You Should Start freeCodeCamp
These are the main advantages of freeCodeCamp as I see it:
- It's completely free. In times where you're running out of money this is very important. And believe me, paid bootcamps aren't better than freeCodeCamp. All it requires is that you put in the effort, to be the driver of your learning. In paid bootcamps you have to do exactly the same.
- It provides a user-friendly environment for beginners, with a baby steps approach to code.
- It provides you with a great road map: you don't have to get confused about what should you learn first. If you want to work on the web, this is it.
- It provides you with a simple rule: "Read, Search, Ask" which, if you apply it correctly, will help you get really good at searching Google for what you need. And in the end, if you're still stuck, backs you with community support. And believe me, this is the best community in which you can expect to learn how to code.
- It provides you with challenging projects. In the end what we want is to learn by doing. This will make you read through the challenges carefully, investigate how to solve them, learn the technologies, and discuss with other students or mentors. Through this process you'll find everything you need to be successful "on the job".
- freeCodeCamp is a serious thing. Don't think that you need a certificate from an expensive paid bootcamp or university. I've done dozens of interviews and people already know freeCodeCamp. I've already been interviewed by someone who had done freeCodeCamp. Everybody knows someone who's a great developer in a kewl company that did freeCodeCamp. Moreover, companies know that you're a self-starter, a lifelong learner, someone who, in the middle of an issue, has the tools to strive and figure out those problems. And this is what companies want. People that drive their success, that come up with solutions instead of problems.
Don't think you're too old, or that your current job has nothing to do with code. I was 37 when I rebooted and brought a lot of soft skills with me. Everyone that has working experience brings a set of skills that are very useful and admired.
If you're passionate about computers, programming, the web, and nerdy stuff, you won't regret it at all. It will definitely change your life for the better.
Cheers everyone, Happy New Year, and don't forget to code, code, code.
Hey, and one of these days reach out to me on twitter and tell me how it's going! ♥️