Zach Gollwitzer

5.5K posts

Zach Gollwitzer banner
Zach Gollwitzer

Zach Gollwitzer

@zg_dev

⊟ Building @maybe ○ Running https://t.co/crOIdOlqX0, https://t.co/tKra6hDDCk

Cincinnati, OH Beigetreten Aralık 2020
486 Folgt3.2K Follower
Zach Gollwitzer
Zach Gollwitzer@zg_dev·
1 year later, the AI models are significantly better at writing software, and yet, this increasingly feels more and more true x.com/zg_dev/status/…
Zach Gollwitzer@zg_dev

Lovable/Cursor/Bolt have created a "Home Depot moment" for apps It hasn't killed software development; it has simply opened the doors for non-professionals to participate in something previously inaccessible due to skill and capital-based barriers to entry. "But that app is terrible, wait until they deal with the reality of maintaining an app with real customers and scaling infrastructure..." I think this argument misses the point entirely. Very few people walk into Home Depot thinking, "I'm going to build my dream home and then immediately start a home-building company" People go to Home Depot to buy the things required to solve their small and idiosyncratic problems—painting a room, fixing the deck, building a house for their dog. I think the same thing is happening with apps—there's a level of joy AND utility in building an app that solves a personal and potentially, ephemeral need. Home Depot didn't displace professional painters nor did it put them in competition with the DIY'er attempting to paint a room in their house to save some money, learn a new skill, for the enjoyment, or all of the above. I think the tension we see today occurs when the DIY painter finishes their first room and immediately starts bragging to the world, "There's no need for professional painters anymore; Just go to Home Depot and do it yourself!" The definition of "app" is changing. While previously, consumers equated "app" to "highly professional and reliable", we're now seeing a wide array of "apps" flooding the market; some great, some good, and some, quite frankly—dangerous to consumers. I really think the only outcome here is consumers increasing their skepticism while subscribing to new apps and placing a higher value on the "origin" of the app. Durable apps will continue to capture the majority of the market. Just like the industrialization of farming led consumers to care a lot more about the sustainability and origin of their foods, I think this mass-production of applications will wake consumers up to the quality of the apps they're using; not just whether it looks good and works well. It will probably also lead to more stringent review processes in app stores :/ Nevertheless, AI code generation has opened up a creative outlet for thousands of people that will most certainly push existing apps to innovate faster. And for that reason alone, I think it's a huge win for everyone.

