How I Became a Web Developer in 5 Months
…without spending money on education.
One year ago I was a non-technical founder of a startup at the edge of bankruptcy. Today I work as a front end developer.
Needless to say, I ended my startup, learned how to code and got a job.
This blog post is an attempt at documenting my learning path, in order to share my tips to others who are interested in doing the same.
Closing down Propell
In late 2014 my two co-founders and I decided to give up our kids 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. The courses that got me started was Udacity’s Intro to Computer Science and Coding for Entrepreneurs on Udemy. They’re both great, even though I didn’t finish any of them.
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:
- Dev Bootcamp
- Dev Mountain
- Flatiron School
- Founders and Coders (FAC)
- Hack Reactor
- Recurse Center
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 of the school, both of which are highly important.
A few of the schools seemed too eager to accept me, which made me skeptical, as if collecting tuition from as many as possible was more important than getting the best possible candidates.
I’ve heard stories of coding bootcamps that are basically scams, so be careful and picky when you choose one!
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 on January 26th 2015.
The FAC philosophy
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.
So if you get through FAC, you’ll never be afraid of tackling a technical challenge again. Plus, you’ll get a lot of new friends.
Going through FAC will most likely change your life for the better.
Part 1 — Eight projects
At day 1 the class was grouped into teams for four. These teams were to consist for 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 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 to the week.
During the weekdays I think I averaged at around 10 hours per day coding or learning about coding, which means I totalled at a bit under 1000 hours during my four months in London.
Finding my React niche
As you can see, we started using React.js in week 6. React is a quite new library for building user interfaces, which I’ve written about here. 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 you iOS app’s keyword called KeywordKing, which you can read about here.
Part 2 —Building MVP’s for clients
This week also prepped us for the second part of the course, which involved building MVP’s 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 one week machine learning stunt, which I’ve written about here, in addition to making a couple of tutorial videos on the subject (sorry about the awful audio).
At this point, I had spend around four months in London, and it was about time to move back to Norway, where the rest of my life existed.
Back in Norway
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 an 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.
Finding the perfect job
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. Finally, they also sent me a React.js coding task.
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’s truly an awesome job in a startup with extremely skilled people. We’re tackling a big problem in a huge marked and I’m challenged every single day. So I don’t regret a second that I did the career switch.
If you’re thinking about doing the same thing, I want you to know that it’s 100 percent doable. You’re not too old, and you don’t need to spend 10–15K USD on tuition. Just find an environment you can grow in, and self discipline will get you as far as any teacher will.
Now go ahead and press the heart button below and start coding :)