Revolution can happen just from pure charisma of a leader or from the will of the masses. But after the revolution succeeds, after the old system is replaced by a new one, the technical skills of the new leaders are put to the test. Without good architecting capability to make the new system cleaner and better, the newly created system will soon fall, people will go back to the old system, and the revolution will be for nothing.

Warning: tech-speak ahead.

In my current job, me and the coders I work with complains quite a lot about the messy state of the code base of the project. Discussions about wanting to replace the old code base with a new one come up quite often.

Then, the opportunity actually comes to create a green-field project with a new code base.

One of the people entrusted with this project is me. I was asked to create an API layer to connect the UI to an external database. From this opportunity, I learn that my skill to create a clean structure for the code base and to produce the clean code is put to the test. Without sufficient technical skill and professional discipline to keep things clean, this new project will just fall into messiness again.