I think the most important sentence in this article is:<p>> The most frequently cited tasks that an expert should be good at were designing software architecture, writing source code, and analysing and understanding requirements.<p>But I think this is also missing verification of the requirements, which is writing tests and being able to ship reliable code. Step 1 is to make sure you understand the requirements, step 2 is writing good code, step 3 is shipping the code after verifying that all the requirements are met, and the quality of the product is good