Programming sucks, why "learn to code" was bad advice
Don't confuse this post with the awesome and timeless Programming Sucks, which you should most definitely read. But like that post mine also makes the point: you don't want to be a programmer. I will leave the biggest reason for later, and it is a very big reason.
I've been programming a long, long time. When I got into programming it was fun, I like coding. But as every year went by being a programmer meant a little less about creating software and a little more about working with other people's programs and code - which is not fun in the least. The fun part of coding is the creating part, but every day I get to do a little less of that. It's probably why I started blogging and working on software projects at home, so I could still be creative.
And let's face it, programming is just not fun for most people. Do you really want to be chained to a computer all day? It used to pay well, and a few places still do, but the average programmer does not make that much anymore. Of course the reason until now has been open-source software, which greatly degrades the value of programmers. Open source means we need less code, and needing less code means we need fewer programmers (and thus we get paid less).
Oh before I forget to mention one little detail: programmers are famous for being arrogant dicks who think they are smarter and than they actually are. They also can’t get along, which is why there are more programming languages, frameworks, etc., than anyone would ever need. And they would stop inventing yet another completely different way to present the user with a button.
Back to why you don’t want to be a programmer: AI. Check out this code Claude.AI wrote for me. If you don't feel like clicking the link here is part of it, sorry it’s kind of long scroll down to skip. The point: it’s complicated and Claude got it right first try!
private static byte[] EncryptECIES(byte[] plainText,
ECPublicKeyParameters recipientPublicKey,
ECPrivateKeyParameters senderPrivateKey)
{
// Perform ECDH key agreement
var agreement = new ECDHBasicAgreement();
agreement.Init(senderPrivateKey);
BigInteger sharedSecret =
agreement.CalculateAgreement(recipientPublicKey);
// Derive key using HKDF
byte[] salt = new byte[32];
_random.NextBytes(salt);
byte[] info = Encoding.UTF8.GetBytes("ECIES");
byte[] key = HKDF(sharedSecret.ToByteArrayUnsigned(), salt,
info, 32);
byte[] iv = new byte[12];
_random.NextBytes(iv);
// Encrypt using AES-GCM
var cipher = new GcmBlockCipher(new AesEngine());
var keyParam = new KeyParameter(key);
var parameters = new AeadParameters(keyParam, 128, iv, null);
cipher.Init(true, parameters);
byte[] output = new byte[cipher.GetOutputSize(plainText.Length)];
int length = cipher.ProcessBytes(plainText, 0,
plainText.Length, output, 0);
length += cipher.DoFinal(output, length);
// Combine salt, IV, and cipher text
byte[] result = new byte[salt.Length + iv.Length + length];
Array.Copy(salt, 0, result, 0, salt.Length);
Array.Copy(iv, 0, result, salt.Length, iv.Length);
Array.Copy(output, 0, result, salt.Length + iv.Length, length);
return result;
}
AI has only become wildly available recently and will only get better. AI will absolutely decimate programming jobs. We will need much fewer programmers and they will get paid much less. Soon anyone will be able to build complex software systems with minimal training. NVIDIA is already claiming we won't need programmers AT ALL. I don't necessarily believe NVIDIA but I do believe a terrible winter in the field of programming is coming.
A couple weeks after I wrote this blog post Mark Zuckerberg says AI will write most software soon.
Here is a short list of the things AI can do extremely well right now, of the top of my head:
write complex software
make one programmer as productive as two or three programmers
teach: AI can explain almost anything better than 99% of people
create useful documentation
summarize bloated emails into something actually useful and readable
make system administration much easier and more reliable
help trouble shoot problems of all types
make recommendations, for example which software to use to solve a specific problem
create images, create marketing, create movies
perform all customer service functions
manage people
all marketing tasks, including talking to clients
AI perfect? No. Better than most people at tasks that involve technology? Yes! That is already true today, can you imagine what the world will look like in a few years?
As if the picture was not bleak enough, AI will accelerate the trend of managers expecting shorter and shorter development times. Content on the Internet, open source and frameworks have contributed to shorter and shorter schedules. AI will cause schedules to become ridiculous.
You can learn to program if you want, but I wouldn’t recommend it. What I would recommend I leave for a future post.
With the help of AI I created my own fully functional AI enabled email client.
I use Abacus AI daily.
Abacus AI's gives you access to top-tier LLMs, integrated web search, an AI agent, image and video creation, plus voice and vision capabilities. Did I mention coding assistant?
All for only $10US a month - click to visit Abacus AI and start your free trial today.