N+1

Posted on September 2, 2009, under coding, general.

I rarely write introspective or meta blog posts, in fact I rarely even use the word “I” on this blog (one of the habits you should develop as a manager or team-member is to use the word “we” almost all of the time) … so I hope you’ll forgive this brief, obnoxious, self-centered, round-up of the last year. I’ll try to smatter it with some useful observations to make up for it.

Today it’s one year since I started working for Amazon.com, and officially moved in to my new place and hence back to Dublin. Before that, I’d been spending most of my time in Amsterdam and traveling. By just September last year, I’d managed 78 flights in 2008. In the year since, it’s been a much more comfortable, and relatively conservative, 24. Some visits to Seattle, New York, New Orleans, Barcelona, Bristol and London keeping me occupied and worldly.

Me!

I’ve learned a lot in the last year, a lot more and in very different directions, than I expected. Amazon turns out to be even more interesting than I had anticipated, and getting thrown in at the deep end early on – with a new Amazon Web Service to help build and support – has been an amazing experience. Before I started, I naively thought that scale was mostly about understanding distributed systems problems and performant designs. It is about those things, but not mostly.

In reality (well, in my opinion) the hard problems of scale are the incredible attention to detail and testing it requires, because when your rapidly-changing code is handling billions of requests – even a tiny fault that is triggered on one in every million requests will get you paged in no time at all. I’m not sure that there is any other way to learn it than having to support it for real. I recommend it.

I’m getting a chance to work on stuff I enjoy, building some big things and making some important and critical code go really really fast. It’s always nice to feel that features exist – that the universe is different in some way – because of work you’ve been involved in. That should always be the measure of progress; “How has the universe been changed?”, everything else is meta-work.

I am learning technical things at Amazon; when I started I had never written a line of perl, now I’ve written entire perl frameworks, a very basic perl compiler, a bytecode analyzer, perform low-level code-reviews, and teach perl once a week. The experience has reinforced my opinion that the notion of “knowing programming language X” is itself a broken anti-pattern.

That said, Perl was comparatively difficult to learn. Coming to it with about 15 years programming experience in many languages, it still took about 5 weeks to become proficient in it to the point that I really understood all of the magic symbols, operators and patterns in front of me at a fundamental level. At a guess, it took just 2 weeks to reach the same level of proficiency in python.

But that learning is self-driven, the real learning experience at Amazon is how things are organised and managed. How a huge multinational can structure and orientate itself such that things can happen incredibly efficiently and quickly is fascinating to observe and participate in. It’s like getting a free MBA. I can recommend that too.

On the college front – it’s been a strange year, as it was also my final year doing my BSc. in Computer Science in Trinity College, Dublin. It was tough going, mostly just to stick through it, but I think worth it in the end. Somehow came out with a first class honours degree. I’ve decided not to progress with a part-time postgrad just yet – it seems like a good time to try not doing so much college for a change, but maybe next year.

In the last year, I’ve learned two new instruments, banjo – for the fun of it – to a level where I can now keep up in sessions – and piano – to a lesser level but I can now arrange and play relatively intricate pieces. My place has worked out very well, and a year on I’m still very happy to be living here, it’s ideal. Ups and downs in my personal life in the last year have been extreme, but I’ve learned a lot from those too and am mostly the better for it.

But now that I have some more free time, I have to admit I’m not entirely sure what to do with it. I’m finding things to do with my evenings, and catching up with friends properly, but still have itches to be a bit more productive. I haven’t done as much Apache stuff as I’d have liked in the last 2 years, but the urge to write a webserver from scratch using a more functional programming oriented approach (though not necessarily a lamba-calculus derived language) is strong … and also pointless.

This past year also saw the final, conclusive, victory of sense in the Irish E-voting debacle. In short; we were correct all along, and the system has been completely abandoned. I have to admit it was a bit fun to be able to gloat about it on the radio.

So now … what next for my free time … well maybe you can help. To further compound the impression of arrogance and self-obsession I have no doubt created, it’s like this; I’m pretty clever. I’ve got above average maths, analytical and linguistics skills. I’m an expert programmer/developer and builder of things. I’m a fairly decent musician and photographer with some basic sense of style, design and composition.

Oh god there’s more! I’m politically knowledgeable, and I know how to manipulate the political and press systems and strategise (with a proven track record through two lobby groups). I’ve worked for two start-ups, and I know how to make things happen. I’m a quick learner, and I know that when something is worthwhile, realistic and interesting I can throw a huge amount of effort and pragmatism right at it. I like doing cool things for free, and earn just enough to be able to.

Now all that said, to moderate things I’m also basically an introvert and can be pretty awkward and quiet around too many unfamiliar people, am about the last person you’d ever want to take to a bar (I don’t drink for a start), know close to nothing about popular culture and have read maybe only 4 or 5 fiction books in the last 10 years. So there’s a strong counter-argument that I’m also an illiterate anti-social bore to be kept in mind here too. But thankfully, not a terrible one.

But with all of that in mind, what does need doing? Especially in Ireland/Dublin – because it would be nice to involve meeting people and getting better at that whole social thing. Any ideas? the bigger the better. Any technical, political, or social gaps that really need filling? anybody need some help? What would you, or indeed, jesus do? There are a few ideas knocking around already, I’ll be sure to update when they are more concrete. How should we change the universe?

12 Replies to "N+1"

gravatar

ann  on September 2, 2009

Social suggestion – Cookery classes. Bread-making. Something like that. I think DIT run some.
Mental suggestion – Get stuck into philosophy, sociology. Learn what makes people tick, why some things take off and some go flat, how humans are all just frauds and why it doesn’t matter.
Altruistic suggestion – fix a political party of your preferred flavour so that at least someone in it gives a shit about the bigger picture.

gravatar

Earhart  on September 2, 2009

First suggestion – change the picture.

Second suggestion – DON’T try bread making!

You could join the Shinners and take them down from the inside!
You could go out and actually speak to people – randomers that you don’t know. (My 2 cents)

M

gravatar

froodie  on September 2, 2009

I quite like the breadmaking/cookery classes idea. Making comforting things to eat is quite a pleasant way of making it through the winter. It’s sociable and it’s pushing your boundaries a little.

Teach music?

Also, don’t change the picture. The endearingly dorky look works for you. :)

gravatar

Teragram  on September 2, 2009

Start a political party.

Join a church.

gravatar

colmmacc  on September 2, 2009

@ann Thanks for those!

@earhart – why are you signing off as M? it’s like you’re Judy Dench in the bond movies … which might not be too far from real life really, you are a trained killer who travels a lot after all.

@froodie Teaching Guitar once a week now :-) partially as Gaeilge too. The photo stays.

@mags Political parties require a lot of compromises I’m not happy with, but changing the system itself does interest me from time to time. hinking about it :-)

gravatar

fio  on September 2, 2009

Aside: it won’t take your first name with a capital!

Otherwise — volunteer. Not for high scale “techies v government” stuff, but instead so something like teach a basic computing class to disadvantaged kids. It’s important to do things like this, and it’s another social element, and you’d be surprised the things that kids teach you!

gravatar

pinkymonster  on September 2, 2009

I like the cookery idea. I also think you need to watch vast amounts of tv. But on a more serious note: why not just take time to do not very much for a while. You’ve been exceptionally busy for several years and it can take time to adjust to a new level of busy-ness.

gravatar

Justin  on September 2, 2009

Hey, want a commit bit on SpamAssassin? ;)

gravatar

n+30 Days / taint.org: Justin Mason's Weblog  on September 2, 2009

[...] Colm’s “n+1″ post reminded me that I’d forgotten to write about this. [...]

gravatar

Leo Simons  on September 3, 2009

What an interesting question to ask! Hmm.

There is something to be invented and/or made that makes things like kiva.org or myc4.com radically better. There’s a good chance that this involves some kind of smart technology and/or (social) algorithms. You probably need a very analytical/geekish understanding of economics and society to figure it all out. When you get that idea you probably need to be a very convincing and persistent lobbyist to make things actually happen.

*I* have no idea what this radical improvement is, but you seem like the kind of guy that could figure it out :-)

gravatar

Brian  on September 4, 2009

First off, how about a suitable cliche: change comes from within. Next, the universe is changing all the time, thanks to time and the thermodynamic principles it seems to be stuck with. By the sound of it, you’re already doing more than your fair share to make the changes equitable and human friendly.

In short, relax! Get out to play more. Meet your friends. Work, and all the important things you already do won’t run away :)

If you want to improve the whole social thing you will have to practice, practice, practice. Fortunately, you’re surrounded by millions of avid socialisers. Close the laptop, open the front door, step out – see you soon!

gravatar

cplduf  on September 9, 2009

Why not get the band back together?

Seriously, though, make more music with friends/strangers. Maybe record the music and publish it. Invite friends to your place (or somewhere/anywhere) and let them watch/listen while you and maybe your band mates play on.

Gre

Leave a Comment