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 troubleshoot 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.