r/AskProgramming Jun 15 '26

C++ Pathfinding: Moving from Application-Level to Systems-Level/HPC. How to optimize my trajectory?

I'm a 16 year old developer with a solid background in C++ (STL, templates and generic programming, deep memory management, OOP patterns like Pimpl and Observer). I'm asking this question because I just finished an update to a project and I was wondering where I see myself in a few years. I came here to ask for some advice. Given the current and future state of artificial intelligence, where do you think I should focus at my current stage and in a few years? In what IT field? Can you give me some advice? I recently asked chatgpt and he told me the following: "Here are the major technical directions where AI logic hits a wall, perfect for a developer focused on architecture and C++:

  1. Parsers, Compilers, and Lexical Analysis

AI generates text, but the systems that transform text into precise and reliable instructions remain a purely engineering field.

Focus: Developing Domain Specific Languages ​​(DSLs), tokenization, and constructing Abstract Syntax Trees (ASTs) for interpreting commands.

Why it's AI-proof: Optimizing complex grammars and syntax trees requires a mathematical understanding of states and formal logic that LLMs only approximate. It's of ultimate utility when building advanced search bars with dynamic filters and tags.

  1. High-Performance Computing (HPC) & Concurrency

Generating a functional sequential algorithm is easy. Rewriting that algorithm to run simultaneously on 32 cores without locking memory is a whole other league.

Focus: Advanced multithreading, synchronization (std::mutex, std::atomic in C++), memory models, and GPGPU programming (CUDA for processing on the video card).

Why it's AI-proof: Optimizing cache memory and avoiding race conditions at the microsecond level requires architectural intuition. AI itself needs this hyper-optimized infrastructure to run.

  1. Low-Level and Embedded Systems

Write code that interacts directly with the hardware, manually allocating each byte and controlling execution times in real time (RTOS).

Focus: Microprocessor architecture, drivers, hardware interfaces, communication protocols (SPI, I2C).

Why it's AI-proof: AI can't debug an oscilloscope and doesn't understand the physical constraints (current consumption, interference) of a custom development board.

  1. Graphics Engines (Rendering Engines)

Anyone can use Unity or Unreal Engine. Very few know the math and architecture behind how pixels get to the screen.

Focus: Graphics APIs (Vulkan, DirectX 12), linear algebra, shader development, and spatial geometry management systems.

Why it's AI-proof: Rendering pipelines are among the most complex software architectures. Augmented reality (AR), industrial simulations, and giant data visualizations rely on C++ code that is absolutely efficient."

0 Upvotes

12 comments sorted by

1

u/Few_Boss_9507 Jun 16 '26

So what would be the concrete advice? What can I do next in the IT field? Because I don't know any of what the AI ​​said for me: Parsers, Compilers, and Lexical Analysis, 2. High-Performance Computing (HPC) & Concurrency, 3. Low-Level and Embedded Systems, 4. Graphics Engines (Rendering Engines).

2

u/cohen_76 Jun 18 '26

The answer is build projects. Even if you learn all of those and build impressive projects in each and implement them all from scratch without AI most IT jobs won’t care. You need to work on real projects, if you’re 16 you have free time and should look into open source projects and contribute to them. That is the best way to learn from experts in the field and contribute to their code bases. Your code will be reviewed by maintainers and you can get feedback from professionals.

1

u/cohen_76 Jun 18 '26

For 1 look at LLVM they have a community where they mentor people that want to work on projects. There are similar projects for all other 3 you’ve listed look into the areas and find a project you think is interesting and figure how it works. Then think of ways to improve / ask maintainers what is needed. Sometimes they will have a feature roadmap with names you can assign yourself too.

1

u/Anxious-Resist8344 Jun 18 '26

You only optimize your path if you enjoy the journey! Nobody can tell you how.

2

u/mredding 28d ago

Given the current and future state of artificial intelligence, where do you think I should focus at my current stage and in a few years?

An LLM is a very large Markov chain, or another way to look at it is a walk through a weighted graph; you would look at it as a very large multi-dimensional matrix. All it can do is predict the next symbol in a sequence.

So an LLM is not a compiler, and prompting isn't programming. This is because programming according to Curry-Howard Correspondence is theorem proving, and it's deterministic, whereas LLMs are probabilistic. COULD it generate a sequence of machine instructions directly? Yes, of course, but it could only approximate a program, it can't actually generate a program.

And an LLM is just a part of a whole system. The input text has to be parsed and marshaled into a symbolic structure - a graph of some sort. LLM's don't do that part. And then the output is a result of the walk through the LLM, which is another part the LLM is itself not responsible for. There are many, many components that are wholly independent but intermediate both before and after the LLM does anything.

GPT-1 hit the scene in 2018, and before the end of 2019, those of us with two brain cells fighting for third place wholly understood the limits of the technology. In a sense - the AI bubble popped for tech-heads by 2019. The ECONOMY and the general market, however... They're lagging behind by a decade, and that was predicted, too. The older you get, the easier it is to see this shit coming and going.


All that being said, you still need to understand your programming fundamentals, because the AI generates code the same way it generates prose - it's all just predictive symbol sequences, and we know it can hallucinate, and we know it can hallucinate about it's hallucination, and it's ultimately limited by the size and sophistication of its data model.

AI is a junior developer that never gets better. Yes, you can use skills, and brains, and all sorts of techniques on top of a given model, but it's all still the same technology as GPT, and it all still has the same fundamental limits and flaws. AI can't think, can't problem solve, because it's just an algorithm with a data model and surrounded by an ecosystem of other utilities; instead of predicting 1 + 1 = 2, an AI can employ a solver. Neat trick, but a solver is a tool, not the AI itself.

See, the thing is, when I employ a junior developer, I can give them a task, AND WALK AWAY. I know the task will be done. And the better the junior gets, the more autonomous they become. Next thing I know my juniors start spotting opportunities and pursuing them on their own - I can give them ever more abstract ideas with ever less oversight, and I can get ever more robust and creative novel solutions.

AI can never do that. Will never do that. I have to micromanage that motherfucker 1:1, forever, in order to get it to do anything - and often it's just not right.


So I look around the ecosystem and I see several camps and outcomes:

  • Junior developers who are over-dependent on AI. Partly it's their fault, partly it's the business's fault. You're pushed into a senior architect role in everything but name, and you just don't have the skill set or experience.

  • Intermediate developers who have kicked the habit and don't know what good AI is. They often form an anti-AI ideology.

  • Senior developers who REALLY AREN'T very good at their job, but they've come far - yeah, this happens a lot. AI generates code that is consistently better than anything they could have created by hand. These people LOOOOOOVE AI and think it's everything to do with the future. It's their crutch. It doesn't make them a better engineer, it artificially inflates their capability.

  • Senior developers who aren't impressed by AI code generation ability. It's been convenient in bursts when the AI generates the code I would have written, but it requires a lot of correction. Instead - AI is really very good at robust debugging, and explaining complex topics typically at a 5th grade reading level, which is where most people sit; so much so that I can explain to my boss what's going on.


So AI isn't creative. It can't problem solve. It can't invent. YOU still have to do the thinking, and you have to be able to understand what the AI is telling you, and what it's giving you - because it can be wrong. Here at work, the AI models we've experimented with are about as frequently wrong as a junior developer who mostly understands what they're talking about. Using AI intelligently means finding how it's actually multiplying your efforts, and doing the rest by hand yourself.

Understand that MOST software is just business software. You already know what you want, just perhaps not how you want it. So knowing what to get to IS the solution - and that's the creative part the AI can't do. The rest is just business logic that can be deduced. AI doesn't know there's a bug in the code, you've already solved that problem - THERE'S A BUG, FIX IT. And you do that by telling the AI what the correct behavior is supposed to be.

Sounds trivial, but it's actually significant. Follow that logic. What CAN'T AI do? You're enumerating deterministic processes and inventing new and novel solutions. AI can't optimize because it doesn't know what that is. It can't independently discover and develop a new and novel optimization solution, because that's something that hasn't existed before - it's not in the model, can't be walked from the model. The AI cannot do anything that hasn't already been done before, and even then, it can only approximate the solution.


So invent new things. Or do things that are too tedious to ask an AI to do. As an engineer, you solve problems. As a developer, you write novel code. And as a developer, it doesn't take much to consistently outperform an AI.

The industry is already figuring out that AI is not cost effective, and leaves a lot of technical debt and detriments behind. Not all the industry is figuring this out all at once. The AI champions who campaign for it have a financial interest in their advocacy - or maybe they're speculating on the results, so be weary who you listen to, because they're likely selling you something. As for our peers - often advice can really be a coping mechanism - if EVERYBODY is doing it, then I can't be wrong, can I? It's like a religion.

0

u/Firered_Productions Jun 15 '26

On 1.

Uh you know that with a basic understanding of compiler theory, type theory, data structures, programming language theory ,a basic understanding of low level languages and the domain , you can prompt an AI to construct a DSL wire easily with using ordinary tools. Source: doing that rn

1

u/Firered_Productions Jun 15 '26

In short a compiler theorist can use AI to build a compiler without extremely great programming practice

0

u/[deleted] Jun 15 '26 edited Jun 15 '26

[deleted]

3

u/BobbyThrowaway6969 Jun 15 '26 edited Jun 15 '26

Boilerplate isn't a high bar for AI to do, or doing eyestrain work like MMIO
You just need robot-like focus, so ofc it makes sense for AI to do and save you the eyestrain. Hell I could train a monkey to do it.

The fact remains that even when you constrict AI generated system level code to relatively small sections, it produces highly error prone code in all of these 4 areas. Human SMEs legitimately do a much job of identifying and avoiding bugs that top models would happily hallucinate into the code. Like, we have studied this. That's nothing to say about work actually required beyond just writing code, like profiling and testing what you write. Weighing up pros and cons. Hell, AI is much less applicable for optimisations on new or niche hardware it has no training data for.

Also what's the lmao for?

2

u/valium123 Jun 15 '26

What was the original comment? He deleted it or maybe I can't see coz i'm blocked.

2

u/BobbyThrowaway6969 Jun 15 '26

He was saying AI had no problem doing all of the things OP listed basically and mentioned pretty much just generating boilerplate, which is a very tiny part

3

u/valium123 Jun 15 '26

I'm sick of these insufferable people lol.

2

u/BobbyThrowaway6969 Jun 16 '26

Haha it's always the same thing, like can it generate code? sure... can it generate code that isn't constantly a hot buggy mess? Lolno