Heim >Schlagzeilen >Drei Dinge, die Sie zu einem effizienten Programmierer machen

Drei Dinge, die Sie zu einem effizienten Programmierer machen

小云云
小云云Original
2017-11-27 09:07:091710Durchsuche

Dieser Artikel ist ein Artikel über die Programmierentwicklung, der von einem sehr erfahrenen erfahrenen Programmierer veröffentlicht wurde. Er wird seine eigene Erfahrung als Programmierer nutzen, um uns zu erklären, was ein Programmierer mit hoher Entwicklungseffizienz tun muss.

Viele von uns beginnen mit dem Programmieren mit einem bestimmten Ziel vor Augen. Als ich beispielsweise mit dem Programmieren begann, sollte es mir ermöglichen, automatisch die Textversion des MUD-Spiels zu spielen, während ich schlafe und in der Schule bin. Ich war ein 13-jähriges Kind, das Drehbücher schrieb und nicht einmal wusste, was Programmieren ist. Vielleicht habe ich eine Idee, schreibe dann den Code und teste ihn – ganz alleine.

Es wird schwierig, wenn wir Software für andere Menschen entwickeln, weil uns oft die gleiche Art von Motivation und Begeisterung fehlt, die uns antreibt, unsere eigenen Wünsche zu verfolgen. Anstatt eigene Ideen zu haben, verbringen wir Stunden in Meetings und versuchen, diese Ideen zu verstehen, und dann verbringen wir die meiste Zeit damit, den Code anderer Leute zu ändern – oder unseren eigenen einzureichen. Dies führt zu einer gewissen Diskrepanz, die die Produktivität verringert.

Um ein 10-mal effektiverer Entwickler zu werden, müssen Sie lernen, sich in diesem Umfeld hervorzuheben und sogar Ihr eigenes Unternehmen zu gründen, um die Bemühungen anzuführen.

Jeder kann ein 10-mal effektiverer Entwickler sein, zumindest irgendwann jeden Tag. Ich glaube, dass es drei Dinge gibt, auf die sich alle Entwickler konzentrieren sollten, um Produktivität und Teamarbeit zu verbessern.

Drei Dinge

Um ein 10-mal effizienterer Entwickler zu werden, benötigen Sie mehrere Jahre Berufserfahrung, unabhängig von Programmiersprache und Toolset. Sie müssen gut darin sein, Probleme zu lösen und Code zu schreiben.

Es ist wichtig, dass Sie verstehen, dass die Art und Weise, wie Sie Code schreiben, Sie nicht zu einem 10-mal effektiveren Entwickler, einem 10-mal effektiveren Ingenieur, einem 10-mal effektiveren Programmierer oder wie auch immer Sie es nennen möchten, macht.

Sie kennen die 5 W’s: „Wer, Was, Wo, Warum, Wann“. Während dies alles auf die Softwareentwicklung zutrifft, möchte ich mich auf drei Merkmale konzentrieren, die einen zehnmal effektiveren Entwickler ausmachen. Diese drei Elemente unterscheiden durchschnittliche Entwickler von 10-mal effizienteren Entwicklern:

Was (Was)

Warum (Warum)

Wann (Wann)

Wissen, was zu tun ist

In der Unternehmenswelt arbeiten Entwickler oft an Projekten, an denen sie kein großes Interesse haben und die sie nicht verstehen. Für die meisten Entwickler stellt dies kein großes Problem dar, solange sie gute Anweisungen erhalten und die Ausgabe klar definiert ist.

Das Problem ist, dass Entwickler oft nicht genügend Anweisungen erhalten. Stattdessen verwenden wir etwas, das „agile Entwicklung“ genannt wird. Wir erhalten eine Notiz mit ein paar Worten darauf und sollen genau wissen, was zu tun ist.

Bei der Softwareentwicklung dreht sich alles um Kommunikation. Entwickler müssen wissen, was wir tun, welches Problem wir lösen wollen und was genau die gewünschten Ergebnisse sind. Je mehr wir wissen, desto schneller können wir es tun. Am wichtigsten ist es, den Zweck des Jobs zu kennen und zu wissen, was ihn erfolgreich macht.

Arme Entwickler verbringen Stunden mit einem Projekt in die falsche Richtung, ohne Fragen zu stellen. Sie sind das, was ich negative 10x-Entwickler nenne, weil sie nichts erreichen und die ganze Zeit ihrer Kollegen verschwenden. Fast jeder kennt diese Entwickler und die Zusammenarbeit mit ihnen kann frustrierend sein. Man muss aufpassen, dass man nicht in diese Gewohnheit verfällt!

Manche Entwickler arbeiten ohne viele Details gut. Sie haben viel Kreativität und stellen die richtigen Fragen. Diese Einhörner sind möglicherweise zehnmal effizientere Entwickler. Sie wissen, wie man Probleme löst und fördern oft das gesamte Team.

