97 Things Every Programmer Should Know

(Chris Devlin) #1

(^174) 97 Things Every Programmer Should Know


Ubuntu Coding


for Your Friends


Aslam Khan


SO OFTEN, WE WRiTE CODE iN iSOLATiON and that code reflects our per-
sonal interpretation of a problem, as well as a very personalized solution. We
may be part of the team, yet we are isolated, as is the team. We forget all too
easily that this code created in isolation will be executed, used, extended, and
relied upon by others. It is easy to overlook the social side of software creation.
Creating software is a technical exercise mixed into a social exercise. We just
need to lift our heads more often to realize that we are not working in isola-
tion, and we have shared responsibility for increasing the probability of suc-
cess for everyone, not just the development team.


You can write good-quality code in isolation, all the while lost in self. From
one perspective, that is an egocentric approach (not ego as in arrogant, but
ego as in personal). It is also a Zen view and it is about you, in that moment of
creating code. I always try to live in the moment because it helps me get closer
to good quality, but then I live in my moment. What about the moment of my
team? Is my moment the same as the team’s moment?


In Zulu, the philosophy of Ubuntu is summed up as “Umuntu ngumuntu
ngabantu,” which roughly translates to “A person is a person through (other)
persons.” I get better because you make me better through your good actions.
The flip side is that you get worse at what you do when I am bad at what I
do. Among developers, we can narrow it down to “A developer is a developer
through (other) developers.” If we take it down to the metal, then “Code is
code through (other) code.”

Free download pdf