Helix is awesome for Go development. Just install go official LSP running `go install golang.org/x/tools/gopls@latest` and Helix automatically handles the rest with sane defaults. Absolutely awesome
I think some people have more fun using LLM agents and generative AI tools. Not my case, but you can definitely read a bunch of comments from people using the tools and having fun/experience a state of flow like they have never had before
I definitely agree with you there. I contracted with a company that had some older engineers who were in largely managerial roles who really liked using AI for personal projects, and honestly, I kind of get it. Their work flow was basically prompt, get results, prompt again with modifications, rinse and repeat, it's low effort and has a nice REPL-like loop. Paraphrasing a bit, but it basically re-kindled the joy of programming for them.
Haven't gotten the chance to ask, but I imagine managing a team of AI agents would feel a little too much like their day job, and consequently, suck the fun out of it.
That said, looking back, I think the reason why generative AI is so fun for so many coders is because programming has become unnecessarily complex. I have to admit, programming nowadays for me feels like a bit of a slog at times because of the sheer effort it can sometimes take to implement the simplest things. Doesn't have to be that way, but I think LLM copy-paste machines are probably the wrong direction.
I think the majority of people I've worked with who have the title of "Software Engineer" do not like coding. They got into it for the money/career, and dream of eventually moving out of coding into management. I can count the number of coders who I've met who like coding on one hand
I've been enjoying seeing my agents produce code while I am otherwise too busy to program, or seeing refined prompts & context engineering get better results. The boring kinds of programming tasks that I would normally put off are now lower friction, and now there's an element of workflow tinkering with all these different AI tools that lets me have some fun with it.
I also recently programmed for a few hours on a plane, with no LLM assistance whatsoever, and it was a refreshing way to reconnect with the joy of just internalizing a problem and fitting the pieces together in realtime. I am a bit sad that this kind of fun may no longer be lucrative in the near future, but I am thankful I got to experience it.
This sounds awesome! Can you tell me more about what kind of expertise do you need to develop such a system? As in the most important knowledge one most have to be able to work on such a thing
Thanks, buddy! I'm having fun. There are a few sides to it. There are the actual physical surgical tools that you have to design, test, and manufacture. Then there's the robot that adjusts those tools. That stuff is a lot of CAD and 3D printing. The camera is a big deal and it's a ton of work to get that right. Then of course you have all the software, which is a slew of computer vision models that operate on a local computer in a careful dance of resource orchestration. The software has a lot: UI, grpc services, ml models on containers, inverse kinematics for calculating robot position, hardware interfaces, etc. Then there's a bunch of regulatory, validation, compliance, etc.
To answer your question about expertise, it really depends on what you are interested in. We have some dedicated mechanical engineers with medical device experience. The software is handled by a few computer vision and full stack folks. So there's different skillsets.
I'm a bit of a journeyman and as a result, I am decent across all of it. I always did software and went where the wind blew. It's been 20-something years since I graduated so I've seen a lot. About 10 years ago I got a job I was totally unqualified for, which was R&D for a company that made lab equipment for testing gas and oil. I was solo and had to learn all the mechatronics stuff - CAD, microcontrollers, electronics, etc. Check out this video: https://youtu.be/MA6hnyXx4p4. That specific experience allows me to be the glue in our engineering org.
To work here, you don't need medical experience. We have plenty of that. One of the cool things about engineering, especially software engineering, is that you can float around between verticals. I've learned all about media, finance, petroleum, insurance, waste disposal, etc. The skills translate. If you are purely software, I recommend picking up an Arduino and some motors and building something like a simple pan/tilt mechanism with an accompanying mobile app. Just do it. It might inspire you. I think curiosity and enthusiasm are the most valuable traits one can have.
That seems like a long journey. I think playing with Arduino is a perfect way to get started on the interaction between software-hardware. Thanks a lot for your answer!
I would love to see data about correlation between competitive programming competence and actual software engineering competence. I would naively assume there is a big positive signal, but it is pure speculation.
Very low correlation...A bit like pro soccer player vs soccer acrobatics street performer...Drone-racing pilot vs aerospace engineer certifying a commercial airframe...