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.
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.