Engineers who dismiss AI
terriblesoftware.org
Engineers who dismiss AI
1–10 of 256 posts
Re: Engineers who dismiss AI
#2it does seem like the skepticism is fading. I do think engineers that outright refuse to use AI (typically on some odd moral principle) are in for a bad time
Re: Engineers who dismiss AI
#3Although, I also made it create Rust and Go bindings. Two languages I don't really know that well. Or, at least not well enough for that kind of start-to-finish result.
Another commenter wrote a really interesting question: How do you not degrade your abilities? I have to say that I still had to spend days figuring out really hard problems. Who knew that 64-bit MinGW has a different struct layout for gettimeofday than 64-bit Linux? It's not that it's not obvious in hindsight, but it took me a really long time to figure out that was the issue, when all I have to go on is something that looks like incorrect instruction emulation. I must have read the LoongArch manual up and down several times and gone through instructions one by one, disabling everything I could think of, before finally landing on the culprit just being a mis-emulated kind-of legacy system call that tells you the time. ... and if the LLM had found this issue for me, I would have been very happy about it.
There are still unknowns that LLMs cannot help with, like running Golang programs inside the emulator. Golang has a complex run-time that uses signal-based preemption (sysmon) and threads and many other things, which I do emulate, but there is still something missing to pass all the way through to main() even for a simple Hello World. Who knows if it's the ucontext that signals can pass or something with threads or per-state signal state. Progression will require reading the Go system libraries (which are plain source code), the assembly for the given architecture (LA64), and perhaps instrumenting it so that I can see what's going wrong. Another route could be implementing an RSP server for remote GDB via a simple TCP socket.
As a conclusion, I will say that I can only remember twice I ditched everything the LLM did and just did it myself from scratch. It's bound to happen, as programming is an opinionated art. But I've used it a lot just to see what it can dream up, and it has occasionally impressed. Other times I'm in disbelief as it mishandles simple things like preventing an extra masking operation by moving something signed into the top bits so that extracting it is a single shift, while sharing space with something else in the lower bits. Overall, I feel like I've spent more time thinking about more high-level things (and occasionally low-level optimizations).
Re: Engineers who dismiss AI
#4Re: Engineers who dismiss AI
#5Re: Engineers who dismiss AI
#6For me, however, there is one issue: how can I utilize AI without degenerating my own abilities? I use AI sparingly because, to be honest, every time I use AI, I feel like I'm getting a little dumber. I fear that excessive use of AI will lead to the loss of important skills on the one hand and create dependencies on the other. Who benefits if we end up with a generation of software developers who can no longer program without AI? Programming is not just writing code, but a process of organizing, understanding, and analyzing. What I want above all is AI that helps me become better at my job and continue to build skills and knowledge, rather than making me dependent on it.
Re: Engineers who dismiss AI
#7Re: Engineers who dismiss AI
#8What worries me is how AI impacts neurodivergent programmers. I have ADHD and it simply doesn't work for me to constantly be switching context between the code I'm writing and the AI chat. I am terrified that I will be forced out of the industry if I can't keep up with people who are able to use AI.
Re: Engineers who dismiss AI
#9e.g. had an issue with connecting to AWS S3, gave Claude some of the code to connect and it diagnosed a CREDENTIALS issue without seeing the credentials file nor seeing the error itself. It can even find issues like "oh, you have an extra space in front of the build parameter that the user passed into a Jenkins job". Something that a human might have found in 30+ minutes of grepping, checking etc it found in It also makes it trivial to do things like "hey, convert all of the print statements in this python script to log messages with ISO 8601 time format".
Folks talk about "but it adds bugs" but I'm going to make the opposite argument:
The excuse of "we don't have time to make this better" is effectively gone. Quality code that is well instrumented, has good metrics and easy to parse logs is only a few prompts away. Now, one could argue that was the case BEFORE we had AI/LLMs and it STILL didn't happen so I'm going to assume folks that can do clean up (SRE/DevOps/code refactor specialists) are still going to be around.
Re: Engineers who dismiss AI
#10Honest question for the engineers here. Have you seen this happening at your company? Are strong engineers falling behind when refusing to integrate AI into their workflow?