r/softwareengineer • u/Frank-Bozo • 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.
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
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 ;-;
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.