25+ years experience building web apps
I built my first commercial web application in 1996 using Perl and have building web applications ever since
These web apps have served thousands of users and generated billions of hits
Over the years, as client apps were slowly separated from backend servers, I have gotten to use numerous frameworks - including Dojo, JQuery, React, Angular, Vue and Polymer to name a few
Nowadays, my weapon of choice is React - mostly because of its dominance in the resource pool
14 years experience building mobile apps
In 2010, I co-founded a mobile app development business called Genie Mobile - by the time we sold the business, in 2015, we had published over 1500 mobile apps
Back then there weren't any (good) frameworks, so we build natively for iOS, Android, Blackberry and Windows Phone
Nowadays, there are frameworks to developing cross-platform mobile apps - and I have built extensively using React Native and Flutter
In 2019, I co-founded Opsbase within which we built a comprehensive and widely used mobile app using React Native and GraphQL - though today, I'd consider Flutter as a strong candidate
From GofAI to GenAI
The AI I worked with during my BSc in the 1990s is now affectionately known as good-old-fashioned AI (GofAI for short)
In the 2000s, AI shifted to embodied robotics, Artificial Life, genetic algorithms and complex systems resource
In the 2010s, computing power breathed new life into neural networks in the form of deep learning and ML
Now though, in the 2020s, we are entering the age of generative AI (Gen AI for short) and a new paradigm development - prompt engineering
Like many, I am devouring the new tools (OpenAI's API, LangChain, AutoGPT, AutoGen and many others) as well as architecting my own agent orchestration frameworks
A truly fantastic time to be a developer
25+ years building backends
Up until around 2007, most web applications were SSR based - with no clear separation between Client and Server
Nowadays, the client app (web or mobile) tends to communicate with the server via an API tier - usually REST or GraphQL
Building and securing these APIs can be achieved in numerous ways - from monolythic Java bohemoths to serverless lambdas
For the past few years, I have chosen GraphQL served through AWS AppSync as my API framework of choice
From towers in the garage to serverless clouds
Back in the day, there were no cloud providers. In fact, there weren't any kind of providers. If you wanted to host a web application back then you would have to build your own hardware and hope the internet stayed up
Quickly this matured into managed facilities with good networks - my ecommerce business, for example, was eventually housed inside a nuclear bunker in Newbury
Over the next decade, the market further matured and big tech started to offer their infrastructure as a service - this became known as the cloud
Although I have strong exposure to GCP, Azure and AWS - nowadays my provider of choice is Amazon
Environments, deployment and automated tests
Over the past decade or so - dev ops has matured into a rich field of its own right
Numerous tools and approaches are available for automatically testing and deploying changes to your web and mobile applications
Most recently I have started to adopt AWS Amplify for managing the deployment of my projects' code and infrastructural updates
This one-stop-shop allows me to spin up entire environments with a simple click of a button - a far cry from the bad old days when creating an environment would potentially take weeks.