It’s Day 2 of Uganda’s first ever Andela bootcamp and I find myself rather bemused by how quickly the workload starts to seem rather daunting. It makes me wonder what it’ll be like, say, 3 days from now.
Of all today’s assignments, the one with a huge focus on Test Driven Development (TDD) was particularly interesting. It’s no wonder then, that I spent quite a bit of time on it.
TDD — The gateway to great code
For many programmers, novice and expert alike, the TDD work flow can be difficult to take up. It takes deliberate action to get to a place where you invert your thought process and create tests for your code before you’ve written a single line of code. Odd, right?
I agree, totally odd, at first! But as you do write more and more tests, and work your way towards getting your code to pass more and more of the tests, then you start to realise how much better your code is becoming with every attempt to get the code to pass the tests.
During the self learning clinic, Aretha — an Andela senior Developer stressed that when you fully integrate TDD into your work flow, you start to wonder how you ever lived without it.
I’ve realised just now that I have not really told you what TDD is…well, its an approach to writing code that involves you writing numerous tests that the code should pass. These initially fail, and your job then becomes to tweak your code to pass more and more of the tests until you’ve conquered them all.
A chat with the learning facilitator
My obsession with writing efficient code was fueled by a slack chat I had with my Andela appointed learning facilitator. She told me all about asymptotic analysis and walked me through a few ways an algorithm generating prime numbers could be tweaked to make it more time efficient. Suffice to say, I’ll be talking to Hannah a lot more often.
Andela continues to live up to it’s reputation
Tight deadlines and almost-too-late submissions — I’m starting to feel like that will be a running theme for the next two weeks…and I like it. The pressure keeps me on my toes, keeps me sharp.