Was macht einen großartigen Entwickler aus
Kommentare

In erster Linie schreibt er guten Code – könnte man meinen. Doch ist es tatsächlich so einfach oder muss ein guter Entwickler nicht mehr als das beherrschen? Diese Frage hat sich Entwickler Navid Azimi

In erster Linie schreibt er guten Code – könnte man meinen. Doch ist es tatsächlich so einfach oder muss ein guter Entwickler nicht mehr als das beherrschen? Diese Frage hat sich Entwickler Navid Azimi gestellt und auf seinem „A witty Title for a witty Blog“ für sich beantwortet.

Wie löst man eine solche Frage? Naheliegend ist es, so Azimi, sich zu fragen, warum großartige Entwickler so toll sind. Als er sich diese Frage selbst gestellt habe, sei aber schnell ein Problem aufgetreten: Er kennt gar nicht so viele „Großartige Entwickler“!

Dabei müsse man wahrscheinlich gar nicht groß nach guten Entwicklern suchen – schließlich arbeiten bei Microsoft viele hervorragende Entwickler. Die Schwierigkeit bestehe vielmehr darin, das Kriterium „großartig“ zu bestimmen. Er selber habe bei seiner eigenen Reflexion dieses Begriffs nur eine Liste bedeutungsloser Attribute aus diesen gewinnen können wie etwa :

  • They understand the difference between covariance and contravariance.
  • They use phrases such as referential transparency and idempotent in daily speech.
  • They can quickly and seemingly effortlessly point holes in designs and implementation.
  • They rarely execute code to see „if it works“ but rather just write code that just works.

Wenn also der Begriff „großartig“ kaum zielführend ist, so kann man doch wenigstens davon ausgehen, dass ein großartiger Entwickler guten Code schreiben würden. Doch auch dieser Ansatz habe Azimi nicht weiter geführt. Denn oft findet man oft Probleme in Code, der von großartigen Entwicklern geschrieben ist.

Was also macht dann schließlich den großartigen Entwickler aus? Der eigentliche Unterschied, so Azimi, besteht darin, dass großartige Entwickler auf einer Planungs-Ebene operiere. Er selbst arbeite dagegen auf einer Umsetzungs-Ebene:

In fact, I can often times find various problems with code written by great developers. This is not because I am a great(er) developer. I’m far from it. It’s actually because I operate at the implementation level. This is suboptimal. The greatest developers operate at a conceptual level. The distinction may be subtle but it’s impact is unquestionably vital.“

Einfach formuliert: Die Implementierung kann immer angepasst und verbessert werden. Der Code eines hervorragenden Entwicklers betrifft aber die übergreifende Problemlösung. Das Wichtigste dabei ist, dass der Code eines hervorragenden Entwicklers in mehrfacher Weise unsichtbar werde:

Yes, great code is often code that you don’t see or even think about. It’s code that feels and operates naturally as part of the problem domain. It is either well encapsulated from predicted variation or it is seamlessly open for extension to satisfy new requirements. In many respects, great code goes unnoticed and unappreciated.

Und weil guter Code sich eben auch dadurch auszeichnet, das ser nicht auffällt, ist es eine sehr undankbare Aufgabe, guten Code zu schreiben.

We take great code for granted […] Writing great code is a thankless job.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -