State of NZ's IT sector

04 September 2013
Today I met up with a Kiwi friend and given our mutual interests a topic that kept on coming up was the state of the IT sector and what technologies are in and out of favour. Compared to him my attitude was that someone should pick a few specific languages/technologies and focus on them, rather than fall for the business-school delusion of being a generalist. I did not query too closely about my friend's prior experience, but I got the distinct impression that our relative views were due to me having chalked up a few years of full-time salaryman-type software development, whereas he had done freelance instead. Companies only care about commercial experience, regardless of the quality of this experience, which is why unlike him I think learning completely new languages is a waste of time.

Throughout my time at university, like many contemporaries, I used at various stages just about every mainstream programming language there is, as well as quite a few fringe ones. This leads onto the academic-propagated belief that programming languages are a minor detail, when in actuality they are quite significant, as it is not just familiarity with the syntax that matters. Even though I was a polyglot coming to programming languages, around 2009 I decided that I should concentrate on two (C & Python), as I correctly concluded that depth matters more than breadth. Of course commercial experience is always ranked above everything else, which is why it is a waste of time learning anything about a language you cannot scrounge up an morsel of commercial experience of.

Forget freelancing

I suspect this is not New Zealand specific, but I have heard bad feedback from people who worked freelance and then tried getting full-time jobs, and this includes people who worked full-time beforehand. Most recruiters are only interested in what you did at your last company, and side-effect of this is that they want 1-2 references rather than bother looking over a portfolio of freelance work. One of the stories I came across was someone who had done prestigious things like work on Avatar (quite likely via Weta), but had since decided to go freelance for 2 years. Since then they've not been able to get any work, presumably because companies these days assume freelancers are a form of job-hopper, and in any case contractors are always the first to be led to the chopping block.

This highlights the extent that having a sizeable and continuous recent-ish period of employment is important, and it highlights my motives in accepting a job more for getting back on the work experience ladder rather than financials. I was going to consider myself lucky to have job interviews to go back to, never mind an actual job offer, and that means I at least have a base upon which to rebuild my life.

Contacts

The Who You Know culture might be a common gripe in EnglandLondon, but in New Zealand it is taken to a new level of magnitude. If there was one thing I got right as soon as I got to New Zealand, it was being extremely pro-active in building up a network of contacts. Problem is that this takes time, and for me this ran out at the point where I was on the cusp of getting something out of it. Of course cultivating such networks is a delicate process, and it can easily be 3-6 months before you are in a position where you can reap rewards, but it is by far the best way to go.

What's In and what's Out

C programming is basically just
embedded programming, where companies are very prescriptive about experience with specific chip-sets. While my C experience does include some quite in-depth systems-level and serial line programming, it is all still fundamentally for Intel-equipped hardware, and C programming for the latter is simply not in demand. Very annoyingly my previous company did do some embedded C programming on DSP chips, but I was never able to get my hands on any of that work. C++, at least if you exclude the more suspect-looking agency-sourced job adverts, is mainly high-performance graphics programming (mostly computer games), which is something I'm not sure would interest me these days.

A lot of stuff in Wellington (and to a lesser extent, New Zealand as a whole) is web development, so stuff like Ruby on Rails and Active Server Pages are popular, but I think I'm now way beyond the point where its worth my time looking into them. Python (probably in no small part due to Django) and .NET (especially C#.NET) seems to be the two things vaguely relevant to me that are on the up.