One week ago, I started an intensive web development course at We Got Coders, a countryside retreat in rural Bedfordshire which aims to turn it’s students into full-stack developers ready to go straight into careers.

Personally, I spent a long time researching courses - and when I discovered We Got Coders, I read as many blogs and reviews from current students and graduates as I could find to get an idea of what the place was about. I’m writing this in the hope that it might help someone in a similar situation, as well as to document my progress.

The workload here is large, and I have very little free time. However, I will try my best to update this blog as often as I can - although there is a possibility that I simply won’t have time as the size of projects increases.

if (attention.span < post.length) {
  return "TL;DR";
} else {
  readOn();
}

This post is really long and, arguably, unnecessarily detailed. I do think it might be useful to someone considering applying though. Later posts will document my progress on the course, this one is just about my decision to apply and the application process.

My Background

Up until a few months ago, I worked in the market research department of a call centre for four and a half years. I managed a team of around 10 people who conducted customer satisfaction research over the phone. I actually enjoyed the job most of the time, although it could be quite stressful. I spent a lot of my time trying to come up with ways to increase productivity, and one of those was a successful overhaul of the way in which employees’ target achievement was measured and rewarded. At the time, I had no experience with programming - I had created a series of Excel spreadsheets to manage the complicated task of tracking every employee’s work every day (including disciplinaries, attendance etc), and was speaking to my flatmate one day about my frustration with the limits of the software. He advised me to look into coding, and this seemed to make sense to me. Call me a nerd (go on, I dare you), but I got a big kick out of creating spreadsheets for myself and other people that solved problems.

I picked up a book on Python, which is a high-level, general purpose language that’s good for a wide variety of tasks (and a fantastic first language if you’re thinking of taking the plunge into programming), and set to teaching myself to code from the complete basics. Everything was new to me at this time; loops, functions and objects were things I had basically no idea of until I started reading about and experimenting with them. I stuck with Python for a few months, but never got further than text-based games and really simple GUIs - still, I had learned the fundamental concepts of coding, all of which were transferrable to other languages. I think this is a really important point - if you spend a lot of time trying to figure out which language to learn, understand that there are more similarities between most programming languages than there are differences - learn one language well and you’ll be able to pick up another relatively quickly. Having said that, learn Ruby.

Back to the job: my entire team and I worked online. The callers would log into our client’s web application and complete surveys, and I would log in and track their progress and keep a check on their quality. I was impressed by the site, but also frustrated with aspects that I thought could be improved. I spent time on my lunch-breaks looking at the source code of the site and started developing an interest in the code that drives the web. At this time I began following video-tutorials online to become proficient in HTML, CSS and JavaScript, and I loved the immediate visual feedback I got from combining them into websites.

I decided to leave my job earlier this year. There had been some ill-advised changes to the department that had a negative effect on everyone there, and I’d come to realise I preferred coding over management - I also decided I wanted to be in a real career by the time I was 30, almost five years in a call centre is long enough for me! I resolved to commit myself full-time to learning web development, with the intention of either continuing to self-teach or attending a course. After a month or so of leaving, I stumbled upon the concept of coding bootcamps when researching courses online.

Dev Bootcamps

Coding bootcamps are a relatively new invention - as far as I can tell they’ve only existed since around 2012 (although I could be wrong). The idea is pretty simple; it’s intense, focused learning with a strong hands-on emphasis. Most seem to last around 12 weeks, and different organisations focus on different languages - There are webdev bootcamps in the UK that specialise in Ruby, Python and PHP.

I had been playing with Ruby for a while after discovering how well-recommended the framework Rails was online, so I narrowed my search to one of the places that taught this. Ruby is one of the more popular back-end languages around at the moment, so I found two or three around London that offered this.

We Got Coders

WGC immediately stood out from the crowd. The class sizes are extremely small, the location is rural and quiet, and they offer an accommodation option. These were all things that greatly appealed to me, but I pride myself on being skeptical so spent time trying to find the catch.

After reading the website and various reviews, I concluded the only thing thing that might be a potential hurdle to anyone applying to We Got Coders is their comparatively rigorous and selective application process. I started to doubt my chances of securing a place. Did they only take on university graduates? Did they expect applicants to have experience working in development? This didn’t seem to be the case. The main prerequisites on the website are “a strong interest in coding” and “evidence of self study”. They don’t expect you to be a professional programmer, just someone who loves to code and can prove they have worked hard on their own.

