Technology advances faster than a person could digest. We create software pushed by deadlines, pushed by competitors, pushed by stakeholders. We constantly look ahead, learn new things, go to conferences and trainings, teach developers to the new needs around development and operation in the cloud.
And that is good.
Still, uncertainties immerge, a feeling that we leave some things behind.
what is a good programmer?
where do we find the confidence that we build things to last long?
how do we see through technology and separate it from skill?
how do we measure, compare and improve ourselves so we ensure future quality?
Assessing the matter and estimating the answers are not easy tasks. Since already several years we, in SAP Labs Bulgaria have an established body which we call TECH - Technical Excellence Community Hub.
In essence TECH is a group of experienced developers driving a process for cross-examination of source code as source code is the closest reflection of the principles and concepts a programmer practises. For now we cover only some of organizations in the lab (i.e. HCP and UX Platform in Sofia). The difference from regular reviews done inside a team is that we strive for external, unbiased point of view that can fight habits often overlooked in teams merely because of being used to.
Code reviews can be requested by developers, by their managers or on a random principle so we can cover orgnazitations completely.
It often boils down to some basics.
keeping the code clean, understandable, maintainable
having everything tested automatically
using algorithms with the right complexity
designing code with OOP in mind
maintaining processes in teams that ensure high quality code
The most important part of the review process is the feedback we give to developers. The goal is to agree on common best practices and to create the awareness for possible areas of improvement. We also demand such improvement, by follow-up reviews.
As collaterals of TECH reviews we strive for scaling.
during our review cycles we have found and catalogued many different issues that we try to turn into suggestions for good practices, accessible to all developers in our organizations and beyond
we tranform the real findings to extend and raise our bars for a home grown examination app, that we use today to assess internship candidates (and plan to use internally as self assessment tool for developers)
propose books to be used as reference for developers and help to make those books available in our common library
We believe that carrying TECH activities persistently and continuously will water our programmer roots to raise the technical skills that we actually need to embrace the fast advancing technology.