I'm building a list of folks to follow on X (formerly Twitter, sigh...) and trawling the comments here on HN.
This reminds me a lot of early Javascript: a thousand small companies each promising a 10% improvement to your workflow. Wait a couple years and it'll be three companies each offering 150% boosts instead, with clear instructions.
It's an exciting time if you like to be on the bleeding edge, but then you should be working with one of those companies. Otherwise, just wait for the dust to settle...
It's not anything like committing to a new tool or framework. There's not going to be a "winner". Delaying a personal understanding of how AI-assisted development is going to change software engineering will just hurt folks who aren't in the twilight of their careers.
Better yet, ignore the concept of "best practices" and learn what different software development practices have to offer in different contexts, from your personal experience and from nuanced reports from people you (at least somewhat) trust.
There are a lot of ideas flying around about how to do software development better, in my experience, someone describing an idea as a "best practice" is more likely to be a red flag than a sign you should pay attention.
That said, try Copilot. It's surprisingly helpful.
The trick is knowing when to have it off and when to have it on.
I particularly like Copilot Chat. Really nice to have there in the IDE.
So no, I don't invest a lot of attention in further optimizing how quickly I get my work done. If anything, I'd rather invest that attention in strengthening the routines and practices of my work so that it demands less conscious attention as I do it, at no loss of quality. Write a module 5% faster? Doesn't matter to anyone. Leave a workday refreshed and ripe because I've mastered my tools and workflows? Huge win for me.
I don't think anyone's against self improvement, but the cognitive overload of continually juggling multiple 5% improvements vs a possibly more-disruptive (but in reality usually more streamlined) 25% improvement down the line just doesn't make sense if you value your own time, especially if you have to essentially embed yourself as an expert into the domain to be able to follow improvements
By sitting back, doing what I know, and letting everyone else burn their energy on "keeping up". Then, when the hype has died down and I see what really has worked and stuck with people, I go learn it.
On the other hand, I have a pretty good feeling for just how this is going to change things and what can be done with the current and future models.
I'm betting on easy-access UI tools never being as useful as working with raw models. If I'm wrong, oh well. I had a lot of fun tinkering.
Because if you're not, it sounds like you're distracting yourself with shiny things instead of focusing on your industry, on your investors, on your leads and clients, on your team, etc. While common, that sounds like a terrible founder approach.
AI-assisted programming may be something that your engineers bring into your company because they find it improves their work. But like any other tool one's staff may prefer, your role as a leader doesn't involve "keeping up on the advances". At best, it involves sourcing trusted perspectives when you face a decision point (authorizing a request, perhaps), making the choice, and then moving on to other leadership tasks.
I work as a junior programmer/sysadmin. Most of the work I do has centered around being aware of the abstract logical nature of the problems I solve. Thus, I have had little issues solving a routing policy in IOS, JunOS, OpenBSD or plain old Linux, for example. Or writing some WSGI application to interface with an old water meter. Or fixing a broken Ubuntu 12 webserver that no-one has accessed in years.
Considering the comments on another topic on HN today, It still looks like GPTs have great issues with abstraction, which I personally experienced when I asked it to fix some issue I've been having regarding data structures I've been using in a project. So I don't think I'll be running out of things to do so soon.
- aider - AI pair programming in your terminal https://aider.chat/
- Tips on coding with GPT (from the author of the above): https://news.ycombinator.com/item?id=36211879
- Cursor - The AI-first Code Editor https://cursor.sh/
One simple tool I use to evaluate is how easy is it to spin up a working demo, in isolation or context of other tools, to show the maturity of thought on the idea moving to application. If there is no benchmark on output(s) before you start that is more science/fantasizing than business. but maybe that's your goal, just don't delude yourself in what you're doing. I also look up project leads on Linkedin and such since these things require push and without a good promoter, usually don't pan out(see crypto for example).
Buried lead: I've built a few tools allowing me to parse the tree and graph structures of new projects in charts/schemas to get quick visuals for myself and the LLMs I use to code. Additionally, I have built tooling to test rapidly. For if everything is dynamic, optimizing measurement is quite valuable in and of itself.
On top of that I can't really use any AI tools in my editor as that would violate work policy, so no auto-completion for work stuff.
I use GH Copilot at home sometimes for fun but mostly for generating mock data or quick examples I can give to students when I work in another role.
E.g. I see a lot of similar comments with multiple replies specifically about Copilot - but that's exactly what I'm talking about. ChatGPT, DallE, Copilot - these are the standout things that everybody not keeping up with AI knows about.
As another anecdote, I've had the opposite experience w.r.t. moderation under Musk, it's way, way better for me. Twitter is roughly back to where it was in 2016.
pip install aider-chat
It checks for updates on startup and shows the new version number (and command to update).