DEV Community

Anton Goncharov
Anton Goncharov

Posted on • Edited on

It's Easy To Overengineer But Underwork

Many developers have already learned how to write concise code, to build scalable software architecture; they turned infrastructure into a smart conveyor. They accustomed themselves to a high-tech toolset, which is suitable for dealing with foreseeable issues. A problem, that was a creative task just yesterday, today becomes a template. Engineering approach as it is. Script it, observe and enjoy.

In the area of IT there're own fads and trends. Today we see microservices, microcontainers, blockchains, tomorrow's agenda will get us something new. A certain part of IT industry tries hard to ensure that we're in a stream of constant changes. They're capitalizing on our yearning for novelty. While I'm writing this text, it's likely that a yet another whatever.js framework is published somewhere.

An enlightened developer should be above this tech chaos. Experience in a technology measured in years has ceased to mean much since a long time ago. Knack can be developed fast and could be obtained from various sources. In the long run other skills make difference.

Software development is harder than just figuring what API should be called today, and more complex than keeping in mind a checklist of actual practices and techniques. A viable software product can't be considered apart from the business it's serving to. Today software teams should give more consideration to product evolution. It's very easy to overengineer but underwork.

After all, we create not just a piece of software, but a technological process around it. What's really difficult is to build a system of methods, communications and conditions allowing a product to stand firm within a frame of expectations. Yet we can't expect a marvellous tech that will do it for us.

Top comments (0)