Das Fazit ist, dass 10x effektive Entwickler wirklich gut darin sind, schnell zu erkennen, was getan werden muss und welche Fragen zu stellen sind.

Verstehen, warum

Das vielleicht größte Hindernis bei der Softwareentwicklung besteht darin, zu verstehen, warum. Wenn Sie das Problem, das Sie lösen möchten, nicht verstehen, ist es schwierig zu lösen.

Warum füge ich mehrere Terminalskripte zusammen, um MUD-Spiele zu spielen, während ich schlafe und zur Schule gehe? Natürlich möchte ich das höchste Level im Spiel erreichen. Ich weiß genau warum und tue alles, was in meiner Macht steht, um meine Ziele zu erreichen.

Der gleiche Ansatz kann auf jedes Softwareentwicklungsprojekt angewendet werden. Das Verständnis der vertikalen Branche, in der sie tätig sind, und des Problems, das sie zu lösen versuchen, wird Entwickler effektiver machen. Zu wissen, warum das so ist, und die Branche zu verstehen, kann auch dazu beitragen, unnötige Arbeit zu vermeiden und Zeit zu gewinnen, sich auf Dinge zu konzentrieren, die das Produkt oder die Funktion für Benutzer wertvoller machen.

Das Problem ist, dass es nicht ausreicht, zu wissen, warum. Um ein echter 10x-Entwickler zu sein, muss man sich mit Leidenschaft für das Problem einsetzen und es in- und auswendig verstehen. Ich glaube, dass die meisten 10x effektiven Entwickler im Herzen auch Produktmenschen sind und eine gute Produktvision haben.

Wissen, was wann zu tun ist

Zeit ist in Softwareentwicklungsprojekten sehr wichtig. Die Festlegung der Reihenfolge, in der Projektaufgaben angegangen werden sollen, mag einfach erscheinen, ist aber von entscheidender Bedeutung. Könnte Ihre Arbeit dem Unternehmen helfen, einen neuen Kunden zu gewinnen oder alte technische Schulden zu begleichen?

Als Entwicklungsteam müssen wir ständig entscheiden, was wir tun und wann wir es tun.

Alle Softwareentwicklungsprojekte fallen in die folgenden drei Kategorien:

Dinge, die wir tun müssen

Dinge, die wir tun müssen

Dinge, die wir tun wollen Dinge tun

Wir müssen neue Funktionen für unsere Kunden vervollständigen. Wir müssen Fehler in der Software beheben. Wir möchten einige technische Schulden abbauen oder einige coole neue Produktfunktionen entwickeln. Dies alles erfordert ausgleichende Kompromisse.

Wir sollten gleichzeitig an Projekten in allen drei Dimensionen arbeiten. Wir können nicht unsere ganze Zeit mit technischen Schulden verbringen, aber vielleicht sollten wir einen kleinen Teil unserer Zeit damit verbringen.

Entwickler müssen auch wissen, wann sie komplexe Architektur in ihren Code einbauen müssen. Ich möchte den Code lieber so einfach wie möglich halten und kein Schema hinzufügen, bis es an der Zeit ist, ohne das Hinzufügen eines Schemas zu sterben.

Entwickler müssen auch wissen, wann sie es vermeiden sollten, trendigen Dingen nachzujagen. Sie neigen dazu, neue Tools und Techniken zu verwenden, aber diese Dinge können ein Projekt nur verlangsamen, anstatt es schneller abzuschließen.

10x effektivere Entwickler sind gut darin, Prioritäten zu setzen und zu wissen, wann sie Zeit in die Architektur investieren sollten, anstatt einen Spaghetti-ähnlichen Code-Durcheinander zu verwenden, um etwas zu erreichen. Denken Sie daran, dass es Ihren Benutzern egal ist, wie Ihre Software funktioniert oder wie ausgefallen die Architektur ist. Sie wollen nur, dass es das Problem löst. 10x Productivity-Entwickler verstehen das.

Beherrschen Sie das Was, Warum und Wann, um ein 10-mal effektiverer Entwickler zu werden.

Jetzt sprechen wir darüber, wie Sie ein 10-mal effektiverer Entwickler werden. Wichtige Fähigkeiten: Beherrschen Sie, was (Was), warum (Warum) und wann (wann).

Beginnen Sie mit dem Warum

Der erste Schritt, um ein zehnmal effektiverer Entwickler zu werden, besteht darin, sich für die Software und die Probleme zu begeistern, die Sie lösen möchten. Sie müssen es vollständig verstehen, in- und auswendig. Dies beginnt damit, dass Sie sich für das Unternehmen, für das Sie arbeiten, und seine Mission begeistern.

