Working approach
Design
Now that we have the requirements, we need to think about how to design the solution. This is where one of the most important phases of the work begins.
There are two main approaches: we can dive deeper into specific texts (like DDIA) or look at what competitors are doing to draw inspiration.
Reinventing the wheel is never the preferred option, but sometimes it’s unavoidable. Even if the solution might not be perfect, we have to do our best with the resources available.
Testing
At the beginning of my career, I worked on testing, an activity that might seem tedious but is crucial.
We all know the client will always find that one bug you never thought of, so it's essential to do everything possible to minimize these chances.
Recently, alongside project deadlines, I’ve started focusing on unit testing. Spring, in this regard, has proven to be a great tool, allowing me to identify issues during development. This approach helps me deliver a more robust product and reduce the risk of problems in later stages.
Continuous improving
As the Tao of Programming states, software, if not maintained, eventually deteriorates. At the time of release, software is already a step behind future needs.
Frameworks and languages can age quickly, but people don’t.
That’s why staying updated is crucial. A question I constantly ask myself is, "Can I do better?" And the answer is always yes.