“It can’t be that difficult, right?”
Sitting in a bar in East Belfast, amongst the lackluster turnout for a comedy open mic night, the idea of learning how to code seems like a no brainer. Sitting beside me, giving me a knowing look, is my friend Paul, a student at Queens University studying computer game design. He’s just finished telling me about a promotion at Microsoft, “If you make four apps for Windows 8, they’ll send you a free tablet.” At first, the promise of free electronics was what drew me in, this was it, I was going to learn how to code. I don’t know if this had been his plan, but if it was I was falling for it. See, I’m a serial learner. I have a habit of becoming obsessed with things, of trying to learn everything I can about the last subject I heard about. This is why, in my room, you can find books about music theory, multiple magic books and dvds, books on stand-up comedy, psychology, and lie detection, to name a few. I’m like the physical embodiment of the saying ‘Jack of all trades, master of none’. I could spend hours online just learning things I will never use. And so here our story begins, at the start of my next journey into apprenticeship.
Day 1:
Starbucks. I know people do it all the time, but I always feel ridiculous pulling out a laptop in public, even in a coffee shop where everyone either has a laptop or a pretentious moustache, rarely both. It’s about an hour until closing, not many people in, so we pull over another table and get to work. The red light blinks ominously on the audio recorder sitting on the table. “So how much do you know about coding?” I think for a second. “I made a website once”, “So nothing then?” This is the first time I realise I’m probably in over my head. “Do you know what a method is? How about a parameter? A variable? A class?” The pain in my neck from vigorously shaking my head ‘no’ is telling. “OK, what does this do?” I look at a piece of code on the screen, more foreign to me than any other language I don’t know. The next hour flies by as terms are bandied about the place, as coffee is drank, and I start to learn. By the time 9:30 rolls around, the stares of annoyed baristas looking to sweep the floors and get home bare down on us as we begin packing up to leave, but I’m not finished learning. We head back to my house where Paul sets me a task, using what he’s just taught me, to write some simple code. One embarrassing hour later and I’m done, both in terms of coding and in mental capacity. My words are beginning to slur, the steady tempo of the drip-drip-drip sound made as my brain slowly leaks out of my ears and crashes to the tiled floor is driving me insane, and the creepy clown standing in the corner, taunting me, isn’t helping much. But I’ve finished, and with only a lot of help from my student-tutor. I feel ecstatic, like I’m ready to take on the world. There is something extremely satisfying about writing lines of code and seeing it create something on the screen. It takes awhile for my brain to wind down but eventually I fall asleep, knowing that tomorrow I will learn more, because, hey, coding can’t be that hard, right?

My first foray into writing code
Day 2:
The next day, I’m sitting on my laptop, safe and secure in the knowledge I am now an ace programmer, all this information from the day before is now in my head. With all the smugness I could muster, I open microsoft visual studio, the program I am learning to code on, reopen the same task from the night before, the blank screen a perfect match for my mind. How can this be? How come I can’t remember a thing of what I learned just the night before? I send a distressed message to Paul, arranging an emergency meeting that night again in Starbucks. This has never happened to me before. I don’t mean to blow my own trumpet, but I’m normally really good at learning. Like, tell me something once, it just sticks. This is the first time in years I’ve felt truly challenged in learning something. I mean, learning how to juggle and learning card magic were difficult, but purely from a physical standpoint, getting my fingers to manipulate cards the way I want them to, or teaching my brain how to keep three balls in the air at once. Again, I’m not saying I’m the smartest person, I’m just saying I know how to learn, and I’ve never had this trouble before. It’s strange, but it’s a nice feeling which I’ll come back to later. That night, we meet up again, same starbucks, same tables, different baristas though, thankfully. We go over what I did the day before, making notes as I go, and he sets me another example. Things are making sense now, I’m understanding the terms when he says them, I’m remembering the way things can be combined, and it only takes me forty-five minutes this time with less help. Everything is right with the world again. Once we reach closing time, Paul isn’t content with just going over what we’ve already done, he wants to teach me something new. Back to my house again and we cover ‘if’ statements, essentially the building blocks of programming. He sets me another example, but this time it’s homework, to do when he’s not around. The initial nerves this inspires is soon replaced with the thrill of a new challenge.
Day 3:
Day three was spent working on my new challenge, alone. It was more complex that what I had done before, inspired by the announcement of Black Sabbath playing at the Odyssey I was tasked with creating a ticket system for the event, combining what I’d learnt in ways I hadn’t really done before. It went surprisingly well, still taking me quite a while to write but without needing any help. Now, at this point, I should point out I’ve only talked about one aspect of programming, actually writing the code, but there is another side of it which is testing what you’ve written. To do this, you have to write more code in a separate file which accesses the first code to make sure it is doing what it is supposed to. This is the part I was struggling with. It just didn’t make sense to me, something wasn’t connecting. That night, completely stumped, I decided to leave it, I’d just have to ask Paul about it the next day. Somewhat annoyed with myself, but still fairly optimistic, I went to bed. A whirlwind of insane dreams of boxes and machines later, I woke. Something was different.

My second assignment
Day 4:
Something had clicked. I woke up with knowledge I didn’t seem to have the day before. Suddenly, testing made sense, something connected in my head and I could just do it. I pulled my laptop from its resting place, furiously typing in lines of code. I ran it.
‘Booking successful’
Success! I had done it! I’d successfully written some code and tested it without help. I practically danced to my preferred email client to send the results to my student-tutor.
‘“Good. Ready for more?”
That night, shunning the coffee shop, we head straight to my kitchen. After another night of learning, Paul reveals I am about one more lesson away from completing my first semester of a computer science course at university.
“So do you think I’m ready to make my first app?!” I ask enthusiastically.
“Hell no”.