When I was around ten years old, I made an application in a programming language called Clipper. My dad worked for a bank and he needed a specific piece of software which would perform some rather simple tasks. Remembering that his son was very much into programming, he decided to ask me.
Since this bank was using dBASE III, he directed me to Clipper. I honestly had no idea what I was exactly making because at ten years old, it’s quite hard to understand the inner workings of banks and their database systems. But my father just described what needed to be done with data he provided and with that, I was able to build him a really basic application.
It was a magical feeling: I had just created my very first useful application (the other things I used to work on were mostly very primitive games in BASIC) and it was actually used by other people than me. Because of all the excitement this created in my ten year old brain, I didn’t sleep properly for about a week. And when my father mentioned that his colleagues found my creation really handy, I was extremely proud. The sky was the limit.
The Tulip PC computer my dad had bought — for an at that time insane amount of money — became my best friend and we were pretty much inseparable. In the years that our friendship lasted, I made tons of small applications and games that were developed in languages called QuickBASIC and Turbo Pascal. Every week I went to the library to try and find books that would teach me more about these languages and after a few years I knew for sure: I wanted to be a computer programmer when I grew up.
Fast forward to the 90’s of the previous century. I finished school and went to study to become a librarian. This might seem a bit odd given the fact that I really wanted to be computer programmer but there was this rather new thing that I found even more interesting than plain software development: the internet. And there were no studies yet that did anything with this new technology, except for — you guessed it — the study to become a librarian/information specialist.
A friend of mine had started his own hosting company and he showed me that scripting languages like Perl and PHP were able to generate webpages. I immediately felt like ten years old again: the possibilities were unlimited and I think I hardly slept for a month. I delved deeply into PHP (which was still at version 3) and again felt in love; this was going to change the world and I wanted so bad to be a part of it.
About a year later, I had built this chat application for a band I was in at that moment. Because every bit of code was my own, I was able to add tons of (incredibly stupid) stuff to the software and I had the most fun I’ve probably ever had with developing software. I could for example give users “diseases” that would make them stutter, talk in German or just reverse their entire sentence, which led to some quite hysterical situations. Again I felt like the sky was the limit.
In the years that followed, I started my own software development company. Seeing how many people had problems getting a website up and running, I decided that these things called “Content Management Systems” were probably something that would become a big thing in the not too distant future. I was right.
At that time my younger brother also became a developer because the study he chose to go for in the first place, did not turn out to be something he really enjoyed. So I taught him the basics of programming a computer and soon after that, he joined the company and we started working on our first content management system, which we sold to a university in the Netherlands.
At that moment, things started to change. We made a content management system but we were definitely not the only ones to do so. Eventually the university found a bigger software company (which had hundreds of employees instead of just two brothers fixing everything) and our creation was phased out. So we moved into another direction, which was mostly adult software involving webcams. Don’t worry, I won’t bother you with the rather carnal specifics of this particular industry.
Around 2009 this whole being an entrepreneur thing could not excite us as much anymore as it did ten years earlier. We decided to liquidate the company and find jobs in other companies that we did not run ourselves. We both ended up in the web hosting business and soon things started to change drastically. Where we were able to build entire applications from scratch in the past, we were now forced to work with existing software.
And working with existing software meant that there was hardly anything new to be developed. Most of the work we did was just fixing other people’s mistakes. Or as it’s known in the industry: debugging. This was also around the time when frameworks started popping up all over the place. Instead of creating your own implementation, you were now able to take pieces of code that were developed by someone else and would build upon that.
Fast forward another ten years to 2019. I’m still a software developer working with languages like Python and PHP but I don’t feel like a developer anymore. I feel like a maintainer. The moments where you actually get to develop something from scratch have become incredibly scarce and about 95% of my work consists of fixing problems. And if you do get to make something new, your first step nowadays is to pick a framework which will be used to build on.
Don’t get me wrong, there’s absolutely nothing wrong with building software using frameworks. They shorten development times by a lot and since you’re working with building blocks that are also constantly used by other people, things like bugs get squashed far more easily. But the inherent magic and the feeling of building an entire application yourself, have completely disappeared.
And they will never return... I won’t go all sentimental about this but I do feel a bit sad for people that started programming computers rather recently; not knowing the feeling of true accomplishment or being able to find clever solutions on your own because you just install a pre-made framework, is something that has definitely taken a lot of joy out of creating software.