State of NZ's IT sector04 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 freelancingI 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.
ContactsThe Who You Know culture might be a common gripe in
What's In and what's OutC 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.