Blog

# 6 Reasons Why Programming Is Especially Exposed to AI Automation

Tue
27
Oct 2026

Summary: While AI may transform our world in many ways, it seems to me that programming is especially exposed to automation. Below I share 6 specific reasons why.

Many decades ago, people imagined that advances in cybernetics would give us intelligent machines in the form of humanoid robots, speaking in metallic voices and helping people with various physical tasks.


Robby the Robot from "Forbidden Planet", a sci-fi film from 1956

Things have developed differently. AI in the form of LLMs can do some intellectual work and, together with other models, generate realistic speech, images, and video, while general-purpose robots manipulating physical world are still very clumsy and far for being able to help us in everyday chores.

I want AI to do my laundry and dishes so that I can do art and writing, not for AI to do my art and writing so that I can do my laundry and dishes. — Joanna Maciejewska

Switching to programming, I still remember reading the book "The Mythical Man-Month" by Fred Brooks a long time ago. The author argued that despite advancements in more convenient, higher-level programming languages, "there is no silver bullet" - no single development can provide an order of magnitude improvements in programming productivity. The argument behind it was that we can reduce the "accidental complexity" of the code (boilerplate code, manual memory management, friction with language syntax, etc.), but there is always "essential complexity" left to handle. If an app needs to provide 5 features, we need to specify all these 5 features fully and precisely how they should work. No matter how high level is the description, it always ends up being... some form of code.

I was thinking back then that a breakthrough would require computers to think like humans: take imprecise, incomplete requirements and turn them into code. My opinion was that programming requires knowledge, skill, and experience, but also analytical thinking and creativity. If computers could ever do it, surely they could do much of the other intellectual work that humans do, leading to changes much broader than just affecting programmers' jobs. I still share this opinion, except now we know it happened.

AI will likely transform our world in many ways, and I don't dare to predict what the future will bring. Right now, however, it seems to me that the nature of programming makes it especially exposed to automation. If we think about why that is, we can identify a few specific reasons:

  1. Intellectual rather than physical work. Programming is an intellectual job (white-collar), largely involving language: both natural language and programming languages. This makes much of the work accessible to LLMs through a computer interface. Professions less affected for now are those that require working with hands in our 3D physical world (blue-collar), like a barber, plumber, electrician, construction worker, car mechanic, truck driver, policeman, firefighter, soldier, etc.
  2. No direct contact with the client. Programming is about working with data, knowledge, documents, code, and machines, and they do not care whether it's a person or another machine operating them. Sure, doing a good programming job also requires talking to other people, like fellow programmers, and managers, but work happens mostly through digital artifacts. Professions less affected are those that involve direct contact with other people (or animals), like doctors, vets, waiters, bartenders, real estate agents, sales representatives, priests, or teachers.
  3. Few formal barriers to entry. Ordinary software development generally doesn't require a professional license or a particular degree. There are exceptions and requirements in specific industries, but there is usually no rule saying that every piece of code must be written by a certified human programmer. In regulated professions, such as medicine or law, professional licensing can create an additional barrier between automating individual tasks and replacing the person providing the service.
  4. Automatically and objectively verifiable results. The results of programming work can be verified automatically to the large extent thanks to automated testing (unit tests, integration tests, etc.), so LLMs can freely make mistakes and iterate, with no human operator needed to even validate the output. We can see it happening now as increasing number of programmers skip thorough review of the AI-generated code, because this would become the bottleneck. The output of other intellectual work, like copywriters, journalists, artists, etc. is endangered less because it needs a skilled human to at least validate the result.
  5. Responsibility can be separated from implementation. Even if AI can provide great help and significantly speed up the work of doctors, lawyers, accountants, or C-level executives, there are decisions for which a person must take responsibility, sometimes with their name and signature at the bottom of the page and a risk of punishment then they make a catastrophic mistake. Programmers, on the other hand, are not typically punished for making errors in the code. We perform tests on the code instead. That makes it possible to automate substantial parts of the job.
  6. No human face needed. There is another profession that involves working with words, including making promises that may never be delivered: politicians 🙂 But I think politicians are less likely to be replaced by LLMs because, in democratic countries, we want a real human to vote for, showing up on our screens, dressed elegantly and promising various things to us. Something similar applies to musicians: AI can generate music, but part of the appeal of a concert is seeing a real musician perform live. We programmers, on the other hand, are usually not presented to the end users of our software with our faces or names visible on the front page of the app. Users generally care more about whether the software works than whether its code was written by a human or AI.

