How to turn Cyborg — Week 8

My adventures through Dev Academy’s web development programme

Enspiral Dev Academy is a New Zealand web development programme that takes students of any level and trains them to become junior web developers through a remote learning preparation phase and an intensive full-immersion 9 week bootcamp in Auckland or Wellington. Dev Academy’s Marketing Manager Maddy King has taken it upon herself to brave the programme, and share her #nofilter thoughts on the journey. Check out Week 1 here.

This week was great, I really felt like I was getting into my stride. We moved on from the JavaScript forms to altering the DOM (the code document that your browser reads) to build a game. This was fun because it pulled together a lot of the things we’d been learning about combining JavaScript and HTML and CSS. The instructions also started explaining things a lot less so we had to figure out many of the problems on our own, using the things we’d learned.

In this part of the sprint we watched some videos to learn about events and selectors in JavaScript. Selectors are super cool, as they let you pull lots of different elements from your HTML file into your JavaScript, and then operate on them using event commands. For example, in my HTML I could take three pictures on my page and name them class = “pic”. Then in my JavaScript I could group all of these pictures together using document.getElementsByClassName(‘pic’). I could then tell the JavaScript to turn this group of pictures invisible when they were clicked, using the onClick event command. This suddenly makes a lot of actions possible on any webpage I build.

So the way we learned about it was that we had to build a game where clicking on dots made them change colours, and a counter on the side added up the total number of each coloured dot. This involved three phases: toggling the colour of the dots when clicked, making the dots disappear when double-clicked, and building the colour counter. I got really stuck a couple of times and found myself pacing around my apartment explaining my logic out loud to myself to try and get it right. I used W3Schools and Mozilla’s developer docs and some YouTube videos to get a deeper understanding of some of the things I’d learned earlier but hadn’t quite got a grip on, like arrays. And then I came back to the problems ready to try again. The tutorial tools told us when we had made a mistake in our code, but in the real environment there was no indication of this, it just wouldn’t work. So I had to figure out my mistakes in other ways.

Me being a square peg since way back (ft. super cool Mum)

I pushed my dodgy code to Github and ran it in the browser and then used the browser’s Inspector (or Developer Tools, when you right-click) to see what problems it reported. The Inspector told me the lines of my code that were causing the problems, so I could find and fix the problems one by one to get it working. A lot of it was just neglecting to add a final bracket. But this was a fast and effective way to figure out what was wrong. The sense of satisfaction I felt when I figured out how to get the counter working was immense. It felt so good — an uplifting way to end the sprint.

One thing that really stands out to me is that I’m not a natural at this. I have some natural skills, where doing the work feels like fun or just makes sense, particularly around communication and interpersonal things. It’s interesting for me to think about the people with brains out there for whom coding is just a given, logical, intuitive medium. It’s really not for me. I feel like I’m forcing my square-peg mindbody into a round-hole rationality system. But at the bottom of it I’m committed to the idea that it does all make sense. Because it was built by humans, and I understand humans. I just have to understand the components of the system better, why certain commands work in certain ways, why they were built that way, what the rationale is and what the outcome should be. So I’m thankful that I have the breadth of tools on the internet to help explain things to me when they don’t quite click. That’s why self-learning is so fun, because I have unlimited resources to figure it out for myself. Given that I’ve worked with developers before and see them googling solutions all the time, I think this skill is a good one to have in the field.

In total this sprint took me 14 or 15 hours, so a huge step up from my early weeks. The best advice I could recommend to those who are new at this, like me, is to allow yourself an enormous amount of time to complete Phase 0. I was on holiday this sprint so playing with JavaScript felt like fun, but if I had the pressure of having to complete it all in a week around work it would have been far less enjoyable. So if you only leave 9 weeks for the 9 sprints in Phase 0, before starting bootcamp, you’d better make sure you have a lot of free time on your hands to get it all done. (Unless you’ve already done a bit of JavaScript before, then you should be fine). I have left myself 18 weeks to complete Phase 0 before starting bootcamp, and I’m still not entirely sure I’ll make it, just because I’m travelling and working and life has this way of continually popping up with unexpected things. But now there’s only 3 sprints to go! I can’t believe I’m getting through it.

I hear the next sprint is really hard, so wish me luck for next week.

Phase: 0

Week: 8

Sprint: 5

Time logged: 8.5 hours

If you’d like to change gears in the new year, join Dev Academy’s web development programme and gain the skills to design a creative, flexible, well-paid lifestyle you love. Start the preparation phase by remote learning, before entering the in-class bootcamp in Auckland or Wellington. Graduate 9 weeks later with the skills to become a junior web developer and craft the future. Apply today!