Problem Solver Or Problem Builder
01 Aug 2020 - ftranjan
Are you a problem-solver or a problem-builder software developer? Discover the difference between good and bad developers, and why pure technical knowledge isn’t the most relevant skill.
When working for different companies, during my career as a software developer, I came across a lot of situations and legacy codebases left from other programmers. Some of them are good and other ones not so. What leads me to a question, do we have problem-solver and problem-builder professionals?
Some software projects are good, others are bad.
The main characteristics of a good software project are:
- They bring the value the customer needs.
- They are easy to maintain and understand.
- They need a low workforce cost to produce high-value output.
The bad software projects are the exactly opposite of the good ones.
Why bad software projects exists? And lots of them? To answer that question, we need to answer first: Why we build software in the first place?
If you’re building a personal software project, that’s maybe for fun. Or even you can build a website for your family member. No problem with that, but most of the commercial software development is built to solve a real problem.
A commercial software project is built to solve real problems.
Being said that, we as professional developers are responsible to connect the digital world to solve an existent real problem with software. And doing that with only a computer and an internet connection. It seems like magic, and it really is! The problem arises when the developer lose its focus and start to work by the work. Building a new project with the last hype framework is cool. Using a new programming language to challenge yourself is also cool. Building a lot of POCs and leave there is also a good way to learn.
But the question is: the software you are building are solving the real problem ?
We as professionals are being paid to bring some value to our clients, and not to have fun. And what I see most of the time is a lot of projects built just by personal wish! That’s cool to experiment with new technologies as developers, but please, do it on your own and not in your company. The next time you’re developing a new feature or project, please be professional and ask yourself: that’s the minimum to be done to bring the real value? And remember always, simplicity is the key. Stop being a problem-builder software developer.