I’ve been a developer for 25 years and I both love and hate what AI is doing to our industry.
I use these tools in projects where there is no sensitive information, outside of my own code, with a full understanding that I may well be sharing my IP with unwanted processes. I do what I can to mitigate this, but I’m sure it’s not enough.
For performance I think Claude or ChatGpt are the best, but it varies depending on your use case. Best way to find out is to subscribe to a service that offers you the choice to alternate between them, to figure out which works best for you.
The company where I’m currently employed lets us use Github Copilot, even though this is a horrible idea in context of the sensitive information they deal with, and the small edge this gives their developers.
I use AI to search for information a lot of the time, and when I’m satisfied with my results I usually cross reference them against other sources. AI is great at putting you on the right track, but still not good enough to give you exactly what you needed most of the time.
As for workflow. I usually create a mental model, covering all the code I want in the way I want it. Sort of like making a map. Then I ask the coding agent to write it piece by piece, not all at once. If there is too much to do, it gets confused and the code becomes a mess.
After it completes each piece, I review it, fix potential problems and then move on to the next piece.
Initially, yes. For me, it took the joy out of development. I was at the point of abandoning it but decided to try some different approaches with it. I think it’s here to stay and felt there had to be some way to leverage it without it making me depressed.
The way I’m using it now I figured out through trial and error. I form a mental model of what I want from start to finish. I then break that down into pieces, and use AI (when appropriate) to generate the code for each piece in sequence. This essentially leaves me in power of the entire development process, but the AI helps me produce the syntax much quicker than I could without it.
My feelings exactly. Whenever I get one of those days I’ve found I get more done away from my desk. Taking a walk in the forest or doing some household chores can really help you get back on track.
Of course at times it’s just better to admit altogether this isn’t a day meant for work and spend it relaxing instead. Usually, the benefit of that is a really productive day at work the day after too, everybody wins.
Almost all my employers and managers have been very understanding about this. But one of my favourites was a manager earlier in my career who picked up that I was anxious about my work hours and ethic. To paraphrase, he said, “the company isn’t paying you to solve problems M-F 9-5. It’s paying you for when you solve them in the shower or on a walk or when you’re putting your kid to bed, and then come into work and implement the solution.”
I’ve thought about this for years as I tune my work life balance. I’ve never felt like I’m wrongly bringing work home with me that way. It’s always felt like an incredible optimization where my job gives me these puzzles I get to carry with me and work on when I’m bored or my ADHD addled brain screams for stimulation.
As long as I compulsively think about work in the shower, at 3AM in bed or while out running, I will never feel guilty about thinking about anything else than work for a while during 9-5.
Do you happen to know if that one is hiring for anything at the moment? Left to solve problems at that pace, I'm pretty sure I could do some great things for them.
There are absolutely places where you are chained to the computer in remote positions this is a culture thing not how work is done. We have a nice culture and we are hiring, sadly not remote anymore.
I do not think it actually affects productivity in either way. What happens is that people seem to feel better.
This is one of the very best things to me about work from home. There are times I just get up and go piddle in the garden, take a short bike ride, or even just run an errand. I even do it when I'm stuck rather than just from being interrupted. It helps the brain to essentially, ctrl-z; bg and then move on to the next thing. When I return, I find the job %1 has completed, and I have a new approach/idea that is typically much more successful than the previous attempt of banging my head on the desk/keyboard in frustration. It's much healthier for me than vibe coding around the problem
Yeah, most of my best work comes while I’m out for a run on a local forest track. I try not to think about work while I’m out there, probably that’s why it’s so helpful.
I think the author meant, in a general way, it’s better to avoid simultaneous writes from different services, because this is an easy way to introduce race conditions.
I do wonder about why the author left out testing, documentation and qa tool design though. To my mind, writing a proper phpcs or whatever to ensure everyone on the team writes code in a consistent way is crucial. Without documentation we end up forgetting why we did certain things. And without tests refactors are a nightmare.
Strange post. It reads in part like an incoherent rant and in part as a well made analysis.
It’s mostly on point though. Although, in recent years I’ve been assigned to manage and plan projects at work, and the skills I’ve learnt from that greatly help to get effective results from an LLM I think.
It’s great to see someone doing something just for the love of doing it. We so often get wrapped up in reaching a goal we forget the journey is what matters most. The curiosity and will to learn new things. I think this project reflects this quite well, and bravo on this amazing achievement. It’s seriously badass.
I use these tools in projects where there is no sensitive information, outside of my own code, with a full understanding that I may well be sharing my IP with unwanted processes. I do what I can to mitigate this, but I’m sure it’s not enough.
For performance I think Claude or ChatGpt are the best, but it varies depending on your use case. Best way to find out is to subscribe to a service that offers you the choice to alternate between them, to figure out which works best for you.
The company where I’m currently employed lets us use Github Copilot, even though this is a horrible idea in context of the sensitive information they deal with, and the small edge this gives their developers.
I use AI to search for information a lot of the time, and when I’m satisfied with my results I usually cross reference them against other sources. AI is great at putting you on the right track, but still not good enough to give you exactly what you needed most of the time.
As for workflow. I usually create a mental model, covering all the code I want in the way I want it. Sort of like making a map. Then I ask the coding agent to write it piece by piece, not all at once. If there is too much to do, it gets confused and the code becomes a mess.
After it completes each piece, I review it, fix potential problems and then move on to the next piece.