Week 1 of Bootcamp

Amy Collin
3 min readNov 22, 2017

--

Arriving at Northcoders at 8am that Monday morning was quite a surreal experience. Picture first day of school but instead of brand new backpacks and stationery, think MacBooks and lots of coffee!

Day 1

We had a number of lectures in the morning covering all the housekeeping for the course and explaining what to expect in the first week. We also got introduced to the concept of pair programming — a scary thought after spending the previous 5 weeks coding in total isolation at home!

Sprint — thrown right in at the deep end, we were paired up randomly and given our first sprint. The purpose was to familiarise ourselves with Node, pair programming and using Git. Turns out none of these things are *that* scary! Especially pair programming; my partner and I both realised it could actually be quite fun to share that joy when you successfully complete a problem.

Day 2

Sadly, I couldn’t attend the second day as I was finishing a previous course but the course tutor was brilliant and shared with me videos of the lecture materials and the sprint for the day for me to have a look at in the evening.

Day 3

Main focus of learning was the concept of Test Driven Development (TDD). The idea of writing very specific tests first then writing code to pass each test, building up in complexity.

Sprintfor the day’s sprint we had new partners and had to write tests retrospectively for functions we’d just written. It felt like quite a slow sprint as we tried to get our head round what kind of tests we needed.

Day 4

The lecture was on the reduce function, a slightly more complicated higher-order function. But the more examples we did as a group, I could start to see the pattern in writing them.

Sprint we started a new 2 day sprint, again changing pairs. This time we were writing functions using TDD. We didn’t get through many of the exercises but as a pair, we spent a lot of time discussing the different ways of approaching the tests. I really wanted there to be a general process we could follow but it turns out that doesn’t exist! But we did come up with our own strategy, how we’d decide on the simplest cases and then gradually adding in complexity.

Day 5

Lectures covered some of the fundamentals of functional programming. Things like the anatomy of functions, how to pass them into other functions and purity.

Sprintby the end of that 2 day sprint I was feeling a lot more comfortable with TDD and pair programming and actually starting to see the benefits.

TDD isn’t just a sensible approach to software development it also makes a daunting problem a lot less scary! I found myself reading the requirements for a function and having that moment of panic as my mind went blank on how I could solve it. Then I would remember I don’t need to have all the answers straight away, I would just have to think of the very simplest case; it may be an input array with just one element, or let’s just solve this for numbers before we think about strings. I’m completely sold now with TDD, even if sometimes your test file is 10 times longer than your actual code!

Pub!

The Northcoders community really is a community! Every Friday evening, right after the final solution lecture, everyone meets at the local pub, joined by previous students and the current staff. It’s a great opportunity to celebrate surviving the first week and lovely to chat with people who’ve already completed the course and get some words of reassurance.

I plan to write about my experience each week, partly selfishly so I can reflect back on my journey but also in the hope it might help anyone who’s thinking about embarking on something similar. You can also follow my updates on Twitter

--

--

Amy Collin

Software Developer interested in Tech for Good. Northcoders Graduate.