Coding is a key part of product development. However, it is only a small part. Significantly more time needs to be spend on activities such talking to potential users, figuring out what to build, testing, and getting user feedback. Also, organizations create many products that do not involve writing software. It’s important to realize that software is a tool that is suitable for solving certain problems.
As an example, for Create Third Places, I have been spending a significant time learning about urban planning concepts that are related to third places, and this does not require creating software. Even for dmvboardgames.com, which is a software project, I am not spending a significant amount of time coding. More of my time is spent on talking to users and thinking about ways to improve the user interface.
I think previous experience also affects how much a tool should be used. My previous software experience is helping to make coding useful for Create Third Places. On the other hand, Create Third Places could function without me creating software if I had a different set of skills.
Due to the fact that coding speed is only a small part of an organization, one should be careful about focusing too much on coding speed. After a certain point, efforts to improve coding speed can have a negative impact because less time is spent addressing the bottlenecks.
Time spent to address bottlenecks besides coding will be more important. Also, addressing bottlenecks will involve set of skills, and practicing a skill will make you better at it. In the long run, this will mean less time is necessary to address bottlenecks.
Over the past decade, I’ve also noticed that software development requires a mindset that is very different from other work. I find that I can have a balanced software mindset if I minimize unnecessary coding. However, if I focus too much on coding while trying to improve speed, I start to have difficultly with other work. I think one reason is the fact that I see software as rooted in real world use, and unnecessary coding disconnects me from the real world.
For further information, I recommend the Deep Life Podcast by Cal Newport. Cal is a computer scientist who talks about the impact of technology and ways to manage information overload.