The Twelve-Second Code Year [part 4]

(I’m taking an intensive web development bootcamp. Part 1, part 2 and part 3 of the story. Names of students have been changed.)

10.

It’s over.

These students have what it takes to be developers. It’s not about knowing a language, it’s about knowing how to solve a problem; how to bring simplicity into the world.

— Enrique Comba Riepenhausen

11.

Makers has been a lot of fun. Twelve weeks of intensive work, learning a new skill, totally retraining, having only moments earlier thrown away a half-decent career. Other people have come from similar backgrounds to do the course: one worked in strategic consulting, and had a similar gradual realisation to me that his field was slowly sucking the life out of him.

I think everyone, with a single exception, got a lot out of the course. Not everyone is at the same place – those who had done more preparation when they started are further ahead than those who did less. But I think in terms of what’s been achieved and learnt in twelve weeks, everyone is amazed at their own progress.

(I should note that Makers recently updated their website to describe the course as being sixteen weeks: twelve weeks taught plus four weeks of full-time self-study beforehand. I suspect this is partly to get much of the boring material out of the way before students join, and partly to ensure everyone’s at the same level when they start.)

12.

Our final project was an internet-connected thermal printer that could read an RFID card (like an Oyster card), identify you from a database and print out a custom chit – with, say, your calendar events for the day, your current GitHub stats, or (if it’s getting late) any Tube delays and the weather for the next hour. The plan is that the device stays at Makers and using becomes part of the daily routine there. It’s based on Spark Core, so we call it Spark Printer. It’s pretty neat.

Engineering it was the biggest challenge I’ve faced so far. Specifically, working my way through the Spark documentation and figuring out how we were going to make this work – what functionality the Texas Instruments chip on the Core has, how it talks to their cloud server, the limits in size and number of API requests, using Spark.publish to listen to events from the Spark – all the technical stuff that makes the internet hard and is usually abstracted away for you.

But most final projects are pretty bog-standard Rails web applications. It was incredibly rewarding to go against the grain and build something different. We made a real product that lives in the physical world, and learnt a bunch of new technologies in the process.

While we were building this, the excellent Chris Waclawek from Estimote came in to talk about iBeacons and the Estimote product line. The audience was wowed – the more he spoke, the more use cases people dreamed up for these magical little devices that give your phone context and tell it what’s nearby. It was the kind of magic that the early iPhone had: none of the components were particularly innovative, but they were put together in such a way that opened up millions of possibilities that Apple had never thought of and that developers were free to implement.

13.

Whether working in tech will be the dream we hoped for has yet to be seen, but the signs are there. It has a vibrant community, it’s full of smart and engaged people, there’s a tremendous focus on continuous learning and understanding new technologies. It’s a huge world – some people work for giant corporates, some for small web shops, some for themselves, others remotely in far-flung countries. It’s meritocratic in a way that I don’t think exists elsewhere any more.

Now, we polish our GitHub profiles, ensure our code repos are well-documented, and wait to be placed.

I’m excited to get started.

The Twelve-Second Code Year [part 3]

(I’m taking an intensive web development bootcamp. Part 1 and part 2 of the story. Names of students have been changed.)

7.

Makers Academy staggers each intake of students by six weeks, which means every cohort gets a chance to interact with range of would-be software devs at different skill levels. Today is graduation day for the cohort above us. They present their final projects, and Enrique gave a short speech:

“At the end of the day, this is a bunch of people who come here and learn to code in twelve weeks. Which, in itself, is insane. When I first came here, I thought, ‘there’s no way you can learn to code in ten weeks.’ (it was ten weeks back then.) … But I saw people slowly learning to make machines do their bidding. And I think I speak for the whole team when I say that’s what keeps us alive – seeing you all do this incredible thing.”

IMG_6257.JPG

8.

Programming is a really weird industry, and one that doesn’t seem to have any near neighbours.

It’s very democratic – there are no formal qualifications needed. There are plenty of excellent devs who’ve gone on to do great things with software but who never went to university. Courses like the one I’m taking are testament to this: provided you have some code under your belt and can show off your technical chops to employers, you’re hireable.

It’s also very undemocratic for the same reasons. There’s no clear path to becoming a developer. Courses like Makers rely on connections with alumni and local companies to get placements – connections that someone trying to teach themselves to code, the average career changer, couldn’t possibly expect to have.

Without a structured route into the industry, plenty of good people are locked out of it. Makers is doing well to capitalise on this, connecting wannabe devs with talent-starved companies. But for a growth industry with huge and rising demand for coders, it’s surprising there isn’t yet a more established way in, given that there are far fewer Computer Science graduates than there are junior dev positions to fill.

Jim Suchy, a developer at 8th Light, talked about this in a talk he gave at Pivotal Labs. One of the big problems software has is that few people stay in it for thirty years: they either get bored and move on to something else, or get moved to a middle management role and never use their coding skills again. The solution, in part, is emphasising craftsmanship – ensuring your skills improve year after year, mentoring others and learning from mentors, keeping you on the path to mastery.

9.

This course takes grit. Persistence and confidence under uncertainty are vital qualities, particularly as Makers likes to change the curriciulum regularly. You need to be self-directed, and have done the required pre-course material (and more). This is probably a good thing: as a real developer, you’ll frequently encounter things you don’t know or understand and will have to teach yourself, or ask someone for help.

At the same time, there’s a limit to how self-directed you can be. Ultimately, the course is geared towards quickly producing a certain kind of developer, and that’s a good thing. It’s run from custom online material that includes walkthroughs, mini-tutorials and screencasts. Some weeks are better than others in how thorough they are; there were lots of complaints in weeks five and six where the written material seemed half-finished (Makers has since said it will rewrite those sections of the course).

