Sympathy for the developer
A few months ago, Creative Intellect Consulting decided to build an online portal through which subscribers could get access to some of its quantitative data studies. To keep costs down, we used internal resources to create the portal. I took on the role of developer.
I’ve many years of development experience, and as an analyst I’ve listened to end-users and vendors talk about how to get the best from the latest technologies. While I have continued to maintain a degree of hands-on experience, it had been a few years since I’d done File > New Project in anger.
The experience has been interesting on two fronts. First, the hands-on developer experience of using the latest tools and technologies in a real-world scenario. Second, how it brought to life the challenge of modernisation that those in many organisations are facing in the face of Digital Transformation.
Cloud was nascent when I gave up developing full-time (and clients weren’t interested), but this was a “Cloud Native” application. Working with data and writing code was all largely familiar, it was in the application architecture that I noticed the most difference from building web applications in the past.
There was a point at which I was struggling with an architectural decision and realised that my problem was simply that my way of thinking was outdated. Once I embraced the Platform-as-a-Service philosophy, the answers became clear and I can appreciate how it’s better.
With regards to technology: while there’s much new, a lot is still the same. For example, this was my first experience using Bootstrap. While there was some learning, it’s still a combination of HTML, JavaScript and CSS that I know well. There’s also a lot within the tools and platforms to help adopt new architectures and processes. DevOps is not only well integrated but almost unavoidable.
Perhaps the biggest challenge was navigating the Cloud service catalogue. One can easily start out by choosing the wrong services or be left wondering if another may have been better. There’s the niggling sense that using a service is going to cause a problem if that service is later (or sooner) deprecated. During development, a message appeared in the Cloud portal that there was a new service to supersede the one I was working with.
A factor in decision-making was cost, while some services may seem like a good solution they can be prohibitively priced. While pricing may encourage the use of services that are not necessarily the best.
Returning to development has been an education - and, yes fun (although I’ve no plans to go back fulltime!). It’s brought to life, if only in a small way, the challenges that architects, developers, and operations folks are facing as the organisations they work for modernise. I have a new-found sympathy for their journey but also for how exciting development can be.