Scared about your programming job?
I've seen a lot of chatter around chat GPT and a bunch of doomsday prophecies about how it will make programming jobs obsolete.
This is not entirely true.
Will it change how we work? Yes, but that's software for you. If you look at the history of how this field has evolved over the past 100 years you'll realize that things never remain static for too long.
My father started out his career writing programs during the tail end of the punch card era in the 70's. Anyone who worked in that era probably reminisces about writing programs on hundreds or thousands of punch cards, manually sorting them and then standing in line to execute them on a shared computer (no PCs back then!). Made a mistake in your code? Or worse, get the sorting order of your 1000 cards wrong (yes, that was what a derp moment looked like back then)? Well, to the back of the line for you buddy! And next time, GYSOR (get your sorting order right, the modern day equivalent being RTFM).
As higher capacity storage emerged at a reduced price, we saw the rise of assembly languages and the phasing out of punch cards. What a relief that must've been for kids straight out of college and just getting into software development. No more punch cards! Conversely, it must've been absolute torture for seasoned punch card programmers, especially those highly skilled card-sorters who now found their card-sorting skills to be obsolete!
Recommended by LinkedIn
Then came programming paradigms such as imperative and functional programming (started around the 50's), and you can imagine what that did to the poor "college kids" from above (now seasoned assembly programmers). The loss of direct control on the underlying resources of the computer must've been disorienting. Conversely, the new college kids during this era benefitted from writing code that was more abstract in higher-level languages like COBOL and Fortran. With the ability to write more complex programs that were more human readable without having to know much about the underlying hardware, programming was now mainstream!
Then came object oriented programming (C++, Java) which, again, displaced some of the imperative and functional programmers of the time. It's also the era that I was first introduced to programming and decided to make a career for myself. When I started out in 2011, Service Oriented Architecture and well-maintained monoliths were the norm. I used AWS purely for VMs, self-managed a lot of platforms (like kafka, zookeeper, couchbase, etc that today are all cloud managed resources) and I didn't use docker until 2018. Wanna know what my pet peeve is about cloud managed resources? I feel disoriented when it comes to debugging what my deployed system is doing. The increased dependence on third party paid systems like datadog or cloud logging/monitoring tools that integrate with said cloud managed systems, is not something I like. And don't even get me started on microservices!! RABBLE RABBLE RABBLE!!!
Anyways, the point I'm trying to make is this - how we work with computers (punch cards, assembly languages, programming languages, the "cloud", AI(?)) has been changing and will continue to change for years and decades to come. The one thing that will not change in the realm of software will be - problem solving. And by that, I don't mean leetcode. I mean recognizing a general problem that a sizable collection of people are facing and designing and implementing a system that solves said problem. If you're good at that and you enjoy it, then you should be excited about Chat GPT and it's advancement. It will help you get to your objective of "solving the problem" a lot faster and allow you to get more done in a shorter span of time.
A lot of this article was written using Chat GPT. What's my contribution as the human? The humor and my personal experience.
Great share Vivek!
aaand, it's down.