Sometimes it pays to stay in bed on Monday, rather than spending the rest of the week debugging Monday’s code. — Christopher Thompson
I was listening to the Orb song little fluffy clouds and it made me think of what development was like when I was young. Whilst on lockdown and working from home, it highlighted how much the world has changed for developers.
I have been a developer and other roles for the last 20 years and the development process has changed a lot, my knowledge has grown and no code solutions are on the rise.
Starting off as a developer is tough because everything is challenging and you have no knowledge or skills to help you. The only way to improve is to try fail and learn.
You start off getting stuck every 10 minutes and keep asking your colleagues question, slowly you improve and make fewer mistakes.
Here are some of my memories from 10 to 15 years ago when I was an eager junior developer
Builds used to take hours and sometimes the best part of a day. Due to the length of the build we only released once a month or some ridiculous length of time.
I worked for smaller companies to begin with, so we didn’t have time to automate the build, this was only something I read about. Why I didn’t invest time in this area is mystery, but then no one else did either.
Build and releases were lots of manual tasks, tick lists and fixing odd bugs.
Setting up your development machine
Once you set it up and got it working, DO NOT CHANGE IT.
I remember new starters trying to setup a new machine and wasting days with it not building, no one could remember what they had done to setup their machine.
Everyone’s development machine was different.
Servers were real servers that sat somewhere in the building.
There were no online services.
MVC was a big thing, it was the coolest thing in town.
For Java work I started off using Struts and then moved onto Spring. I say framework, what I mean is a bunch of xml files which you configured a few things.
I remember having my Tomcat server to host the pages on my dev machine.
You could hit with merge hell at any time and this was a serious problem. It would take hours to resolve all the merges.
I think the reason merging was more painful was because we merged the code every 3 or 5 days. Not every day like we do now.
There used to be big debates on formatting your code. Do you put the bracket on a new line.
The use of Indents could involve discussions with multiple developers for hours. The end result would be everyone would go back to their own way of doing it.
We connected to databases in the code with ODBC connections. Every needed to know SQL and be willing to create tables and write queries.
Blogs and the internet
When I started out you were lucky if there was one blog post on the topic. Now there are blogs, documentation, walkthroughs, videos and online training courses. The barrier to learning isn’t a lack of material, it’s a lack of time.
The lack of information made integrating and using new tools tricky. I remember trying to get things to work and struggling to get samples to work.
The plus side was you had to learn to do things yourself , instead of having the answers given to you and the code to copy.
At the early stage of your career the books you read can make a big impact on the way you see the world.
I remember reading Effective Java and it blowing my mind how professional and skilled a software engineer could be. To design simple code which could manage dependencies and be reused was great. This book showed me how far I had to learn to become a good software engineer.
Other influential books
For more recommends read the blog post below
I first saw Visual Basic at version 5 but it became big with Visual Basic 6. Visual basic mixed a GUI front end with code. You could quickly create an application quickly.
Creating web pages with Java or ASP.NET was painful, everything was very manual.
The downside is the language was like writing Excel formula’s, which would turn into chaos if you the application grew in size.
I’m sure there are some Visual Basic contractors making a good living supporting applications written in Visual Basic 6.
Writing code is difficult, writing it in Visual Basic 6 was verging on impossible.
The developers used to sit together in the same area, a developer zone. In my first few jobs I worked for companies who developed products. We didn’t have noisy open offices, we had areas where the different teams would nest.
In early teams I worked in there would be one or two moody developers who wouldn’t talk to anyone. They would be given work and a week later that work would be done and they would get more.
Every company would hire one nutter, who happened to be developer. This would be a rich source of amusement and gossip in the company.
There were no agile teams, daily stand ups and noisy open offices.
Working from home
This didn’t exist, it wasn’t an option. The first few jobs had desktops, and it wasn’t until 2008 I got a laptop. You can’t work from home with no internet and your computer is a big fat tower desktop machine.
Friday was going down the pub at lunchtime. Having a pint and some bar snacks.
I’m not saying it was better, I am saying it was different. What strikes me is my lack of knowledge and how difficult it was to know what to learn and find resources to learn it.
Getting things to work was a fear and a motivator, it shows how reliant we have become with the internet. It highlights how great the developer community is and how much knowledge we share with each other.