When I had partners in my business I studied them first deeply like I was going to marry them because I WAS going to marry them!
You should agree on your values or else the company will go nowhere. One founder will raw one way and the other the opposite making the boat to stay in the same place.
I have a software company and the opposite problem: I am obsessive about testing and meta programming. We write way more testing code than code, we automate everything with meta programming.
It was clear several times that we tested and automated way more than necessary. We automated things that only used once for example(although we used later multiple times on other projects).
So we had not the usual problems than companies have like bloat or security vulnerabilities but we had the problem of having software that was was super expensive because we did double or triple the code than the competition with tests that developers hated(they are boring to write). Our software took also way more time to market.
Companies love to buy the cheapest they can today and tomorrow we will see, so that put us in a difficult position. It was specially hard at first, but then this principles gave us an edge(because most companies would compromise early and not reap the benefits later).
Had I a business partner with a different mindset and beliefs, it would have been impossible to me not to change course of the boat in hard times.
BTW we use LLMs with great success. It let's us test even more spending way less than before.
Just watch the software engineers who say "Let's be careful" lose their jobs and get replaced by non-technical vibe-coders churning out 10K lines of dirty insecure, unmaintainable code per day... Ticking time bomb.
I swear, good engineers are going to move to North Korea to monetize because of the amount and size of 'opportunities' this will create.
It seems so far-fetched but that's the direction it seems to be heading.
Or, if you have reason to believe he's got what it takes - treat it like an leaving opportunity, give him room to make mistakes. This is, ime, what a rookie AI user mistake looks like.
It is easy to get carried away by the momentum. Many have fallen into that trap, not all are irredeemably bad software engineers.
I see the take quite often on HN, and I have a major gripe with it. Yes, people were lazy and we had these problems before LLMs hit the scene, but clearly there has been a sea-change in both the frequency and degree of this behaviour since.
A problem can both exist independent of a catalyst and be exacerbated by it. Arguments that try to window-dress this away are not particularly productive.
I am one of those neurodivergent people who loves programming because it gives me the right stimulation.
I also enjoy drawing, gardening, and exercise.
I don't own a car because I love walking, and such.
So I'm wondering if it's time to call it quits with programming (for a living).
Luckily I have some savings and I have other interests from years of doing random jobs and businesses, and as much as I love programming, especially with others, I think very few of us still want to program.
I'm like the Last Samurai of programming while everyone is using AI-assisted gattling guns.
Is it time to let go?
Two things you can do regarding programming here.
1. Be a consultant for a high wage, use AI, produce good results quickly - little to negative intellectual joy here. You still have the edge here due to good taste.
2. Produce 'artisanal' code in your spare time. Work 3 months for pay, then 9 months on whatever projects scratch your itch.
I still want to program and I don't think it's time to let go. Hit me up (email in bio) if you wanna chat, you sound like a really interesting bloke.
Sorry to hear you're having a rough time with work. I do think AI availability has made otherwise smart people put out lazy work. But I also think that there are more people who still "code by hand" than you think.
You might find some joy by going to certain events where people talk about different items coding-wise. I enjoyed the talks for this conference recently https://www.youtube.com/@softwareshouldwork (particularly Richard Hipp's, Delaney Gillilan's and Carson Gross' talks), maybe you can find similar spaces. The benefit has been Youtube's algorithm recommending me better software talks now too.
I bought a seriously derelict property in country Australia and am having a good time slowly fixing it up.
I’ll get back to programming next year, hopefully the blow-ins have moved on to the next hype cycle by that time.
I just got back to working on a project I like where we don't use any LLMs for code generation because we think it kind of sucks and leads to bad results unless it's for incredibly small contexts (which is usually not worth the prompting).
You're also not as alone as you think in actually liking programming enough to do it by hand even after having used LLMs. There's also the fact that you build more theory up by actually writing the code anyway, so someone who actually wants to know their code base intimitely will always have to write the code.
A small (and a bit tangential) personal story: I thought I am one of those people who care about the result, more then about the process.
But, I've recently played a game called "The Farmer Was Replaced" that someone mentioned in the comments in one of the posts here, on HN.
The game is basically a farming sim, except you farm by programming a drone using a Python-like language.
Of course, I didn't use AI, because where is the fan in this? In "normal life" (work, personal projects), it is very hard for me to convince myself to do anything manually, because generating code is more efficient. But in a game, using AI assistance would be like using aimbot in a shooter or a cheatcode in some other game. Yeah, it's much more efficient, but what is the point? There is no challenge and no fun that comes from overcoming the challenge.
So, anyway, I was writing code by hand for the first time in I-don't-even-remember-how-many years. And it was so much fun. I don't remember when was the last time I felt so engaged, so immersed, so "in the flow".
So, yeah. After all, maybe I'm not a ruthless pragmatic who only cares about the final result and doesn't gives a shit, how did he get there...
But HOLY SHIT THE DOPAMINE RUSH. Just crafting things and making them appear on the screen with a few statements... It was like I was a kid again. I remembered why I liked programming.
It's like... AI is a cheatcode. It's iddqd. Sure, you can cakewalk through a level with it on, but are you really playing the game, then? You certainly haven't gotten better by doing so, and you haven't experienced the involuntary buttcheek clench when you hear a cacodemon hiss from behind you... The whole point of programming is the new things I can do by having gone through the exercise of figuring it out. The ways I've grown, the glimpses I've gotten into the world.
I mean, if you want to retire go ahead, but don't do it because of AI. AI is just a tool to generate code faster. It doesn't replace the work of actually making design decisions and knowing what will scale and what's better going forward vs what will work now but spiral into unmanageable spaghetti code soon (yes AIs also have a harder time managing messy code than neat code)
In my last round of job search this year no one asked me questions about good software practices but they did ask me how proficient I was with AI agents. And let's not forget that we are part of an industry whose motto is "move fast and break things". Sure, NASA has a zero-bugs approach to software dev, but they don't have room for all of us.
It was pretty simple to project the compounding effects and headroom that we had. I go back and forth on this all the time.
There probably won't be much demand for "un-fuckers". Up until recently I thought knowing what to build for a given context would give you quite a bit of runway.
I still think knowing what you should build will be important for the next 12-24 months.. but I have to be honest.. after that.. I don't know.
I don't know how to feel myself. I'm certainly an "ideas" guy as well as a nitty gritty build it guy. I just think my technical side is depreciating very rapidly.
Banks will not work like that for next 10 years at least. The tiny amount of money one could save on those big banking projects by using llms aggressively will bite back immediately when shit just doesn't work, clients leave for good and regulators will fine you to the ground (or remove your banking license). Many other businesses who are not race to the bottom and realize how crucial reliable IT is to their business also won't go that way anytime soon.
World is not ending, there is some transformation and thats about it. Its true there will be much less jobs for devs but its mostly affecting newcomers. Statistical models are not making code better than experienced humans, and won't for some time if ever.
Not sure what business you are in but the non tech industries (corporate IT, in house apps) have not, in general, been associated with quality. Cost cutting, outsourcing to the lowest bidder: yes. Quality: no.
Programming by hand is one way (it also works with AI), to make decisions. Decisions about scalability, maintainability and sanity of your software. And still this will pay off!
To me it sounds as if he is a very bad software engineer.
> THIS is what I am so against when people use AI for everything.
This sounds horrendous but can we please stop equating vibe-coding to AI-assisted coding? They are not the same thing. It's one thing to submit 5K vibe-coded untested PR and another thing to use AI to add functionality in a granular way that you can review, or generate boilerplate, or test your ideas and scrap them if they suck and so on.
Wanna know the answer of those who lost all their brain cells to that?
"If there are bugs, it's only because the prompt was off. I'm a better prompt-engineer than your business partner, so this could never ever happen to me."
And off to the couch they go sit and shut their brains off.
I gather that you don't have the "juice" to demand better. Even AI testing AI would be better (in some parallel universe?) than not testing at all.
So become a consultant, preaching the simple gospel of "test this goddamn thing before unleashing it, or the tougher gospel of "Well if AI is doing all the work, then why don't you find a job that tolerates garbage?"
I almost always had more responsibility than authority, except for a job where I actually had a field team. They were laid off by the "authorities" in order of greatest competence first and I ended up with one guy who made countless goofs, like creating overlapping disk partitions. I ended up redoing all his work, more than doubling my load. Does that sound familiar?
In your case, it sounds like you will end up similarly, unless you find a way get your management to establish a "No broken shit" rule. I know that's daunting, and in many jobs, I could only finagle minor changes, usually by talking with other people more tenured, who had a piece of management's ear.
If it amounts to "I must double my work or this all falls apart" while your partner pushes buttons (my charge was a "button-pusher"), then leave, and good luck.
But do give it one college try to get some sanity into the system.
I did work as an Engineering Manager for a bit but honestly hated it with my guts. Promised myself I would never do that again. I have two young children so they're a bigger priority right now.
Not to sound pretentious but I was top 10 in my country (for example, I read a 500-page book on Assembly language the night before and aced a test that 90% of people failed) so it's really hard for me to work with people who don't get things as fast as I do.
Nothing to brag as it really isn't all hard work, I'm just quite neurodivergent compared to the average. It comes with A LOT of downsides (some nights I only sleep 2 hours because I came up with the solution to a hard problem while I was asleep and wake up to code it and it works)
Now, all this is because I am now at a crossroad where I have enough money and life experience in other jobs (I stopped programming for 10 years in fact because I had a pretty successful business).
The sad part is that I rekindled my love with programming in the last decade (I'm past 40), but it might be time to let it go and go back to doing business.
EDIT: I did work as a consultant (reluctantly) and was charging $500/hr because I really didn't like it but the demand was there. With the economy not being what it was and all the "AI prompt vibe coders" etc blah blah out there I don't really know what's a good rate now.
I'm a real old-timer and really wanted that kind of leap for a long time, and delved into scripting languages and even dataflow as in the old Prograph [0], but did mostly sysadmin kinds of chores, with some very fun scientific simulations (so that upper management, even older than I was) could use them, in Hypercard, and that dead-ended.
If the next step is to build upon "building blocks" I'd like to see THOSE blocks thoroughly tested, as math libraries are to a great degree, and not ad-hoc. The most annoying thing I find about LLM's is their propensity to reinvent wheels every time. This may be inherent in the design, I don't know. But a serious business or other project should insist on reliable reusable blocks.
Perhaps the current situation is more like rounding up animals after they broke out of the zoo than caring for them, before it stabilizes if it ever does.
I nag people here to meet some real unmet needs, particularly for seniors, not just because I am one, but because I have had a lot of ideas on what to do, especially about building community and services. The internet is just too savage a place for most. I'll bet that the people approaching senior status will bitch about the lack of real self-driving cars, exoskeletons, and fraud-proof networks of trust, compared to the chainsaw internet of scams --- that THEY could have solved.
Create a "programmable internet" to get around all the annoyances, traps and dark patterns? I do it all the time, working around annoyances, popups, scams, paywalls. The average person isn't going to be able to do these things, not even with the leveling up of programming, but perhaps via proxy. Just as everyone seems to be putting up a shield, with endless CAPTCHAS (and I have browser extentions to solve these relentless eye exams) maybe users need a shield themselves.
But I ramble.
Good luck in whatever you decide to do.
Tally your strengths and strongest interests. Enjoy your family. I was posting elsewhere about some of the insane managers I've endured but memories and photos (some scanned from the film days) of being a parent are the real heart and soul of life. I have read some really insightful articles on what skills will be needed in the next few years and I'll summarize as I make sense of them.
Simply put you still need good practices to produce working good code with AI.
Oddly what I have found best is patterns that many would cringe and demeans unit test and integration test.
Yes I still vibe unit test and integration test, but more than ever I have to put on my PM and QA hat, even more so with web dev.
For me the only part of the process that has changed is I don’t write the code. I still setup environments to run the code, I still manually poke at things I suspect will be fragile. But most importantly I still always run the software before shipping it.
False sense of security. What's stopping the agents from doing an elaborate form of "Assert.IsTrue(true)" in some/most/all of the tests since you are vibing it and not reviewing it?
Except that it is the enabler. Without AI there are no 5K lines of code that no human has ever seen. AI introduces a new category of problem that did not exist before.
But the underlying bad practices _will_ bite the same they would have before AI, you just don't know when.
It's a really frustrating state of the industry to be in.
so, would you say "no worries man I know what I'm doing" about how you use AI?