Category Archives: Learning to Code

Learning to Code – Week One

On Monday I arrived at the offices of Makers Academy to start my 12 week journey, along with 26 others, to become a web developer. It’s now Saturday and I’m gathering my reflections on the first week.

What I’ve Learnt About Coding

This week we’ve dived into Ruby, focusing on Object Oriented Design and Test Driven Development.  Here are some things I want to remember as I go through the rest of the course.

  • There’s usually more than one way to get the result you’re looking for, but;
    • keep it simple, because you’ll have to maintain it, extend it or explain it to someone else.
    • use the ‘Least Power Principle’ (c) Sam, Maker’s Head of Education – avoid using a sledgehammer to crack a nut
  • Test Driven Development is the best way to approach coding
    • Know what you need it to do and make sure it does it
    • Saves you writing too much extraneous code
    • Failing tests is good, helps you learn and helps you code incrementally by doing just enough to solve each failure.
    • But beware false positives, start with an empty method and build in steps. If in doubt get stuck in with interactive ruby (irb).
  • Understand your domain model
    • You need to work out what objects will have what responsibilities, helps keep your code clean and easy to understand.
  • Refactoring your code
    • There’s always an opportunity to make your code shorter, simpler; write your tests, pass your tests, refactor.

What I’ve Learnt About Learning

20 years after leaving formal education, I was worried that I would find being in an intensive learning environment a tough experience, so here’s some thoughts on this.

  • This is not a passive learning experience – you have to be a “Knowledge Predator” (c) Sam again.
  • 20 minute principle – if you’re stuck for 20 minutes, ask for help.
  • Slow and steady aids digestion of learning.
  • Working in pairs (we’ve been pair programming) is good for understanding as your either having to explain or having something explained to you.
  • You learn by doing and getting stuck in – test driven development has been good for this as you can state what you’re trying to achieve and then go forth to achieve it.

Other Reflections

It’s been an exhausting week, but hugely enjoyable. It’s been interesting to meet the others on the course. A real mix of ages, nationalities and motivations for the course. I’m really looking forward to getting  to know them all more over the next 11 weeks.

Now to crack on with completing the weekend challenge and pre-reading for next week.

 

Why I Quit My Job To Learn To Code

I worked for the same company for 20 years, until last week. I’m now getting ready to join the December cohort at Makers Academy in Silicon Roundabout for a 3 month, full time course, learning Ruby on Rails, HTML5 and much more to take me from zero to “entry level programmer”.

Why?

My main reasons are;

  • I enjoy creating things – understanding code allows you to build stuff.
  • I had stopped learning new stuff – I’d had a fantastic career but wanted to do something different.
  • I love eCommerce – I spent half my career to date working on the business side of the web, great to supplement that experience with some tech know-how.
  • I’ve got a load of business ideas that need coding – so why not give it a go myself.

How am I feeling about it?

Excited – having been a one-company man the last 20 years it’s exciting to look forward to a new environment, people and culture.

Nervous – it’s been a long time since I’ve been in such a learning environment; I hope the grey cells are up to it.

What are my hopes for after I’ve completed the course?

At this stage I’m keeping a really open mind as to what I will do after the course. Become a junior developer, join a start-up, get back into a senior eCommerce position in an established company or venture forth on my own. All these are possible options, but I’ll wait until I finish the course before figuring that out.