25 years ago today – The start of an interesting career

A quarter of a century ago I started my first full time job at IBM. August 13th 1990. I had a sandwich year there doing the same job but this had more permanence about it. Indeed it was pretty permanent as I stayed at that same company for 19 years.
The tech world was very different back then. It was much simpler to just be a programmer or just be a systems administrator etc.
We worked on green screen terminals like this.
IBM 3277 Display
They were dub terminals, no storage, just a command line CRT display. Everything was run and compiled remotely on the main machines. That doesn’t seem strange now as we have the cloud as a concept, but when you had cut your teeth as I had on home computers it was a strange experience. Scheduling batch jobs to compile code over night, coming in int he morning to find out if you had typed the thing correctly.
We had intercompany messaging, in a sort of intranet email system, but it was certainly not connected to the outside world and neither were we. We did have access to some usenet style forums internally and they were great sources of information and communal discovery. There were a few grumpy pedants but it was not a massive trollfest
As a programmer you had very little distraction or need to deal with things that were above your pay grade. The database admin and structure for instance, well that someone else’s role. Managing the storage, archiving, backup etc all different specialist roles.
The systems we built were huge, lots of lines of code but in reality we were just building stock control systems. They were mission critical though.
After writing some code, a module to meet a specific requirement we had code inspections. Groups of more experience people sat and read printed out listing of the code, checking it for consistency and formatting even before a compile job was run. It was also a time to dry run the code but, sitting with a pen and paper working out hat a piece of code did and how to make it better or catch more errors.
we wrote in PL/1 a heavily typed non fancy language. It changed over time but there were not many trick to learn, not funny pointers and reflection of variables. No pubs messaging or hierarchy problems. It was a great way to learn the trade.
Very rapidly though this rigidity of operation changed. As we moved over the next few years to building client server applications where the newly arriving PC’s had things they could do themselves, drag and drop interfaces like OS/2 (IBM’s version go windows). I generally ended up in the new stuff as, well, that’s what I do!
We had an explosion of languages to choose from and to work with, lots of OO smalltalk was all the rage but we were busy also doing C and then C++ as well. Then before you knew it, or before I knew it too, we had the web to play with. From 1997 on everything changed. It started with a bit of email access but very soon we had projects with proper access to the full inter web.
Building and creating in this environment was almost the polar opposite of the early years of small units of work and code inspections. We all did everything, everywhere on every platform. Scripting languages, web server configs, multiple types of content management, e-commerce products, app server products, portal products. We had Java on the backend and front end but also lots of other things to write with, rules based languages and lots and lots of standards that were not yet standards. Browsers that worked with some things, corporate clients dictating a random platform over another which we then built to.
It was a very anarchic yet incredibly interesting time.
The DotCom bubble burst happened quite naturally, but that did more to destroy a lot of business models and over eager investment. For the tech industry it actually helped slow down some of the mad expansion so we could all get to grips with what we had, it led ultimately to people started to connect with one another and the power of the web for communication.
Of course now we are gathering momentum again, lots of things are developing really quickly. The exciting buzz of things that are nearly mass market, but not quite, or competing platforms and open source implementations all competing to be the best pre-requisite for your project.
Everyone who does any of this need to be Full Stack now. For those of us who grew with this and survived the roller coaster it is a bit easier I think. Though not having those simpler times to reflect on high actually be a blessing for this generation. Not think they are not supposed to be messing around with the database because that’s not their job might be good for them.
One thing is certain, despite some nice cross platform systems like Unity3d the rest of the tech has not got any easier. Doing any new development involves sparking up a terminal emulator working just like those green screens back in the 90’s. Some interesting but ultimately arcane incantations to change a path variable or attempt to install the correct pre-req packages still flourish under the covers. If thats what you came from then it just feel like home.
Doing these things, as I did today installing some node.js as a server side scripting and a maven web server and then some variants of a java SDK followed by some security key generation it certainly felt like this is still an engineering subject. You can follow the instructions but you do need to know why. The things we do are the same, input process output with a bit of validation and security wrapped around. There are just so many more ways to explore and express the technical solution now.
If I was me now, at 18 entering the workforce I wonder what I would be doing. I hope that I would have tinkered with all this stuff as much as ever, just had more access to more resources, more help on the web and probably known a lot more. I would have been a junior Full Stack developer rather than junior programmer. Oh and I wouldn’t have to wear a suit, shirt and tie to sit at the desk either 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

jAIzT 0m

Please type the text above:

This site uses Akismet to reduce spam. Learn how your comment data is processed.