When thinking about my life, I can see that we have gone through several stages in how programmers are commonly perceived. First, when I was a teenager, there was the stereotype of a computer geek. This was before smartphones or social media, so spending time at home with a computer, playing games or learning programming instead of going out to play football, could make someone seem geeky, weird, or socially awkward. Then the perception flipped as mainstream media noticed that working in IT was a good career with high demand and high salaries. Possibly, we are now entering another phase, as the situation of programmers and the public perception of them change. Some young people I've spoken with are already choosing other careers because they don't believe a career in IT is future-proof.

Comments | #ai #software engineering #philosophy Share

# Two articles: Time Measurement in Game Programming, Writing Efficient C++ Code

Fri
25
Sep 2026

I've translated to English and published two of my articles that have been published in Polish in paper magazine "Programista" many years ago. Some of the information may be outdated, but I think they may still be helpful.

I would like to point especially to the first article, and the chapter about Frames per Second (FPS). This unit is really the number of cycles per second: 1/s = Hz, and as such, it is a non-linear mesure in respect to the time it takes to process or render a single frame. Thus, we shoudln't ever say "I improved my game performance by 5 FPS", because it doesn't mean anything without knowing how many FPS did we have before the opimization. Check the article to learn more…

Comments | #math #optimization #productions #c++ Share

# First Look at Epic Games Lore VCS

Thu
18
Jun 2026

June 17th, 2026, Epic Games announced Lore - a new version control system for software developers, to compete with Git and Perforce. Being old enough to have worked with the old CVS and SVN, and having experience working with Git and Perforce, I am quite interested in what changes this new system brings.

In my article Thoughts Beyond C++ from December 2024, I described my opinion about the problems I can see with current version control systems and the improvements a better one could bring, especially for game development. Let's see whether Lore advances any of these topics.

Key pages about Lore:

I didn't test the app myself so far, but I've read some of the docs to get an idea of what it is and how it compares to Git and Perforce. tl;dr: It looks promising, although not revolutionary. Here is a summary and my thoughts.

 

 

 

Comments | #tools Share

# Floor and Ceil Versus Denormals on CPU and GPU

Sat
23
May 2026

Recently, I dove deep into floating-point numbers and their behavior. Somehow, this topic haunts me in my programming practice since I created Floating-Point Formats Cheatsheet back in 2013 and also released a comprehensive article The Secrets of Floating-Point Numbers in 2024.

This time, I would like to focus on one specific question:

What is the result of floor(-1.175493930432748e-38) ?

Note: Hexadecimal value of our input number is 0x807FFFFD.

 

 

 

Comments | #math #gpu Share

# DirectX 12 News from GDC 2026 - My Comments

Sun
15
Mar 2026

Game Developers Conference (GDC) just took place on 9–13 March 2026 (renamed this year to “GDC Festival of Gaming”). Microsoft announced lots of interesting news during the event regarding further development of DirectX 12, its accompanying libraries, and tools. I didn’t attend the conference this year, but the announcements were also published on their DirectX Developer Blog. In this article, I will gather and summarize these news items, provide links to the appropriate web pages, and include my comments.

When I was working at AMD, I was deeply involved in this area - writing code, publishing articles on the GPUOpen website, attending GDC, and even giving a talk there twice. Back then, I didn’t post much about it on my personal blog, as I would have needed to watch my words and secure corporate approvals. Now, as I’m just a programmer at Plastic - a small game development studio - I can observe these developments from the outside and comment on them freely, which I am going to do with brutal honesty 🙂 If I had a YouTube channel, I would record a “reaction” type of video, but since I’m writing a blog, this will be my reaction in text form.

Disclaimer: Everything in this article is based on information shared publicly by Microsoft and GPU vendors and could be gathered by any graphics programmer. No insider information was used.

 

 

 

Comments | #microsoft #directx Share

# Total Commander - a Plugin Supporting a Custom Archive Format - a New Article

Sat
07
Mar 2026

Today I would like to present my new article: "Total Commander – a Plugin Supporting a Custom Archive Format". In this article, we will design our own file format that allows multiple files to be packed and compressed into a single archive, similar to formats like ZIP or 7Z. Using the C++ language and the Visual Studio environment on Windows, we will then write a plugin for the Total Commander file manager that enables creating and manipulating such an archive, including freely adding and removing files inside it.

The article was first published few months ago in Polish in issue 5/2025 (120) of the Programista magazine. Now I have a right to show it publicly for free, so I share it in two language versions:

See also GitHub repository with the source code accompanying the article: sawickiap/TotalCommanderPluginTutorial

Comments | #windows Share

Older entries >

Bluesky

Pinboard Bookmarks

Blog Tags

Mastodon

[Download] [Dropbox] [pub] [Mirror] [Privacy policy]
Copyright © 2004-2026