I've been heavily vibe coding for a couple of personal projects. A free kids typing game and bringing back a multiplayer game I played a lot as a kid back to life both with pretty good success.
Things I personally find work well.
1. Chat through with the AI first the feature you want to build. In codex using vscode I always switch to chat mode, talk through what I am trying to achieve and then once myself and the AI are in "agreement" switch to agent mode. Google's antigravity sort of does this by default and I think it's probably the correct paradigm to use.
2. Get the basics right first. It's easy for the AI to produce a load of slop, but using my experience of development I feel I am (sort of) able to guide the AI in advance in a similar way to how I would coach junior developers.
3. Get the AI to write tests first. BDD seems to work really well for AI. The multiplayer game I was building seemed to regress frequently with just unit tests alone, but when I threw cucumber into the mix things suddenly got a lot more stable.
4. Practice, the more I use AI the more I believe prompting is a skill in itself. It takes time to learn how to get the best out of an Agent.
What I love about AI is the time it gives me to create these things. I'd never been able to do this before and I find it very rewarding seeing my "work" being used by my kids and fellow nostalgia driven gamers.
I would really love to pick your brains on this. Did you do anything special with Frigate to do the stream processing ( hardware offloading etc? ) or was it simply plug and play.
Are you saying that chatgpt wouldn't be able to achieve the digestible bites you're talking of? In which case, at what point do they become digestible? Is that not dependent on the skill of the person doing the digesting? and up to the engineering lead to determine?
I have never once stated that the work the juniors are doing isn't real or interesting, that's an assumption you've made, and I'm trying to state the contrary?
A master crafts person in any field can not become an expert without years of practice and repetition.
Should we therefore always just outsource tasks because the work could do be done faster? does that mean that the experience of doing something that could be done by someone else is less valuable?
ChatGPT could likely answer every leetcode question going? Does that mean there's zero value in a human attempting to answer these questions?
There exists a plethora of real world coding challenges that are beyond typical boilerplate code that ChatGPT has in my experience been able to produce entirely acceptable working solutions for.
The skill of the engineering manager is indeed finding tasks that continue to be rewarding, challenging, fun as the developer progresses.
I don't think ones better than the other per say. It's just different.
I've been in meetings in a room full of people knowing that absolutely no one wants to be there, and no one really knows what they're doing there.
I've been online talking one to one with someone and completely not understood what they were talking about.
Both have pros and cons and the appropriate medium can be chosen based on the situation that's needed.
I'd argue it's a very rare event that a lot of people really need to be in a room together to communicate; when they do a lot more pre-room preparation needs happen than I normally see. ;)
I'm using debug logging ( that isn't deleted ) more and more as I code. It's useful not only for solving the current problem you're experiencing but also helps the next person understand what the code is/isn't doing, adding to its self documenting nature.
Debuggers are great, but the knowledge gained by using them to solve a problem is completely lost once that close button has been pressed.
Also if I'm having to use a debugger to work out what's going on, usually it's a good sign my code is overly complicated...
I'm assuming you get a lot of support financially from your partner / have a big runway? I can't imagine living on £9k a year without such? How do you survive?
edit: I Worry this comment comes across the wrong way. I've been desperate to do a startup for years, but the financial aspect of it has always scared me. I was told at a Hacker News meetup that I probably don't have the entrepreneurial spirit, which the more I think about it, the more I agree with. I'm curious as to how your mindset works :)
The reduction in hours has allowed me to do activities which overall make me happier and less inclined to drink.
I now do a lot of running and bodyweight fitness. Drinking decreases my performance in those two activities and so I tend not to drink as I get far greater happiness from dropping a second in my minutes per mile than I do from having three pints during the week.
Purely anecdotal I know, but since giving up my job in the city and going freelance I have indeed spent far less time drinking and far more time exercising.
A quick one after work was far too common. I buckled far too easily to peer pressure and conformity. After all it's the done thing to do right? A crap day at work is solved by a pint (or three) after? And a good day at work... well that could be considerably more ;)
This reminded me of this http://hnalerts.com/. I think it still works. Mind you it's been a long time since I've submitted anything that made it to the front page. ;)
Complaining is the wrong word. I'm aware more than ever now that what I earn is entirely in my hands and my ability to sell myself.
Having the confidence in you're own ability in order to sell yourself for more money is what I was talking about.
If others are earning more than me with an ability I deem to be less than mine, then I need to learn the skill they are better than me at. Being able to sell themselves.
I turned over ~$80k in my first year freelancing. This year will be substantially higher.
Battling against imposter syndrome and finding out how much your worth to a company/business is one of the hardest things about freelancing. I still today believe I'm undercharging for my skill set. Especially when I compare my ability/experience to those I'm working with who are earning a similar amount of money.
At the same time, money really isn't everything. I've worked many more days this year than I did the last, and that's come with certain sacrifices. No longer going for Monday afternoon walks with my sister and niece is something that I really miss now.
The trick is, as far as I'm concerned, not to compare what you're earning to others, and be happy with your own work/life/financial balance.
Things I personally find work well.
1. Chat through with the AI first the feature you want to build. In codex using vscode I always switch to chat mode, talk through what I am trying to achieve and then once myself and the AI are in "agreement" switch to agent mode. Google's antigravity sort of does this by default and I think it's probably the correct paradigm to use.
2. Get the basics right first. It's easy for the AI to produce a load of slop, but using my experience of development I feel I am (sort of) able to guide the AI in advance in a similar way to how I would coach junior developers.
3. Get the AI to write tests first. BDD seems to work really well for AI. The multiplayer game I was building seemed to regress frequently with just unit tests alone, but when I threw cucumber into the mix things suddenly got a lot more stable.
4. Practice, the more I use AI the more I believe prompting is a skill in itself. It takes time to learn how to get the best out of an Agent.
What I love about AI is the time it gives me to create these things. I'd never been able to do this before and I find it very rewarding seeing my "work" being used by my kids and fellow nostalgia driven gamers.