Schreiben Sie nicht einfach einen Button, nur weil jemand anderes es Ihnen gesagt hat. Versuchen Sie auf einer höheren Ebene zu verstehen, warum. Wenn Sie sich weiterhin auf das Warum konzentrieren, werden Sie für Ihr Team und Ihr Unternehmen von größerem Wert sein.

Sei ein guter Entwickler und ein guter Problemlöser, nicht der beste Programmierer

Ich würde mich selbst als Hacker-Entwickler bezeichnen. Ich bin der Typ Mensch, der schnell einen hässlichen Code zusammenstellen und fast jedes Problem lösen kann. Mein Code ist selten schön, aber er löst ein Problem. Das ist das Wichtigste.

Sie müssen keinen perfekten Code und keine Komponententests schreiben, um ein 10-mal effizienterer Entwickler zu werden. Sie müssen wissen, wann Sie diese Dinge tun und wann nicht.

Ein 10-fach effektiver Entwickler ist hervorragend darin, spezifische Probleme zu lösen und Geschäftsanforderungen durch Code zu erfüllen. Das Klügste, was Sie tun können, ist zu wissen, wie weit es gehen wird, bevor Sie das Projekt an jemand anderen übergeben (der besser darin ist, einige Architektur- und andere Details fertigzustellen).

Ob es Ihnen am Herzen liegt oder nicht

Zu wissen, wann Sie eine komplexe Architektur aufbauen müssen, anstatt etwas zusammenzuschustern, erfordert Erfahrung und Ihre Spider-Man-Sinne. Entweder fühlst du dich so oder du weißt es einfach nicht.

Einige der intelligentesten Entwickler, mit denen ich je zusammengearbeitet habe, waren schrecklich darin, Muster und Architektur Vorrang vor Funktionalität und Zeitplanung zu geben. Sie führen immer wieder Überimplementierungen oder Umgestaltungen durch und streben nach „perfektem Code“ und nicht nach „lieferbarem Code“.

10x effektive Entwickler müssen ihre Erfahrung und ihren Instinkt nutzen, um zu wissen, wann sie sich auf Architektur und Perfektion konzentrieren und wann sie einfach Dinge erledigen müssen.

Wissen, was zu tun und zu fragen ist

Ein Großteil der Softwareentwicklung hängt von Kommunikationsfähigkeiten ab. Leider sind viele Hinweise und Anforderungen zu den Projekten, an denen wir arbeiten müssen, nicht sehr detailliert. Ein 10-fach effektiver Entwickler weiß, wie er diese liest, sein Wissen über das „Warum“ des Unternehmens anwendet und relevante Fragen stellt.

Die besten Entwickler wissen, wie viel Zeit sie in etwas investieren müssen, bevor sie um Hilfe bitten. Sie wissen auch, welche Fragen sie stellen müssen, um die Anforderungen zu klären, um das Projekt voranzubringen.

Fazit

Ich schreibe seit über 15 Jahren Code. Man könnte sagen, dass ich ein zehnmal effizienterer Entwickler bin, oder zumindest kann ich das. Ich weiß, was ich gut kann, und wenn ich das tue, was ich gut kann, kann ich sehr schnell viel erledigen.

Wenn Sie einen Prototyp eines neuen Produkts entwickeln möchten, bin ich Ihr Ansprechpartner. Wenn Sie Hilfe bei Angular, React oder einem anderen Frontend benötigen, bin ich definitiv nicht der Richtige. Bei diesen Aufgaben wäre ich ein zehnmal effizienterer Entwickler.

Der 10x effizientere Entwickler ist kein Mythos. Es gibt sie. Sie sind höchstwahrscheinlich ein Entwicklungsmanager, Architekt, Hauptentwickler oder Firmengründer. Wenn dies nicht der Fall ist, sollten sie umstellen. Später wurde ich zum Gründer des Unternehmens, und zwar bereits zum zweiten Mal.

Natürlich kann niemand zu jeder Tageszeit ein 10-mal effektiverer Entwickler sein. Wir haben weder die Energie noch die Konzentration, jeden Tag in diesem Tempo zu arbeiten. Wir sind keine Roboter.

Wenn Sie das „Was, Warum, Wann“ der Softwareentwicklung verstehen, können Sie ein effizienteres und besseres Teammitglied sein – sogar ein täglicher, 10x produktiverer Entwickler in wenigen Stunden. Das macht einen großen Unterschied.

Das Obige hat er mitgeteilt, ich hoffe, es wird für alle hilfreich sein.

Verwandte Empfehlungen:

Zusammenfassung der Erfahrungen in der Entwicklung von Miniprogrammen

Sieben Dinge, die angehende Programmierer tun müssen

Eine kurze Diskussion über die Zukunft der PHP-Programmierer

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn