Wednesday 13 January 2016

The end of ColdFusion

Yes, that is definitely a click-bait headline. But in the context I'm talking about, it's correct.

Today my employer switched off our ColdFusion site, replacing it with the remodeled PHP one. So that's the end of the CFML chapter of my programming career. I'm now a PHP (and JavaScript) developer. In all honesty, I've not written a line of in-production CFML code for the better part of a year now, although I was still having to look at the old code base occasionally, as recently as a week or so ago. But that's it: it's history now.

I started with CFML (on ColdFusion 4.5) in 2000: I went the stereotypical route of being "the IT guy", and was put in charge of maintaining our "WWW homepage". Initially it was flat HTML, which I edited with initially FrontPage, but increasingly just by hand using... I can't remember. Probably "HotDog" or something. My boss saw this was not scalable, nor did it meet our aspirations for where we wanted to go. So he sent me off to do the Fast Track to ColdFusion course at our local training company. It was dead easy, and seemed bloody good with all the "tags that just slide in adjacent to the mark-up". What little dev I had done at that point was a bit of C, some telecoms scripting, and dBXL reporting (dBXL was a dBase III clone). Oh and some printer driver programming (not writing drivers: talking to them). Thinking about it I was more polyglot then than I am now!

I never actually did anything with CFML in that particular role, but I soon got offered a job as a CFML developer at Straker Interactive (since changed to Straker Translations). That was the moment I shifted from being "the IT guy" to being a full-time developer. Although I still shared the job of maintaining the servers too.

It was at Straker that I learned to be a pretty bloody ordinary developer. I'm not pleased with much of the code I wrote there, but it was early in my career, so fair enough I guess. I stayed with Straker (first NZ, then UK) until 2009, flirted with Pixl8 briefly, and have been at (now a brand of HostelWorld Group) ever since.

When HostelWorld subsumed HB, we were advised we were sidelining the CFML codebase, and rewriting the main site in PHP. So I had the option of becoming a PHP developer (the alternative being: find another job). I had been trying to work out an exit-strategy from CFML for a year or so, so this was actually good news. Well: shifting to PHP is not what I would have picked as a career direction, but as long as it was away from CFML, it was a win. Back to the headline: like it or not, CFML is a shrinking environment, and it's a career dead-end, IMO. Yeah, there are jobs out there, but ever fewer, and more and more are just maintenance coding. Adobe really only offer lip service to ColdFusion (and that includes most of the ColdFusion Team), and Lucee is trying really hard, but doesn't really seem to be going anywhere much. Unfortunately. So, anyway, I had wanted to move from CFML and this was a good way to retrain without taking a salary cut.

Most of "being a developer" is not what language one is typing into the keyboard, it's the thought processes and practices. Both development practices, and work practices (like Agile and the like). And PHP is pretty similar to CFML. In some ways PHP is ahead of CFML; in other areas it is behind. And it's a god-awfully ugly language. But the PHP community is awesome, and huge compared to CFML's, and there's a lot of great PHP projects out there, which smooth off a lot of PHP's rough edges. As a result of this, I think I'm probably a half-way decent PHP developer now, even if I spend half my time googling what order the arguments go in for preg_match(). That said, I was still always googling for what order the arguments went in for dateAdd(): so the more things change, the more they stay the same.

Just a quick thanks to Glenn O'Leary for putting me on the CFML train the first place, and Glenn Wright and Grant Straker for seeing to it I got my foot in the door. Thanks to Tim Jenkins for helping me shift to the UK to continue with Straker there, and Alex Skinner for keeping me sane all these years. Thanks also to Scott Mayes and Simon Baynes for reading my cold-call CV and giving me the job at HostelBookers, and to Marc Garner and John O'Donnell for giving me the chance to migrate to PHP. It's excellent that me mates Duncan Cumming and Brian Sadler made the shift from CFML to PHP with me, and all the lads on the new PHP Team here: you're a bloody good team.

As for this blog... I still use CFML as my baseline language for working-out general stuff, as I can code in it without thinking. More and more I'm using PHP and JavaScript for that though. And once I get Fallout 4 out of my system, I intend to make myself look at other languages more in 2016. I'll still be in the CFML Slack channel, and on the ColdFusion 2016 Pre-Release Programme.

This is the end of a 14-month project.

As I type, the old site has just now been switched off...

... and the new site is up...

So hopefully it stays up, and we don't have too many teething problems...