The Groundwork

I immediately received an email back with details of the preparatory groundwork that needed to be completed. This covers the unix command-line, Git, HTML, CSS, Javascript and Ruby. I was happy to see that I already had experience with everything that was listed. I had taken online courses in all of these subjects, and had even completed two of the Codecademy courses that were specified. Having said that, I didn’t want to cut any corners, so I went through each article and lesson in it’s entirety and tried to memorise any commands (both git and unix) with which I wasn’t familiar.

After a couple of weeks of working through this, I received a call from Kin. Kin dealt with new applicants at the time (although she has since left the company) and was really friendly and welcoming when I spoke to her. She was calling to check how I was getting on with the groundwork and give me the opportunity to ask any questions I had. I continued working through the groundwork and programming challenge for the next few weeks.

Programming Challenge

On completion of the groundwork, applicants are asked to complete a programming challenge. This consists of a series of tasks involving the application you submitted. You’re given a Sinatra application (Sinatra is a Ruby framework and it’s relatively easy to use - there are also detailed instructions on how to get it working in the included README file) with a simple HTML document with each field from your application filled in. There is a lot of room for creativity, as the first few tasks are all centred around restyling the page to make it look presentable and unique. There are a couple of JavaScript and Ruby specific tasks that shouldn’t be too difficult if you have completed the groundwork and spent some time using both languages.

I actually found the programming challenge both enjoyable and relatively painless. There were one or two things that had me scratching my head for a few hours, but a huge part of coding is about problem-solving, and spending time on stackoverflow or the appropriate online documentation will usually reveal the answer if you’re determined.

After submitting my completed challenge as a pull request on GitHub, I was given some feedback from one of the instructors on the course. I actually learned quite a lot simply from the comments left for me, from finding out that files should always end with a newline character to the redundance of some explicit returns in Ruby.

Open Day

I attended an open day at the We Got Coders house in July. It was a fairly long drive up from Sussex, around two hours with a quick stop for breakfast on the way. It was a beautiful, hot and sunny day and I arrived at the house around 10:15 to be greeted by Kin at the door. I was then introduced to some of the other applicants, as well as the founder, Dan. Dan seemed happy to see us all and greeted us warmly. After some introductions and a short conversation with some previous students who were there to answer questions, Dan gave us a thorough tour of the house and the grounds.

The We Got Coders House

The house is amazing. It stands at the end of a long, gravel drive off from the road, and is surrounded by vegetation and water. The river runs underneath the house, so that you can hear the water while you’re standing (or working) in the room above. The house is a converted watermill and is surrounded by a river on all sides. There are multiple quiet areas in the surrounding grounds to go and work or relax, and the house is equipped with table tennis, table football and a pool table as well as an original NES console. There are multiple large bedrooms (most with ensuite bathrooms), and various other areas with tables for working and eating.

We were led into a room where four (very comfortable) sofas were facing a projection screen and a desk - this is where the lessons are carried out during the course. Dan took us all through a presentation about coding in general and We Got Coders specifically, which left me with an even better impression of the course than I had already. Next was a Q&A panel with current students and recent graduates, who spoke about their experiences and answered our questions - I asked them how prepared they felt when they arrived for the course, and if there were any subjects they wished they had spent time researching beforehand. All of them said they felt quite prepared for the course, and that the groundwork was a good primer for what was to come. One recommendation was to try to complete as many coding challenges as possible - an excellent source for these is Project Euler.

We had lunch, and then half of us stayed for the afternoon - a collaborative assessment on our coding and communication abilities. We were set a task where we were given some JavaScript code using an HTML5 API and were asked to work on and present a project at the end of the day. Honestly, the task seemed daunting at first, but after discussing the code with the two people I was working with (one of whom, Simon, was also successful in his application and is currently on the course) we got started on our solution. We got stuck a lot, but Dan was there to answer questions and guide us in the right direction, so we didn’t spend too long scratching our heads. The whole experience of working with others on code was really enjoyable - I got a great sense of achievement when we managed to solve a problem collaboratively (and that ‘problem solved’ rush is what coding is all about for me).

I left the open day hopeful and fairly optimistic about my application, and I received a call from Kin a few days later to let me know I had been accepted.