When I was 29 years old, I transitioned from a hobby coder to a professional front-end developer. This transition is one of the most rewarding things I've ever done, both personally and professionally.
Personally, it gave me confidence that I could learn whatever I wanted, and professionally, it was pivotal to my career. Today, I'm the co-founder of Scrimba, a learning platform that teaches over 100K people to code ever month. I simply couldn't have had this role if I didn't know how to code.
Seeing how important this transition was for me, I want to encourage more people to go down the same path. So in this article, I'll explain exactly how I did it. I'll lay out every single course I took and project I built. Hopefully, this might inspire you to consider doing the same thing.
But be aware that the path I took isn't necessarily the most efficient one, as it involves a coding bootcamp. This can be expensive in itself, and you'll be without a salary for this period.
At this point, I'll be bold enough to recommend our free intro course on React and the upcoming advanced course for those of you who are looking for the absolutely fastest way possible. The purpose of these is to get to you to a hirable level as soon as possible, and I've personally vetted the curriculum.
But if you're open to doing a coding bootcamp, please read on.
In late 2014, my two co-founders and I decided to close down our children app startup — Propell — as we had lost our motivation and didn’t see how we could become profitable. It originally started as a side project while I did my economics degree, but soon evolved into a full-time job with four people working in the company at its peak.
While it certainly sucked to give up, it also gave me the opportunity to do what I had been wanting to do since around 2011, which was to properly learn how to code.
Coding had actually been my hobby the last couple of years, as I had taken courses on evenings, weekends and vacations, so I knew a little bit of programming, but I still considered myself non-technical, and far away from any professional level.
Anyway, continuing learning on my own online wasn’t an option. I wanted an intensive in-person course, as I knew that would increase my chances of being able to pull the transition off. I wanted an environment where I could spend 100% of my time coding alongside others. So I dug through all coding bootcamps I could find and applied to the following:
Founders and Coders (FAC)
I was accepted to all except Hack Reactor and Recurse Center. If you’re considering doing a coding bootcamp yourself, I’d recommend you to do the same. Apply for all schools that seem interesting to you, and then start filtering. By talking to the people who work there and experiencing the application process, you’ll get a good sense of the quality and philosophy of the school, both of which are highly important.
I’ve heard stories of coding bootcamps that are basically scams, so be careful and picky when you choose one!
If you want to be 100% sure that the bootcamp is serious, you should consider one which has a Pay Later option, like V School. Then you're guaranteed that their goals are aligned with yours.
After a lot of back and forth, followed by a convincing chat with the brilliant chief of Founders and Coders, Dan Sofer, I finally decided to move to London and join FAC.
FAC is not like any other bootcamp. First of all, it’s entirely free. This meant I could afford it without taking a loan, which wouldn’t be the case for the other bootcamps, as their tuition mostly rages between ten and fifteen thousand USD. Secondly, FAC is completely project-based, which I like, as I’ve always learned more from practicing stuff than reading about it.
The lack of tuition means that they can’t hire any full-time teachers, so it’s based on peer to peer learning, where you mostly learn stuff from your classmates and by yourself. You also get help from previous cohorts though, as they stick around and assist new students while working on their own consulting gigs. FAC also has two great mentors Nelson Correia and Ines Teles who provide invaluable help to the students and the organization.
All in all, this creates an awesome environment — a community of knowledge-hungry people eager to share their skills with each other.
However, this isn’t the easiest way to learn how to code. You can’t just raise your hand and get the answer from a teacher every time you’re stuck, which I would assume you can do at a 10–15K USD bootcamp. At FAC you have to investigate it on your own and together with your peers, which requires a lot of self-discipline.
But this also has a huge upside; you’ll greatly sharpen your problem-solving skills and learn how to teach yourself whatever you want. This is one of the most important skills you can have as a developer.
Going through FAC will most likely change your life for the better.
On day 1 the class was grouped into teams for four. These teams were to consist of the next two months. Every Monday we’d get a new project which we needed to build and present for the class the following Friday. Within the teams, we would rotate between four different roles — dev ops, librarian, tester and repo owner — to make sure that every member learned all parts of building a web app.
All was done open source, so I’ve linked to all our weekly projects below. Looking back at the projects, I can’t say directly I’m proud of them. But I’m certainly proud of all I learned while building them.
I’ve also noted the technologies we learned during the respective weeks. Plus, the weekly assignments are described more closely in this gitbook, for those interested in knowing more.
- Week 1: Team blog — HTML/CSS, jQuery, Github Pages
- Week 2: The Guardian API — Web API’s, Ajax
- Week 3: Social wall — Servers, Node.js
- Week 4: InstagramFeed — Heroku, MongoDB
- Week 5: StopGoContinue — D3.js
- Week6: Notes — React.js
- Week7: Blog — Server side rendering, cookies
- Week8: Blog— Hapi.js
The projects grew steadily in their level of complexity, so every week involved learning new technologies. I normally spent the weekends reading up and doing tutorials on the subjects to be prepared for the week.
During the weekdays I think I averaged at around 10 hours per day coding or learning about coding, which means I totaled at a bit under 1000 hours during my four months in London.
As you can see, we started using React.js in week 6. I immediately enjoyed working with it and liked the thought of being able to develop native mobile apps as well (React Native). So I decided to continue using React as much as possible throughout the course.
This was also a strategic choice. If I were to get to a professional level, I knew I needed to narrow my focus down to fewer subjects, rather than spreading my efforts out on many different ones. React became a natural choice to double down on. This strategy certainly paid off, which I’ll tell you about further down.
The ninth project week involved building our own product, as FAC also wants to inspire the students to make their own stuff as well. My team built a small tool for analyzing your iOS app’s keyword called KeywordKing, which you can read about here.
This week also prepped us for the second part of the course, which involved building MVPs for external clients. Throughout the first eight weeks, we had been pitched weekly by clients who needed developers to prototype their ideas.
It works like this: for £500, a team of 3–5 students would build a prototype in a week. For us, this was a way to learn how to work with clients plus growing our coding skills further, while also making a little bit of money. For the client, it was a chance to get a cheap MVP built fast. And without risking any money, as they would only be invoiced if they were happy with the result, which most clients were (but not all).
During these weeks, I built the following projects together with various other students:
- Sir Predictalot — a prototype for a Tinder’ish news predictions app
- Troll-Olav — a kids puzzle
- RateMyStuff — a social network based around image rating
- Squish — a reinforced learning tool for students
I also did a one-week machine learning stunt, which I’ve written about here, in addition to making a couple of tutorial videos on the subject.
At this point, I had spent around four months in London, and it was about time to move back to Norway, where the rest of my life existed.
Back home my plan was to get into professional coding as soon as possible, as I needed to practice my freshly acquired knowledge to make it stick.
I tried to get some consulting work, but it was tougher than I thought to get it up and running. I also suspected that my learning curve would be steeper if I got a job. Jumping into a foreign code base built by professionals seemed like a tough challenge.
I didn’t get the first one. Not sure why, but I suspect they wanted a more senior developer. The next one sent me through two interview rounds and then gave me a coding task.
About the same time though, I attended a startup event arranged by an entrepreneur I knew a little bit. He was the CTO of a well-funded startup named Xeneta, which I had been a fan of for a couple of years. According to their website, they were looking for front-end developers — and they actually mentioned React.js as one of the technologies they used.
During the evening he told me that they had just rewritten their entire front end in React.js and were looking for a new developer who knew the library; this seemed too good to be true. I told him I’d be interested in the job and we decided to chat up later on.
The following week I went to the first interview, and then two more interview rounds. Then they sent me a coding challenge.
I can't share the exact challenge with you, but I think I did few things right which one can learn from.
First of all, I spent much more time than what was expected. I was given the task at the end of a week and was told that I didn't need to spend a lot of time on it. But doing it quickly wasn't an option for me. So I asked if I could deliver it over the weekend, which they were fine with. Then I spent the entire weekend working on it. I went over every line of code making sure it was DRY, easy to read and free of sloppiness.
My solution also contained a bunch of tests, even though it wasn't a part of the spec, and even though I hate writing tests 😂
Finally, I asked some of my previous classmates from FAC to have a quick look at my solution, and this also helped. This might be a bit sneaky, but I was determined to deliver a perfect solution.
Later, as I've been on the other side of the table, I've often seen applicants deliver solutions with sloppy code. Don't do this!
On June 26th — exactly five months after my first day at Founders and Coders — we came to an agreement, and I was hired as a front end developer.
It was truly an awesome job in a startup with extremely skilled people tackling a big problem in a huge market. I was challenged every single day. So I don’t regret a second that I did the career switch.
After working there for a bit over a year, my previous co-founder Sindre Aarsæther showed me an early prototype of Scrimba and asked me if I'd be interested in joining him building a company around it. I instantly loved the technology and jumped on the opportunity. And that opportunity certainly wouldn't have been
Since then, we've grown Scrimba from nothing to over 100K monthly active users. It's been a fantastic journey, and people tell us every day how much it helps them to learn to code.
Good luck :)