Skills pyramid for software engineers

What are the most important skills to have in these days to be an excellent contributor?

How much time do you actually spend on writing code? How much time do you actually spend on reading code from others and negotiating user stories, thus trying to reduce complexity? How important is to you to be approachable and clear in your communication? How important is to you to observer the system you are building and be confindent about your deployment?

A common misconception is that to be the best coder is to know all the design patterns and algorithms off the top of your head. I used to care a lot about writing code in the past or shall I say that I only cared about writing code and the quality of my code - later I realised that writing code is just the icing on the cake.

Hence I created this pyramid like drawing to reflect on how I think about it today. The levels of the pyramid correlates with the amount of time spent on these topics each day. Also it means that wider is the level  and lower in the pyramid— larger is the effort and emphasize on the particular item hence it is very important to pay attention to improvements on these subjects.

You can also read this post on Medium: Medium: