We asked our mentor David Underwood to tell us the story of how he became a Web Developer. We hope his inspirational tale will prompt you to make that career change and, with our help, learn to code and launch yourself onto the tech scene.

Above: David and his dad

Story Time

I’ve been interested in computers and programming for as long as I can remember. I copied my first program out of one of my Dad’s BBC Micro magazines and rendered a spinning wireframe cube on the screen. I must have been 7 or 8 years old at the time.

I’m grateful that I was exposed to programming from a young age. I never got any programming lessons at school. The closest I got was in ‘IT’ lessons where we learned how to use word processors and spreadsheets. If it weren’t for the resources I had outside of formal schooling I wouldn’t have written a line of code before University.

I appreciated having my Dad on hand to answer all the silly questions that I had. Even if I’d taken programming courses in school, I can’t see how I would have gotten the same level of attention in a class of 30 as I did one-on-one with him.

Why Learn To Program?

Once you can program all you need to write something, anything, is a computer. The raw material of software is information and you can create that out of thin air.

This freedom of creation is expanded and multiplied by the open source software movement. The fact that programs can be shared infinitely with little effort is incredibly powerful. Open source software takes advantage of this and the result is a huge library of code catering to every conceivable interest.


In programming, there is often a steep learning curve that you have to tackle. In a world where everything is a keystroke away, it’s easy to get off track. Over time you’ll figure out where the dead ends are, and how to identify them sooner. For some people this process is half the fun. For others a guiding hand that can gently nudge you in the right direction makes a lot of difference.

That’s what mentoring is all about. Having access to a mentor shouldn’t replace reading guides, documentation, or simply trying things out yourself. What it does is allow you to progress down worthwhile study paths whilst having someone to turn to whenever you find yourself stuck on a particular issue.

I agree with a lot of what Tobi Lutke says in his blog post ‘The Apprentice Programmer’. A 10x increase in progression seems like a hyperbolic statement, but in the right environment it’s definitely possible.

Opinionated Frameworks

Another way to help people build powerful software quickly is to restrict their choices.

People have spent years researching efficient ways to do task X. Opinionated frameworks do their best to present a single, useful option to the developer so that they can get on with writing their custom business logic rather than umm-ing and ahh-ing over small implementation details.


This leads us nicely to Rails. Rails is the epitome of an opinionated framework. The fact that there is a certain ‘Rails-y’ way of doing something will definitely irk you sometimes, but you can trust that the reasoning behind these decisions will benefit you down the road.

Rails isn’t perfect of course, but I recommend it as a first-time web framework because it has a clear method that you can follow. On the other hand if you’re interested in the underlying implementation then you can open up the source code and read through it. Even better, you can make your voice heard and suggest changes/improvements if that’s what you want to do.

A Complete Package

Learning Rails whilst supported by a mentor is a powerful combination. You’ll spend less time exploring irrelevant topics and beating your head against bugs and more time building products and getting familiar with the tools available to you.

If you feel inspired by David’s wise words and fascinating insights into being a mentor and the work we do at CareerFoundry, take a look at our Web Development Course!