Ich arbeite an einer ziemlich großen und fehlerhaften Anwendung - und aufgrund der Art und Weise, wie sie geschrieben ist (ich erspare Ihnen Details, aber sie verstößt in den meisten Bereichen, an die Sie denken können), ist es nahezu unmöglich, sie ohne größere Umgestaltung zu entwickeln.
Ein wesentlicher Teil der App wurde von Praktikanten, n00bs etc. Verfasst; Es gab aber auch einen Programmierer im Rang eines Master-Entwicklers, und trotz aller Demut ist der Code, den er zurückgelassen hat, auch zweifelhaft, vielleicht auf eine andere Art, aber dennoch.
Zugegeben, sein Code erledigt in der Regel die Arbeit - meistens - aber er ist in der Regel kryptisch und erfindet das Rad neu (z. B. eine große benutzerdefinierte Methode, mit der ein recht gewöhnliches SQL-Datenbank-Backup erstellt wird)
Und es brachte mich zu dem Gedanken, dass es giftig sein kann, ein hochqualifizierter Programmierer zu sein (ich verwende bewusst nicht das Wort "Entwickler", vorausgesetzt, es weist auf ein breiteres Spektrum von Fähigkeiten hin), wenn es nicht von anderen Eigenschaften begleitet wird.
Unter der Annahme, dass es wahr ist, sind einige der Gründe, an die ich denken könnte:
- Wenn Sie mühelos programmieren, ist es (oder ist es kurzfristig auch) einfacher, Ihre eigenen Lösungen vor Ort zu implementieren, ohne sich an Bibliotheken, vorhandene Funktionen usw. zu wenden.
- Wenn man genug Erfahrung hat, um ein mentales Bild eines komplexen Programms zu bewahren, ist man weniger geneigt, es in Module, Ebenen usw. aufzuteilen.
Mein Punkt ist also, dass wenn ein fließender Programmierer zufällig ein schlechter Entwickler ist, seine Fließfähigkeit nicht nur Letzteres kompensiert, sondern stattdessen sogar noch mehr Schaden anrichtet.
Was halten Sie davon? Stimmt es (inwieweit, wenn ja)?
I.ThinkOf(this).KindOfThing()