Trials by error messages

Learning to code is like trying to hold a basic conversation in a second language. No matter how clear and precise you think you are being, there is only so much you information you can convey when you are limited to the words ‘Yes’ and ‘hello’.

Being at EDA everyday has changed my relationship with computers. The changes are hardly noticed by those unfamiliar with who I am but never the less they are there. Like a second language, you find the ways you can express yourself in code grows the more you practice. Words like array and variable now sit in a different place in my head. Through daily exposure the computer has become a familiar tool. Not quite an extension of my hands the way it seems to be for the people I have met on site but I still have time.

In our final week, the sole survivors of Kahu banded together to make Birdseye a community crime watch app. We had a week to make mvp but each of us had hopes in making the app something we could show off to future employers. This stress of what life after code school would be like  sometimes messed with our team dynamics. Each of us with personal dramas and our own demons to wrestle.

After many talks and many more mistakes it was interesting to see how we each had a chance to freak out and be picked up by a person who was feeling it that day. There were no real leaders just the person who had the ability to do what needed to be done that day. These mistakes shaped us and together we found out what each of us found was important. When we were on the same page nothing was impossible, we had the power to do anything.   

As we came up to presentation, each of us expressed what we felt was the most valuable learning experience. Standing together we shared our story of making something, despite our differences and inexperience. As Kahu we had got though the Dev acdemy bootcamp.    

I am aware my knowledge is limited but the prospects of growing as a developer by building apps I would use in everyday life is exciting. It has been months after EDA, I balance my time making technologies both old and new I really get a kick out of sharing my work space (a standing desk made from pallets) with stone tools and a laptop. At least I can still hunt and gather if job prospects don’t look good…..and maybe even write a blog about it.17_01

The grind

Learning to code is like building with legos.

Each piece of code is a small robust block that you arrange in relation to other blocks. Like lego, you can build almost anything!

But the way you approach the task is the real trick.

Last week we were asked to make a simple blog app in Rails in under two hours. There was no pressure, it was just a way of seeing what we had learnt (and more importantly what we hadn’t). The most revealing thing was how much I really didn’t understand. I had things that I knew I should do, but when it came down to it I couldn’t figure out a way to tackle the problem. A little lost, I sat for most of the two hours achieving very little (much like I am writing this late at night when I should be coding).

I dug around looking for something to latch onto; I thought I knew the steps but what to tackle first was difficult to see. Given the freedom to do anything I liked I was frozen in place, my mind looking for the first step but finding nothing. In the end I had two pages with a button that went from one page to another and nothing else. It was pathetic.

Disheartened by my lack of coding, and coming to the realization that I didn’t really understand much of anything, I got angry. Anger is normally a negative attribute for people, but I felt alive, after months of sitting on my butt staring at a computer my blood was pumping. My mind became determined, however I had to figure out a plan of attack.

Normally if I come against a block in the physical world, I push through by sheer will power. When I tried to learn archery there was a moment of absolute failure before I gained clarity. I had a clear object of hitting a dinner plate size target from twenty meters. Every day I would go up to the range and practice, but on one day in particular everything went wrong. I hit myself in the face three times, I missed more then I hit, the pain from having poor technique and a bruised ego (and wrist) was enough to make me want to give up. It was in this moment I kept going; in this moment there is something to be discovered, some simple bit of common sense or something that someone said that dawns on you.

This attitude doesn’t work with code however. Pushing past the point of mental exhaustion only means not taking anything in. Learning to back away from a problem has been difficult for me. When it comes to mental challenges, gaining space from the project and doing chin ups (I am getting so good at them) helps more then pushing through. It is astounding how your brain still works on stuff in the background. Outside the space you code, the solutions slowly began bubble to the surface. I needed to find a coding compass.

The guiding rule of martial arts is about distance. If you want to hit someone, get close enough to do it, and if you don’t want to be hit get far enough away. This is a simple rule and dictates the how and why of every movement. Discovering a governing rule of coding however was another thing entirely.

I asked anyone I saw coding what they were doing, watching them solve problems. My mind slowly started to form the beginnings of something. In my minds eye, code became like small blocks of lego being built piece by piece. Methodically tested to ensure it’s reliability, each block taking data from the block below then applying the changes to the block above. Though it is tempting to race head or to think of everything at once, you can become lost and your tower falls. But by taking the code block by block you create strong foundations to build great things.

Getting through the grind is never easy and it’s been a steep curve to figuring out how to tackle the  mental challenges but the rewards for your persistence are worth it…. I still haven’t finished that blog app though.  8_01

The cave man becomes a coder

Learning to code is like walking in half way through a movie. You sit and listen trying to memorize names and get a hint of what they might be on about. But ultimately you don’t want to ask what’s going on because that guy is annoying, no one wants to be that guy. I actually liked to see how much of a movie I can understand out of context. The trick is to forget about the details and focus on what they do. You let the names wash over you and watch their actions. Then slowly the picture is formed. Piece by piece. Then once the movie finishes you ask for peoples opinions. They fill in the blanks and you look like a good listener when secretly you have no idea what the hell was going on.

So life off the trail has been hard. I have been attempting to write a book about my experiences (The process will take longer then walking the trail). Working a cafe job in the weekends and generally trying to figure out what this experience has been about. 

I did however say I would keep myself open to whatever opportunities that come up. The thing that was important to me was that I could do more good for others seen as I was so well looked after on the trail. I figured I would be doing a DOC job, or fruit picking or doing something that would take advantage of my new found outdoors skills. But though a series of events I found myself in a 18 week coding bootcamp called Dev academy.


This bootcamp does not require computer skills (I really don’t have any, The first computer I had I was 25 and I sat on it in the first month) you just need the enthusiasm to learn. The first nine weeks I was given tasks to do from home, that was hard. A lot of information didn’t really sink in at all. The sharp contrast to life off the trail making sitting in front of a computer difficult and the stress of thinking I may have bitten off more then I can chew really got to me.

But I don’t give up, ever. No matter how much pain and suffering I have to go though. (It’s a gift?)

The class room environment was a different space all together. I worried that my personal quirkiness (You know making stone tools, hunter, gathering and general barefootedness) would be a problem in a office environment. But really I have felt nothing but welcome. There is hard work to done but there are also plenty of help to get there. The hungrier you are to learn the more you can get out of the space. But you have to do the pushing to get there.

The people side of programming is an important aspect to Dev academy. Computer programs are made by people, and used by people. Good code has to be understood like carefully written stories. Group projects are thought out in teams and paper versions of web sites are made to keep everyone on the same page. Piece by piece they are put together, testing and refactoring as you go. Until you are left with a working product. Though to be honest it seems there is always improvements to be made.

I am only in week four and taking on projects feels bit like climbing mountains. You are never sure if the peak you have in your sights is the top. The only thing you can do is put your head down and get to it. Sometimes I still weave and shape stones, but for the next 6 weeks (How long it I graduate) I have to hang up my rain cape and put my crazy determination into this new journey. Do I have what it takes to work a computer? I’m not sure. But at least the warmer weather is coming up so if I fail I can always go for a hunt or something.

By the way t

his time last year I was on 90 mile beach digging for shell fish, fishing and shooting at quails. It is amazing how life can be so different year to year.7_01 (1)