Ask HN: How do you not take criticism of your work personally?
My suggestion is to do more design work up front before touching code. Write up a plan in a drive document or an internal wiki tool, with a focus on capturing requirements, a high level description of your proposed solution, and detailed sections on the portions you anticipate to be complicated, controversial, or risky. Also include an &quot;alternatives&quot; section where you very briefly summarize technical approaches that you considered but ruled out.<p>That captures most of the high-value engineering work necessary to solve the problem, and you can move faster, unencumbered by programming languages, linters and toolchains because you&#x27;re using freeform human communication. That document is allowed to be ugly.<p>Once you have an initial idea down, even if you don&#x27;t like it yet, pass it around to your coworkers. Ask them for feedback on the design, especially the requirements, and ask them to help you brainstorm solutions to the parts you don&#x27;t like. Your coworkers are going to naturally approach your document with a positive, progressive mindset. There&#x27;s no risk of breaking things or stepping on toes. Chances are there will be design decisions they don&#x27;t like, or have better ideas for how to do it. Since it&#x27;s a freeform document, you can quickly rewrite stuff and tweak it until everyone&#x27;s happy, or you can at least have the tough conversations to reach a compromise.<p>Once your coworkers have had a chance to provide feedback, then is the time to write code. Since you did that up-front work, you should be able to barf out the code 10x faster. You could even hand it off to someone else like an intern to barf out the code.<p>When the code goes through code review, it&#x27;s your coworkers&#x27; jobs to be in a very conservative mindset, looking for regressions and maintenance pitfalls. You&#x27;ll likely have a very different experience, though, because the code is now the manifestation of a previously agreed upon plan. It&#x27;s simply an artifact. The lines of code are &quot;cattle&quot; to be slaughtered and consumed rather than &quot;pets&quot;.