At least you don't hate your job, I hope? The recent maturation of AI revealed how many people in software seemingly loathe their own profession.
At least you don't hate your job, I hope? The recent maturation of AI revealed how many people in software seemingly loathe their own profession.
I always had an inkling this was the case, but man it's been depressing to see it laid so bare. So many proudly screaming "I hated programming!". Well, I don't, I love it, and have my entire life, and imagine I'll continue to as long as they will let me...
More relevantly to the article and comment we're replying to: I miss doing firmware engineering. Gosh that is so much fun.
The only thing I can see that acts as a bulwark is liability, bascially. The FW work I was doing requires a human and a large amount of careful review before acceptance. The "throw slop at the wall" that my current job is okay with won't fly there.
But there's _lots_ of FW jobs in consumer gear that is already filled with god awful slop, so maybe it won't take as long as I think.
For personal stuff? Sure.
But I certainly get why people get burned out on corporate programming. It's either tedious busywork following orders designed by architects whose last time writing code was 30 years ago and they never learned anything ever since, waterfall with glaring issues that the lowest rungs are supposed to magically make go away because upper management doesn't want to reset like they're supposed to, or it's "agile" in its various abominations. There's barely any time, budget or possibility left for actually experimenting a bit or for actually crafting out stuff that works. It's all output, output, output, and being micromanaged by Jira or whatever only adds to the dissatisfaction.
Personally, I left the field for good - I'm heading towards electrical engineering. Good luck coding a robot pulling physical wires.
Electricians might be temporarily safe from AI but EEs are knowledge workers too.
"This is wrong, fix it" + recompile, can happen twenty times in ten minutes, but "we discovered the layout is wrong, fix it" is precluded by the cost and time of a new board spin.
AI + text (code) seems like a good match but (E)CAD seems a lot harder to interface AI with. If I'm wrong, I'd like to share that with the EEs on my team, though.
I'm sure it'll happen -- if you can defeat the world Go champion you can certainly route traces -- but so far it seems to be an exception to the bitter lesson, where proprietary hand-tuned algorithms are still on top. Given the lack of large quantities of PCB CAD files that can be appropriated for training, it might be one of those things that has to be self-learned by the AI, again reminiscent of how Alpha Zero worked.
It's being worked on, and as the other commenter said, it's a data problem not a fundamental limitation. That's what's scary to me.
That said the SOTA tools in this space still suck, so it's not here yet :)
I remember my Apple II days (different platform, similarly constrained environment) where every game had a hard real-time multitasking core under all the code. In the Apple II it was particularly critical, because you didn't have programmable sound generators - you had to programmatically change the voltage of the speaker. If you were really crazy, you could do PWM and expect the electronics of the board would coerce your output square wave into something pleasant.
It never worked well, but it was still super cool.
There will always be people who work to pay the bills, not to answer some inner call. I am happy - don't tell my boss, but I would do my work for free, including meeting users and extracting requirements (some colleagues say I'd be a master interrogator in another universe).
The AI trend and yet another redundancy foreced me to reckon with what I hate about software, which is a tech ethos of "move fast and break things" that runs contrary to "measure twice, cut once". AI also transforms my strengths into executive functioning tasks, which are a mental bottleneck.