Member-only story
How Going Back to Coding After 10 Years Almost Crushed Me
Everything in software engineering has changed within a decade
I was a hands-on technologist 20 years ago, turned to management ten years ago, and am now hands-on again as a consultant. I’m amazed by some changes and surprised by others. Here is a basic rundown of what almost caused my early demise.
Unix Is Back for the Developer (Silver Lining)
In the ‘80s and early ‘90s, a lot of professional software was developed on expensive Unix workstations like a Sun Sparc or NeXT Station. By the ‘90s, WinTel took over and everyone was coding on Windows with big vendor tools like MS Visual Studio or a few open offerings like Eclipse, while Linux was still a bit hobbyist on the desktop.
I was at a startup in 2001 and one sole developer used Linux and had to struggle without any access to Source Code Management (SCM) tools and Outlook email. He used to email us code and ask us to check it in for him. I recall I used XEmacs back then — yes, classic times.
Fast-forward to now. Unix is a very popular dev platform — especially on Mac due to its Unix core — and Linux on Windows exists as well (WSL). This was the one area that was easy for me to get back into. It is funny that some of my younger peers barely know how to use Windows and are a lot stronger on Linux/Unix!
Release Managers Are Gone
Back in the day, branching, merging, and resolving conflicts was a horrible job that sometimes required the expertise of a release manager. Back when the goliath SCM ClearCase was popular, it took a huge team to maintain and manage branching, merging, and releases (at least based on my experience at HP in 2002).
The concept of a self-managed pull request (PR) is actually quite new and apparently came out of Linux dev and the new wave of distributed SCMs like BitKeeper and Git. Being able to make a request to merge in a workflow is something older systems like ClearCase, CVS, SVN, and PerForce didn’t really have. You had a repo owner or release manager who may have done this or each developer did it themselves. This has really streamlined and empowered users to collaborate on their own.