We are using software to do almost everything, and the importance of software developers is exponentially growing. The global developer population is only 0.3 % of the global population but it influences the lives of almost everyone. Still, much more developers are needed to solve more problems and to solve them better.
It is not enough to increase only the number of developers, but also to increase their creativity in solving problems.
Creativity depends on abstract thinking. Abstract thinking allows developers to define patterns in a large number of problems. The more abstract our problem solving is, the more creative we are, the more problems we can solve. Abstraction is crucial for development.
To understand this better, below is a scale of development abstractions (1 = lowest, 7 = highest):
1) Operational task – the lowest abstraction;
2) Algorithm – code that solves a specific user problem;
3) Architecture – how all code and algorithms work together;
4) Teamwork – how the team works together;
5) Product – how a single product delivers value to users;
6) Brand – how the whole company delivers value to customers;
7) Market – the highest abstraction, how all products and brands on the market compete.
The higher the abstraction at which developer is able to think, the bigger the impact they will have. While development always comes down to producing code, abstract thinking will help them drastically in designing and understanding the solutions before they code. It will also allow them to communicate better with their team.
If you are a developer or you manage developers, you should check where you place yourself and your team on the above scale.
|Why is Italy not exporting as much as Germany?||Love the strange and dirty leads|