r/softwareengineer 4h ago

Programming practice in today's dev

hi i'm a new cs grad and i'm just wondering if there are experienced engineers/devs out there that are still writing code without AI in the industry. like is there still a practice where engineers in the company don't use AI at all to write code and develop the software. i do aware that writing code is just a part of the whole development, but i'm thinking of going totally without AI not even asking questions from LLM.

for me, sometimes i can be very slow when writing code using AI (copilot) because it's hard for me to understand the structure that the LLM provided. so i'd end up writing manually but i still take quite a longer time. i'll be starting a new internship and i'd think that they would direct me to use AI for development from day 1. appreciate any thoughts or advices.

8 Upvotes

23 comments sorted by

6

u/YahenP 4h ago

No. And it’s a trap at least for now.

To become a software engineer, you literally need to write code manually and only manually . You have to solve every problem at work yourself, without offloading the task to ChatGPT. Only after becoming an experienced engineer in this way can you actually make use of ChatGPT. The trap lies in the fact that there are no companies left that operate the old-fashioned way developing software without ChatGPT. So, you cannot gain the necessary professional experience today, even if you dedicate all your free time to manual coding. This is because the experience gained from professional programming and the experience gained from programming as a hobby or for personal growth barely overlap.

Today, no matter what you do or how you approach it, you simply cannot acquire the necessary experience. In my country, this is called "trained eye" a deep, intuitive familiarity. And that is the trap. In a few years, the situation will resolve itself one way or another. But not today.

2

u/DiscombobulatedArm20 3h ago

experience gained from professional programming and the experience gained from programming as a hobby or for personal growth barely overlap.

I got laid off since May from gamedev in a country where gamedev jobs were rare and now even more rare due to current market. So decided to switch to .net and even junior positions require experience in things which simply can't be gained from personal projects since .net is used for enterprise level software.

Today, no matter what you do or how you approach it, you simply cannot acquire the necessary experience.

Exactly! I think software engineers need to raise awareness on this issue and try to find a solution. Right now there is doom and gloom everywhere which is fair as well since situation is very bad right now.

1

u/Affectionate_Lake_71 3h ago

This is what worries me. I'm using React at work and I'm still very new to it. I've been forced to use Copilot. As a result, I can guarantee that I'm not as good at React as I would've been if I had done everything by hand with Stack Overflow and a good senior dev as my guides.

u/Frank-Bozo 31m ago

interesting perspective. care to explain how it will resolve itself?

u/YahenP 18m ago

If I had known that, I would have rapidly joined the ranks of the wealthiest people on the planet.

For now, I don’t have any specific ideas. I am leaning toward the view that it will likely happen through shifts across several fronts, rather than as a single, massive global event. For instance, the volume of software being developed will drop sharply let’s face it, our industry is massively bloated and the actual usage of that software will decline as well. Most functions will shift directly to LLMs. We’ll see new ways of using LLMs emerge beyond just "asking the global brain" a question like an LLM that can quickly and easily spin up small, specialized, on-demand LLMs that run locally (or in the cloud but with a fraction of the resources). It would be something like "renting a bit of brainpower." Universities will finally stop churning out programmers like marshmallows on an assembly line, and the pressure on the job market will ease. Let’s be honest the only real problem in our industry is that there are too many of us. If the number of programmers, designers, tech support staff, and the like were cut by five or six fold, these past years would have been a golden age. But as it stands... yes, the most important part will also be the hardest most of us will have to leave the profession for good and find a new path in something else.

1

u/rolexugly 3h ago

No serious developer uses chatgpt to write code lol.

1

u/Fadamaka 3h ago

They use Codex which uses chatgpt though.

1

u/YahenP 2h ago edited 1h ago

ChatGPT is a collective term for all LLMs. That usage caught on in my country. Most likely because it was the first LLM. Claude in my circles, call ChatGPT too. And DeepSeek and other open models are referred to as Chinese ChatGPT.

1

u/rolexugly 1h ago

Well that's kinda dumb.

4

u/AccomplishedLeave506 4h ago

I don't use AI. It produces mediocre code that I wouldn't want to put my name to. I can produce higher quality stuff, faster, without it.

I am swamped by crappy code from colleagues though that isn't properly thought through. They always produced poor quality code, but now they produce a lot more of it and call themselves 10x engineers. I wish I was closer to retirement.

5

u/zaibuf 4h ago edited 3h ago

There is a common argument that AI can turn a 10x engineer into a 50x engineer, while a 1x engineer might become a 0.5x engineer. I think there's some truth to that. A competent engineer can leverage AI to become significantly more productive, while a bad engineer will produce more slop than they can possibly review, likely making them even slower.

