My FCC story: Finance degree -> Software Engineering -> Product Management

Over the last three years I’ve had a wild journey around the world working my dream jobs thanks to the skills I picked up on FreeCodeCamp. I remember being in university and reading as many blog posts and forums by self-taught developers as I could find, and now that I’m on the other side, thought it made sense to share my own story and some advice on how I would go about learning if I were to start again.

University // Vancouver, Canada

I studied Finance + Economics in university and only really discovered coding in my first year. I had lots of friends studying computer science and saw all the cool projects there working on and decided to give it a go. I started teaching myself to code in the summer and was instantly hooked. While I loved studying finance and economics, I knew that I didn’t want a career in finance and for various reasons I didn’t want to switch majors to computer science. So, I spent the next few years teaching myself to code trying out a bunch of resources and jumping between Ruby + Rails, Javascript, HTML, CSS, Python, and SQL. Eventually, I decided that the FCC fullstack certificate was the most useful for me and completed about 90% of it by the time I graduated.

Software Engineer // Medellín, Colombia

I had also been teaching myself Spanish throughout university and figured the quickest way to fast track my Spanish + engineering skills would be to work as a developer at a Spanish-speaking startup in South America.

I sent cold-emails to quite a few interesting startups in Peru and Colombia and pretty quickly got a frontend engineering role with a short-term housing marketplace startup in Medellín, Colombia. I must admit that the interview process wasn’t so technical. I basically walked one of the co-founders through some personal projects I’d worked on and told him what languages and frameworks I felt comfortable with.

I worked mainly building out new features with JS, React, Bootstrap, and Laravel (PHP) and learned so much in the 4 months that I worked there. Everyone was incredibly helpful and patient with me mis-gendering every noun in Spanish and getting confused with some React concepts as I learned them.


The company was given an “eco-office” on a local university campus to work out of. The office was solar powered and used rainwater to grow vegetables. You could also work on the roof (in 35 degree Colombian sun).

Product Manager // Berlin, Germany

I was only meant to be in Colombia for 6 months, so I applied for a role as a Product Manager at a language learning startup which makes an app that I had been using for years to learn Spanish. The job was a really interesting mix of all the skills I’d been developing over the last few years. I would create prototypes for new features in React, do data analysis in Python + SQL, design new features in Figma, do user interviews in English + Spanish with users around the world, and (attempt) to learn German in the process.

I applied and went through the wild interview process that involved me flying out to Berlin from Colombia to do a “test-day” as a Product Manager, where I basically had to design and figure out the technical implementation of a feature change for the app. I also remotely did their frontend engineering interview process which consisted of testing my knowledge of JavaScript, going through previous projects and experiences, and a take home assignment building various components in React + CSS.

It’s now 1 year and a bit later and I have learned so much in the process (although my German is still super shaky), and would not be able to do this job if it wasn’t for FCC sparking my adventure into coding.

Ameyo // My first big solo project

I am still trying to learn something new about coding every single day, and during the COVID lockdowns in Berlin, I spent evenings working on my first big side project. It’s a Chrome Extension that works like Trello with automated logic for habits + keeping track of daily tasks. It’s called Ameyo and you can find it here. I have also just completed the FCC APIs and Microservices Certificate and am hoping to add functionality to save notes online. I’m also using it as a chance to learn Jest for unit testing (after accidentally releasing a version that didn’t work at all for new users… oops).

Advice

It’s been a wild few years and I’m super excited to see what the next few years will look like. A few things that I have learned along the way that may be helpful takeaways for people in similar situations are…

1. Do what you want to do

Graduating from university and seeing my friends get good jobs in finance while I instead went for a very low-paying job unrelated to my degree in South America made many people scratch their heads, but was one of the best decisions I’ve ever made in my life. Everyone has their own journey and as long as you keep following what you’re passionate about things will turn out well.

2. Find one comprehensive resource and stick to it (FCC).

Like many other people have recommended, decide the kind of coding you’re interested in (web development, Android, iOS, security, games, etc), find one really thorough resource to work with (in my case FreeCodeCamp), and work your way through it. In addition to FCC, there are lots of well produced series on YouTube, and paid courses on sites like Udemy + Udacity. Now when I’m learning a new language/framework/tool, I will usually watch a “crash course” video on YouTube (TraversyMedia has a lot of really good ones) then work my way through the official documentation. But be sure not to get lost in tutorial hell and as soon as you feel like you can make something you should…

3. Constantly apply newly learned skills to projects

It’s very easy to watch tutorials and do small exercises and think you understand something only to feel completely lost when trying to use it with a real project. What has really helped me is constantly trying to work what I’m learning into a project or just play around with a concept until I’m certain I understand it. For example, I’m going to build new features in Ameyo with Typescript to get a better grasp of it and get into the habit of writing Jest unit tests to understand practical use cases and limitations.

4. Cold emailing works really well

Slightly unrelated, but cold emailing works really well. I got lots of great tips for learning to code by messaging strangers on LinkedIn. I also landed both of my internships in university and my job in Colombia by cold-emailing the founders and telling them why I was interested in working there and why I’d be a good fit. If you’re looking for your first dev job and are really passionate about a company but they don’t have any listed jobs - you should reach out to the founders and express your interest because you never know. Usually founders’ emails will be firstName@company.com but you can also usually find their email on hunter.io.

I hope this was helpful for some of you and if you have any questions feel free to leave them in the comments :slight_smile: . I would also love any feedback on Ameyo if anyone wants to give it a go! Good luck in all of your coding journeys!

7 Likes

Thanks for sharing your story, very inspiring! Ameyo looks very interesting as well.

Great story. Thanks for sharing, man.