2
points
chaidhat
Joined 16 karma
chaimongkol@ucla.edu
- chaidhat parentI feel like im reading a claude code summary
- Hi, I’m running a 4-person startup based in Bangkok, Thailand and we differentiate code quality based on priority. We try to ship only clean code on master but when we talk with clients and they want a demo of a new product/feature, we use AI to rapidly create an MVP to see if it aligns with their needs. If they are happy, we then refine this MVP until we are happy with the code through manual review and refactoring, or we even rewrite it. We make sure our data is shaped correctly, hot paths are tested and things are well separated by domain (Domain driven design). DDD ensures us that if the code is shitty, only that part of the project is shitty. Only when the code is acceptable, we rebase to master. I try to let engineers talk to clients so that they learn the most from them first hand and then let them dictate smaller tasks for AI to do —- they are more product managery than what a typical engr would be ten years ago. Do you think this is a good approach? I’m also curious what other startups do too.
tldr we aren’t confident of the code we write quickly but we then take time to make sure we’re confident before we merge to master
- You must have immense patience to daily drive codex. To be honest, I’ve observed better code quality from codex (in terms of separation of concerns, high cohesion loose coupling, etc.) but Opus has great quality at roughly 1/3rd of the speed. Try it on Cursor maybe then decide if you want to switch. I’m curious — have you tried gemini pro 3 and do you thibk deserve the hype?
- Thank you for the reply! Good luck with your app too! I heard of Claude Code filling out PRs but in my experience I haven't been able to successfully pull that off, as it creates errors and doesn't see it themselves. I am trying to experiment with a pipeline which it can find the feature it created by writing a frontend integration test and take a screenshot, using Playwright MCP, to verify whether it successfully or did not successfully execute the task. If it did not, then it loops until it does. This removes the human-in-the-loop and probably (I need to want internal evals to prove this out) increases its correctness per run. The bottleneck then becomes code review and making sure the code it did write isn't hot garbage.
- Thank you for the reply! I'll certainly try to keep those in mind. I've been coding in dart for 5 years (pre-chatgpt) but inside my own bubble and not with a world-class team-- that's what's worrying me. What would you recommend me to do to keep up with the latest best practices/write better "quality" code? Currently, I try to read open source codebases to keep up with best practice (but isn't that's where the LLMs are getting their data anyways?).
- Thank you! This is a good way to critically think about the code. Sort of like when Chegg was a thing and to answer your math homework, you'd have to adapt someone else's solution to a problem similar to yours. Easier than deriving from first principles but not quite asking your friend to do it for you.
- Thank you for the reply and the well thought-out example. This is a good point on garbage in => garbage out as someone else said. Interestingly, the opposite may be true for newer languages: I wrote my frontend in dart over three years in a very C way where getters and setters are just functions. However, after introducing LLMs to my codebase, it started using `get`s and `set`s keywords (which is the newer way). I have a question on personal preference: as an engineer yourself and you were in my shoes, would you prefer newer style > consistency (i.e., I should refactor my 50k LOC codebase) or the opposite (i.e., correct the LLM to use my style)?
- 1 point
- 1 point
- 2 points
- How can smell be used to generate value? Do you want to generate value or are you just interested in that sort of stuff?
Are you in Berkeley or Stanford? They probably have a lot of professors you could email who are probably doing at least something to do with that. Or join university clubs. Or cold email people.