All this goes to show that Makers is as much a social hack as anything else – being on a team with twenty other people all hungry to learn is incredibly motivating just by itself. It’s been a fantastic experience so far.

The Twelve-Second Code Year [part 1]

The Twelve-Second Code Year [part 1]

(With apologies to Merlin Mann.)

0.

Not all tech startups are into ping-pong and meditating on beanbags, you know.

Beanbag meditation

This one totally is, though. I wouldn’t have it any other way.

1.

Two-and-a-bit years in pharmaceutical PR had left me jaded. The day-to-day work that could be done by a shell script (or, more likely, just not done at all), endless meetings, useless project management, incompetent clients, Kafkaesque performance reviews, bullying, railroading. Having to use the same piece-of-shit computer every goddamn day. I wanted things to be done better; no-one wanted to hear it, because doing things better would mean less tedious administrative work, and without that, how are you supposed to get your junior employees to ‘pay their dues’?

Going for Makers Academy was a stab in the dark. Was it worth the money? Would I enjoy being a developer? Hobbies often don’t translate well into jobs. Just because I’ve dicked around with the command line in my script kiddie days doesn’t mean I’ll enjoy being a professional dev.

Some of the work was done for me. 80,000 Hours, a spin-off of the Oxford Future of Humanity Institute that tries to get people to take careers that will do the most good in the world, very kindly offered me a career consultation.

We walked through the things I cared about and the options I was considering, did some research, and found that Makers looked like a near-perfect option: it leads to an interesting career that I’d likely stick with, with high earning potential as a software engineer (virtually uncapped if you include tech entrepreneurship), plus possible direct altruism through working on social enterprise.

I described the course to my father. He’s unconvinced that tech is the right endgame – business would be more suited to me, he says. But he called Makers a “must do”; a no-brainer.

Shortly after my entry interview, I signed off the single largest payment I have ever made.

And as is often the case with the big life decisions you deliberate over for months, you suddenly wonder: “why did I wait so long?”

2.

Makers Academy makes big promises. “Learn to code in 12 weeks”, shouts their site’s strapline. Eccentric and brilliant lecturer Enrique quickly pours cold water on our hopes. “Just to check, how many of you think you’re going to be awesome developers after twelve weeks?” No hands go up. “Good! I’m glad you’re all so realistic.”

The course is intense, but the level of effort is normalised by everyone else’s resolve, and by the energy of the place. Students and teachers routinely arrive before nine in the morning and leave after seven at night. No-one’s commitment is in doubt. Everyone is routinely out of their comfort zone. Everyone is here to work hard, and master a new skill. We are told, repeatedly, to expect to feel stupid, every day, for twelve weeks.

That social hack alone – that you get more shit done in a place where you’re shoved together with other smart, determined people than teaching yourself from a book or at a distance – makes the course fee worth it. Add to that the structured learning environment, learning from and teach other students, pair programming and one-on-one support and feedback from seasoned developers, and you have a formula for mass-producing junior devs ready to start their apprenticeships in tech.

Think of it as like getting your driving licence. You’re not nearly done learning to drive when you pass your test – you’re just beginning. But you have the basic skillset, the confidence, and the clout to be able to strike out on your own and guide your own development from then on.

3.

Of course, feeling ‘stupid’ isn’t quite the right description. It’s more like the feeling you get when you start something as a complete beginner. You lose the heaviness and comfort of the thing you know you’re good at, only to have it replaced with the lightness of starting something new, of not knowing what to expect, of the standard that will be expected of you by your teachers and your peers.

The cohort is more diverse than I expected for a tech bootcamp. Ages range from 19 to 40, averaging 27 at a guess. A quarter of the group are women – far higher than the tech average. Backgrounds include business consulting, project management, PR of various sorts, marketing, sales, academia, design, with a handful coming straight from university or high school.

A few are looking to start businesses straight after graduating, but most, like me, have quit unfulfilling jobs to pursue a better life. One of the students comments to me that it seems almost unfair that you could be paid money to do something this fun. I’m inclined to agree.

(To be continued.)

I know I don’t know what I want

I’m trying to be more open to the idea that I don’t know what I want. It’s easy to get swept up and inherit other people’s values wholesale; pause for a moment to reflect on what you really want, or how to find that out.

To be mature you have to realize what you value most. It is extraordinary to discover that comparatively few people reach this level of maturity. They seem never to have paused to consider what has value for them. They spend great effort and sometimes make great sacrifices for values that, fundamentally, meet no real needs of their own. Perhaps they have imbibed the values of their particular profession or job, of their community or their neighbors, of their parents or family. Not to arrive at a clear understanding of one’s own values is a tragic waste. You have missed the whole point of what life is for.

—Eleanor Roosevelt

Fail more.

I saw Neil Gaiman speak recently. He was as eloquent on stage as you’d expect, and an answer to one particular audience question reminded of a New Year Wish of his:

I hope that in this year to come, you make mistakes.

Because if you are making mistakes, then you are making new things, trying new things, learning, living, pushing yourself, changing yourself, changing your world. You’re doing things you’ve never done before, and more importantly, you’re Doing Something.

So that’s my wish for you, and all of us, and my wish for myself. Make New Mistakes. Make glorious, amazing mistakes. Make mistakes nobody’s ever made before. Don’t freeze, don’t stop, don’t worry that it isn’t good enough, or it isn’t perfect, whatever it is: art, or love, or work or family or life.

Whatever it is you’re scared of doing, Do it.

Conversely, if you aren’t failing, you are seriously underestimating the extent of your skills and how far you could be stretching yourself.