New Job28 August 2013
Today I formally accepted a job offer. I will not mention the company name, but I will reveal that the job is as a Python developer, and although the role is within Europe it is not within Britain. This goes against my intention of securing a job within New Zealand, but given the circumstances I decided I was better off cutting my losses and building new foundations. It at least satisfies my desire not to live under the increasingly authoritarian tendencies of whichever failed set of used car salesmen happen to inhabit Westminster, and I have much more faith in the inflation-proofing of the Euro than the Pound Sterling.
Securing the jobGiven my experience of how long job applications take to filter though, my original intention was to line up job interviews for when I was due to return to the UK, as pretty much every plan I had involved spending at least some time back there. I had only just finished creating a CV that was suited to the British job-market rather than the New Zealand one, and my new company happened to pop up on my radar. As it happened, it ended up being one of only two European jobs I applied for.
I am very conservative in what is acceptable to claim on a CV, and this view extends to job applications. I suspect this honesty has cost me in the past, but I work on the basis that a job obtained on the basis of complete bullshit is likely to end badly one way or another. Having said that, I think what I stated about my Python experience to secure my new job was close to the boundary of what is acceptable, with the line I took during my interview being that I used it for prototyping purposes. This is certainly true for the first project I worked on at my previous company, although since then I tended to use it mainly for scripting purposes rather than day-to-day use.
Mercifully the (Skype) interview questions they chose to sample my knowledge of Python with were ones I was able to cope with. Only two areas where I tripped up were Python Decorators and calling of ancestor class constructors. For the former I stated that although I had not used them in Python, I had used them in C# where they alter the run-time environment (actually incorrect - I was thinking of Attributes), and for the latter I gave a valid but archaic method (forgetting that
super() is valid Python as well as Java). I suspect I was partly saved by various remarks into Python 2.7 versus Python 3 (and Python in general) that only someone who has used the language in anger would appreciate.
Questions on stuff like iptables and Linux start-up scripts I got through as if they were snacks, but it later became pretty clear that the company was the type that would score very highly on the Joel Test, which is a somewhat stark contrast to my previous company. I was convinced that this lack of proper coordinated use of both tools and defined processes would lead to my rejection, but as-is I had an offer in my e-mail inbox even before I got back from the pub (the interview ended circa 22:30 NZ time).
Dirt on previous jobAlthough I have in the past hinted at dissatisfaction with my previous company, I have for obvious reasons (i.e. job references) decided not to burn my bridges, but looking back I see how close to my ideal job my time there actually was. In fact the responsibilities I had were vastly in excess of my pay grade, but that came with the perk that I experienced stuff within 18 months that most people would have had to wait 3-5 years for. Another benefit of the freedom, albeit it had limits, was being able to choose implementation approaches that had as much to do with building up my own experience as getting things done. Using Python was one of them.
The fundamental problem the company had was it being a small enterprise operating in an exceptionally unfavourable economic environment. Being the credit crunch, it was small fry like my old company that were left to fend for themselves, which was made all the worse by up-front costs coupled with payment-on-delivery. And don't even mention various leeches like the local council who wanted stuff like business rates to be paid regardless of means. Such companies have to live dangerously, and for people like me way down the food chain that means having a form of planning that borders on gambling. Eventually I could feel my motivation starting to crack, as I was foreseeing ever more fire-fighting from having to hammer the existing business logic into scenarios it was not intended for. The company eventually recognised that a major code refactoring was needed, but by that point I had mentally given up.