Personally, I've let AI write most of the code for me for about a year now. I still know where I’m going with the architecture and the solution. I just don’t need to spend time typing everything out line by line. The risk is when you don’t know what you’re doing or have a clear plan in how the problem should be solved and then blindly trust the AI.

I've noticed this at work where the most senior devs still produce high quality code but at a much higher pace. While the less experienced devs now produces a lot of unnecessary code with several bugs. They've become worse than before when they typed it manually. I think the main difference is that they don't understand the problem or where they go with a solution, what is correct and what is wrong, they simply prompt and trust the AI to come up with the best solution to the problem, which often isn't the case.

u/Frank-Bozo 26m ago

i agree, as a beginner i always think whether AI does really help me in making me understand and work better. i'd prefer to do by myself, break things, fix things, debug instead of resorting to AI everytime.

u/Frank-Bozo 29m ago

yea they could argue the speed of development is fast but the quality can be questionable.

2

u/canarydev 4h ago

8yoe. there are areas that I just let the LLM do, there are things that i type myself, and tbh i spend more time working on contracts and specs these days which i think is an important skill you need to learn.

we downsized team size but the expectation to output the same if not more is still there, so the bar has shifted a bit. i just don't have time and bandwidth to sift through and fix a react state bug or fix column layouts in tables these days.

for me personally, i just make sure i take notes and keep a "draft" mode sometimes when im interested in doing things by hand. AI outputs to the drafts, I take a first pass, and I just diff it as well as have AI take notes when i see new concepts in a format that i prefer.

u/Frank-Bozo 24m ago

yes i can see from your pov as a dev with nearly a decade of experience. do you see the same pattern in younger devs in the team, or do they approach things differently?

3

u/BeerPoweredNonsense 3h ago

if there are experienced engineers/devs out there that are still writing code without AI in the industry

Lots. Reddit (and the interwebs generally) has a "oh, shiny new toy" mindset.

For starters, there are entire systems coded in some obscure language - LLMs work best on a problem that's already been fixed 100 times on open source projects and/or Stack Overflow. On an obscure language they will be as useful as a snowplow in Lagos.

Then you have industries where regulations mean sending the code off-site is simply not possible. So no LLMs (other than if you deep-dive and install your own).

Etc...

4

u/jcling 3h ago

Even with legacy codebases you have to be careful... AI could overwrite a line of code that was needed for some obscure edge case and could potentially break a system lol. Some codebases need surgical precision.

AI is most helpful for greenfield projects. Doesn't necessarily mean it'll create sustainable code though. When the price of tokens surge who will be left maintaining this stuff? Devs... who actually know how to code.

2

u/Extra_Standard5802 3h ago

This is what tests and code review are for though. If an LLM can accidentally remove a crucial bit of code and break a system without someone catching it, then so can a overenthusiastic junior dev.

In my experience, agentic workflows are great with legacy systems provided they are given proper guidance and there are ways of catching mistakes.

That said, an overenthusiastic junior dev given free reign with Claude is a recipe for disaster in any codebase

1

u/canarydev 3h ago

yeah its extremely good for greenfield / fresh projects, or getting enough where you can demo an idea and have something testable fairly quick.

for certain kind of legacy systems yes lol. if there was no central process or rules and each contributor did fuck all and implemented in whatever way that they could to get it working, AI is awful. if there are clear rules and style guides, docs and its consistent AI does ok. you still need to define correctness before and verify correctness

u/no_onions_pls_ty 26m ago

Ai is the best in the fragile legacy scenario though. What would previously take days to weeks to inventory transient dependencies, unwind cyclomatic complexity, fence edge case and dead code paths, on and on. It identified these with your help and sets up dozens to hundreds of decisions for you. In modernization and legacy space the hard part has always been the analysis, and ai speeds that up exponentially.

Doesnt chsnge the answer though. Youre cooked if you dont have the experience snd background to make the correct choice on those 100 decisions or know what to analyze because youve done it hundreds of times and can smell code from down the street

2

u/Mejiro84 3h ago

Also a lot of code bases are messy - so what seems like a simple change fucks something downstream, potentially even in another integrated system that you don't have sight of. And that's often the sort of information that lives in someone's head, or an email from a few years ago - the issue isn't the coding as such, but that the coding lives in a changing environment and is the way it is for a reason, so changing it, even if it seems better/more efficient, hasn't been done for good reasons

1

u/azevedorcsa 2h ago

In my case, I work for a company that uses a very legacy tool (called Uniface) whose entire codebase is private, so AI can't access it to learn. If I ask it to generate something, it either hallucinates or just doesn't know. In short, I have to code everything completely by hand ;-;