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