English
1
0
0
62
Zach Gollwitzer
Zach Gollwitzer@zg_dev·
@aarondfrancis “That’s a really important distinction. You’re not only thinking about the code, but also demonstrating great management skills”
English
0
0
2
46
bdougie on the internet
@zg_dev Paragraph 1 and 2 is tapes. Paragraph 3 is interesting and the value users will get from tapes. Let me know if you’d be interested in a demo for what we are shipping next.
English
1
0
1
19
Zach Gollwitzer
Zach Gollwitzer@zg_dev·
Prob being worked on already, but seems like the next step for agent harnesses is to ship with a low cost, built-in logger that can be hooked up to any sink Every key idea, decision, prompt, synthesized in an append-only commit log (think Kafka-esque), with standard message structure, in source control for later context retrieval The “prompts as spec” only makes sense if they can be processed and transformed later. No human or agent can handle a never ending stream of prompts that may or may not reflect reality, but you could certainly extract some value from a structured log of non-code changes (not trying to reinvent git here) that can be piped through any transformations (think automated status updates to business stakeholders as the code is shipped)
English
3
0
2
184
BekahHW
BekahHW@BekahHW·
@zg_dev You should check out tapes.dev. Not exactly what you’re talking about, but I think it takes it a step further. Also, check out what @bdougieYO’s been doing with it. He has a couple of x articles and some on papercompute.com/blog
English
1
0
2
42
Zach Gollwitzer
Zach Gollwitzer@zg_dev·
This could also just apply to code commits in general, so instead of the agent leaving trails of comments everywhere, the code itself stays uncluttered, and non obvious pieces of functionality are automatically documented and correlated in the log
English
0
0
0
46
Thorsten Ball
Thorsten Ball@thorstenball·
Lately, whenever I open this app and see the latest tricks, and hacks, and notes, and workflows, and spec here and skill there, I can't help but think: All of this will be washed away by the models. Every Markdown file that's precious to you right now will be gone.
English
96
43
798
97.8K
Zach Gollwitzer
Zach Gollwitzer@zg_dev·
@quangsg @rahulj51 Just generally talking about the test suite as the spec! I don't think historical industry adoption is necessarily indicative of where things are headed here. I never loved TDD myself, but when building with AI it makes a lot more sense. It's a "non-negotiable spec"
English
0
0
1
10
wangsg
wangsg@quangsg·
@zg_dev @rahulj51 what is the adoption rate of TDD in the industry .. dont confuse TDD and tests :)
English
1
0
1
17
Rahul Jain
Rahul Jain@rahulj51·
I don't know. Hard for me to agree with the spec-is-code argument. Specs are low fidelity. They aren't a common shared DSL. Have very low signal to noise. Not verifiable or deterministic. They don't encourage iterative work. Almost always written by an agent, thus prone to more slop. Lose their inherent value as soon as they are converted to code. Specs are throwaway. They are a way to temporarily express behavior intent - an agent translates that to a version of code. That's the thing that lives forever. If you are convinced that spec is code then you should be able to confidently delete all code and regenerate from specs.
English
19
2
55
8.5K
Zach Gollwitzer
Zach Gollwitzer@zg_dev·
Yeah, I think there's a place for these artifacts, potentially committed to source control in an append-only log format. But they don't feel useful in the "hot path" of day to day development. I see these more as something you come back to as-needed, and let the AI agent explore them to figure out what happened in the past.
English
0
0
0
20
glylesterol
glylesterol@glylesterol·
@zg_dev @rahulj51 personally find specs useful to group together design + implementation choices + failed explorations + account for future use cases, all in one place. If it was in code this information is scattered over multiple files or would be a mess of (peripheral) comments.
English
1
0
1
20
Zach Gollwitzer
Zach Gollwitzer@zg_dev·
Yeah I think I agree with all this, there's just a ton of risk embedded at each step given the uncertain latency of these tools that don't exist in a conventional interview where you're writing all the code yourself. At least for me, time-management with AI tools is wayyy harder in practice than I originally thought. They feel insanely fast and productive, but 45 min still feels extremely compressed even for AI agent work.
English
1
0
1
17
Jeremy Kreutzbender
Jeremy Kreutzbender@J_Kreutzbender·
@zg_dev @robzolkos Both paths, refactoring or debugging, should give a good signal to an interviewer that you have a grasp on how to interact with generated code
English
1
0
0
21
Zach Gollwitzer
Zach Gollwitzer@zg_dev·
I’m torn on AI interviews. The candidate is forced to decide, “how hard do I push this AI”, which lives on a broad spectrum. Don’t use it at all? You risk being labeled “behind”. Use it too much? You risk being labeled “sloppy”. But as many who use AI know, the middle barely exists. It’s extremely hard to scope a unit of work that is 50% AI driven (esp in a fixed interview time period). You either commit to 10x the scope and heavily lean on AI and accept the “slop cost” in service of demonstrating your ability to think higher architecturally, or you take the 1x scope and lean in on your ability to demonstrate crisp, clean implementations. In the former case, an engineer who truly cares about great code is made out to be “sloppy” and careless, while in the latter, the engineer is made out to be, “too slow for the times”. So ironically, in a world where we are increasingly using AI to write our software, I’m not certain and confident that AI interviews are the best signal of talent. At least in my experience, I feel as though it misrepresents the candidate. I’m sure companies will learn how to incorporate it better as we move forward, but we’re in a very confusing moment right now.
English
1
0
0
227
Zach Gollwitzer
Zach Gollwitzer@zg_dev·
@rahulj51 Yeah, I think we’re all blending 3-4 different conversations into one. Net new features vs. greenfield codebases vs. very simple CRUD features vs. long-term maintenance of apps AI has a very very different role in each of these, but we all argue as if they’re the same
English
1
0
2
52
Rahul Jain
Rahul Jain@rahulj51·
Same. My very very cynical take is that a lot of Tech adjacent people are now able to code using agents and this is great. But they are also mostly building peripheral net-new features in an existing system (if not a completely new system), instead of building complex features that cut across multiple subsystems. And perhaps that's creating this bias towards specs - A spec written by an agent with all the code snippets etc make it feel like the agent knows what it's doing.
English
1
0
2
301
Zach Gollwitzer
Zach Gollwitzer@zg_dev·
As in, you demonstrate that you see the slop, and address it proactively? I’d agree with that, but tremendously hard to do in a fixed interview time period given the variable latency of code generation and non-deterministic outputs. In my case, I ran out of time before I was able to address the slop, so just had to run with it and call it out.
English
1
0
2
40
Rob Zolkos
Rob Zolkos@robzolkos·
@zg_dev Reframe it to using it so much that I have systems and guardrails in place to detect and address slop/low quality.
English
1
0
0
82
Zach Gollwitzer
Zach Gollwitzer@zg_dev·
@robzolkos I go through a stack of 10-20 sheets of printer paper every week just sketching out ideas. Totally underrated, I agree.
English
0
0
2
38
Zach Gollwitzer
Zach Gollwitzer@zg_dev·
It’s funny how through all the cycles of worktrees, subagents, skills, ralph loops, lobsters, and context engineering, a good ole default claude code instance + nvim/tmux + some hard human thinking still seems to accomplish more in the long run.
English
3
0
7
538
Zach Gollwitzer
Zach Gollwitzer@zg_dev·
@boristane You put the humans at the edges. Control the inputs, measure the outputs. A streaming data pipeline, where the messages are code fragments
English
0
0
0
26
Zach Gollwitzer
Zach Gollwitzer@zg_dev·
@boristane When you push code to prod, which you have not read, the only logical next step is to have an army of 2nd and 3rd line of defense observability tools to measure the “slop stream” (code as a stream), which helps allocate human devs more effectively
English
1
0
1
174