10 Dinge, die Webentwickler wissen müssen, um wirklich erstaunlich zu werden

Autor: Laura McKinney
Erstelldatum: 10 April 2021
Aktualisierungsdatum: 16 Kann 2024
Anonim
10 Dinge, die Webentwickler wissen müssen, um wirklich erstaunlich zu werden - Kreativ
10 Dinge, die Webentwickler wissen müssen, um wirklich erstaunlich zu werden - Kreativ

Inhalt

Entwickler müssen mehr als nur Code-generierende Grunzer sein. Wir erwarten mehr von unserem digitalen Leben und es sind diese Leute, die es bauen. Was müssen die besten Entwickler wissen? Hier sind die Dinge, die mir bei zu vielen Entwicklern fehlen. Dies ist nicht erschöpfend, aber es sind diese Eigenschaften, die einen vernünftigen Codierer zu einem erstaunlichen Entwickler machen.

Aber es ist nicht eine Sache, und es ist vor allem nie die Möglichkeit, XML zu analysieren oder Code zu optimieren. Es ist eine überraschende Sammlung von Fähigkeiten, die in den Büchern zum Schreiben von Code nicht vermittelt werden. Sie sind etwas Besonderes.

Warum so entlüften? Weil Entwicklung wichtig ist, aber Entwickler zu oft in eine andere Welt versetzt werden, nicht immer von ihnen. Das funktioniert nie. Entwicklung - alles Technische - gedeiht immer dann, wenn diejenigen mit dem Know-how mehr als nur den Code verstehen.

01. Codierung schneidet es nicht mehr


Wir befinden uns in einer Welt, in der die Codierung immer weniger beeindruckend wird. Jeder erstellt Websites, von denen einige Code enthalten, dies ist jedoch nicht erforderlich. Es ist nicht mehr nur der Nerd, der Websites, Apps und Funktionen erstellen kann.

Seit das Web kam und die Leute sich selbst beibringen konnten, gab es autodidaktische Entwickler. Aber auch die Absolventen sind bedroht. Ich bekomme Lebensläufe mit Leuten mit Informatikabschlüssen, KI-Kursen, verschiedenen Medien und Kodierung, aber es fehlt noch etwas. Manchmal fehlt viel.

Ich bin nicht der Erste, der das sagt. "Codierung schneidet es nicht mehr" lautet der Titel von Kapitel 3 aus Der leidenschaftliche Programmierer, die zusammen mit Büchern wie Pragmatisches Denken und Lernen Programmierer auffordern, sich über den Code hinaus zu verbessern; verantwortungsbewusste und völlig menschliche Mitglieder des Teams zu werden.

Breite und Tiefe

Entwickler müssen in zweierlei Hinsicht besser sein: Breite und Tiefe. Sie müssen die Breite der menschlichen Interaktionen in ihrem Team und die Dinge, die sie aufbauen, verstehen. Sie müssen die Tiefe des Systems, mit dem sie arbeiten, bis hin zum Betriebssystem verstehen.

Und nicht nur Entwickler sollten dieses Zeug lesen. Wenn Sie mit Entwicklern arbeiten, sollten Sie mehr von ihnen erwarten. Lassen Sie sie skizzieren, wovon sie sprechen. Lassen Sie sie mit Bildern, Objekten und (es funktioniert) Ausschnitten von Menschen genau erklären, wie das System für die Menschen, die es verwenden, aussehen wird.


02. Die große Einschränkung

Ich werde negativ über Entwickler sprechen, aber ich denke, ich darf, weil ich einer bin. Auch weil mindestens eine Sache, über die ich hier spreche, für viele der Entwickler gilt, die ich treffe. Obwohl ihre Arbeit großartig ist und sie ihren Code kennen, sind die Zeiten wettbewerbsfähig. Sie müssen eine Kante haben, und dies ist:

  • sei technischer

und

  • Sein viel menschlicher

03. Was das Internet sagt

Wenn Sie nach "wesentlichen Webentwicklungsfähigkeiten" googeln, wird das angezeigt, was Sie erwarten. Framework-Kenntnisse, X-Browser, CSS und JS. Sie listen Frameworks auf, die Sie kennen sollten, Plattformen, für die Sie schreiben müssen, und neue Trends, die Sie im Auge behalten sollten.

Das sind unsere Medien. Sie sind das Zeug, mit dem wir bauen, aber sie sind nicht das, was einen Projekterfolg ausmacht. Ein Entwickler kann jedes Detail des Systems verstehen, Ihnen alle Funktionen einer API und einer neuen CSS-Technologie erläutern und dennoch etwas Unbrauchbares produzieren.

Verstehe das Medium

Entwickler müssen, wie jeder andere auch, ihr Medium verstehen - aber sie müssen auch das Publikum verstehen, sei es die Benutzer, das Team oder andere Entwickler. Sie müssen verstehen, wie ihr Medium in die Welt passt (mit anderen Worten, in die Produktionsumgebung) und welche Auswirkungen es hat (wie Menschen es verwenden).

Ich habe gesehen, dass dies als die "breite und tiefe" Person beschrieben wird. Weit, weil Sie die Welt als einen Menschen verstehen müssen, der mit anderen Menschen arbeitet. Tief, weil Sie gründliches technisches Wissen benötigen, das unter dem Niveau Ihres Teils des Projekts liegt. Diese Entwickler geben Ihrem Projekt einen enormen Schub und ändern das Tempo des Projekts, ohne das nicht-technische Mitarbeiter in langwierigen Details stecken bleiben, die vom Tech-Team überflutet werden.


04. Die Dinge, mit denen wir bauen

Ich habe kürzlich eine Liste von allem aufgeschrieben, was wir zum Erstellen von Websites, Verwalten des Hostings und Erledigen von Aufgaben verwenden, damit die Mitglieder in den ersten Wochen einen Spickzettel mit Technologien lernen können. Wir haben es als gelesen angesehen, dass die Leute diese Dinge wussten. Um neuen Rekruten einen Startschuss zu geben, haben wir alles aufgelistet, was wir jeden Tag verwenden.

Ich habe ein halbes Dutzend Technologien erwartet, aber am Ende viel mehr. Diese Liste - "was wir verwenden" - enthält die üblichen CMS, Programmiersprachen und Browsertechnologien, aber auch eine Reihe von Tools, an die sich das Team nicht einmal erinnern konnte. Es war alles Muskelgedächtnis. Wenn Sie in der Befehlszeile "git", "phing", "thor" eingeben, haben wir nicht einmal gedacht, dass jemand dies nicht tun könnte.

Tools erstellen; CI; Git für die Versionskontrolle waren selbstverständlich, aber im Rückblick auf Lebensläufe erschienen diese kaum. Die trendigen würden auftauchen (und ist es zynisch, dass ich denke, dass bestimmte Agenturen sie hinzufügen?!), Aber oft ohne konkrete Erfahrung.

Diese Tools sind wichtig, um die Projektentwicklung zu beschleunigen. Stellen Sie daher sicher, dass Sie über ein weitaus umfangreicheres Toolset verfügen als Ihre Sprache, das CMS und einige Frameworks. Sie benötigen Bereitstellung, Tests, CI und eine starke Versionskontrolle (in Teams - nicht allein), und Sie müssen die Kernkonzepte dieser Konzepte verstehen und nicht nur einige Tutorials.

05. Devops

Diese zusätzlichen Tools und Tricks passen genau in das, was die Leute "Devops" nennen. Devops steht zwei traditionellen Silos gegenüber: der Produktion, die die Dinge am Laufen hält, und der Entwicklung, die neue Dinge hervorbringt (und oft die Dinge am Laufen hält). Die Silos führen zu zwei Lagern mit wenig Sympathie für einander.

Entwickler ohne Produktionskenntnisse erstellen häufiger Code, der nicht für die Produktion geeignet ist, indem sie Konfigurationen oder Funktionen verwenden, die sich noch nicht im Produktionsstapel befinden. Da sie sich der Probleme der Produktionsumgebung nicht bewusst sind, codieren sie, um die Funktion zu vervollständigen, anstatt sie für die Produktion bereitzustellen.

Diese kleinen Details können schmerzhafte Verzögerungen verursachen, die durch den Trend verstärkt werden, die Serververwaltung ins Ausland zu schicken.

Verstehe den Stapel

Devops ist ein riesiges Feld für sich, das eine kontinuierliche Bereitstellung und viel Automatisierung umfasst. Dies ist eine umfassende Zusammenfassung, aber das Wichtigste, was Entwickler verstehen müssen, ist der Stapel, auf dem sie ausgeführt werden. Es reicht nicht aus, dies an den Serveradministrator zu delegieren. Sie müssen die Auswirkungen der Plattform auf Ihren Code verstehen.

Wenn Sie an Rails arbeiten, lesen Sie den Rails-Code und wissen Sie, wie Ruby von Apache ausgeführt wird. Wenn Sie in Java arbeiten, kennen Sie die Konfigurationsoptionen. Wenn Sie Perl verwenden, verstehen Sie, wie Sie Perl-Module installieren und konfigurieren.

Geheimnisvolle Arbeit

Die Liste "Was wir verwenden" enthält viele dieser Dinge, und gute Entwickler springen darauf, um zu verstehen, wie all diese mysteriösen Arbeiten ausgeführt werden. Und sobald sie es bekommen, werden die Bereitstellungen schneller, die Arbeit wird reibungsloser bereitgestellt und alle sind einfach glücklicher.

Die kontinuierliche Bereitstellung und die damit verbundenen Praktiken von Entwicklern werden so zum Standard, dass sich Entwickler oder Unternehmen, die dies nicht praktizieren, darauf einstellen, überholt zu werden. Jemand anderes wird damit beginnen und dann sind sie schneller als Sie.

Handliche Werkzeuge

Wenn Sie nach "Devops" googeln, erhalten Sie eine Vorstellung von den Tools, die diese Jungs verwenden. Es geht nicht um PHP und MySQL oder Rails. Es geht darum, Software zu versenden und die riskanten Teile von Projekten risikofrei zu halten. Sie konzentrieren sich auf die Bereitstellung, Automatisierung und sorgen dafür, dass die Pipeline vom Entwickler zur Produktionsumgebung so schnell wie möglich läuft.

Sie werden feststellen, dass diese Art der Entwicklung Ihnen Entwickler bietet, die besser miteinander und mit anderen Abteilungen und Unternehmen zusammenarbeiten. Wenn sie mit einer API eines Drittanbieters arbeiten, verstehen sie die Probleme, die auf der anderen Seite auftreten können. Wenn sie mit den Serveradministratoren arbeiten, verstehen sie, was sie installieren müssen, und wissen, wie sich ihre Software auf Produktionsservern befindet. Das Gegenteil davon kann schmerzhaft sein ...

06. Dev wird es reparieren ... vielleicht

Diese Suche nach "wesentlichen Fähigkeiten als Webentwickler" bringt eine nette Antwort von Michael Greer (CTO von The Onion) auf Quora:

  • Faulheit: Weigert sich, zweimal etwas zu tun: schreibt ein Skript oder Algo dafür.
  • Feigheit: Denkt zu testen, macht sich Sorgen über das Laden und die Auswirkungen auf den Code
  • Rücksichtslosigkeit: Versucht ständig neue Sachen, bringt Ideen am selben Tag auf den Markt

Feigheit ist eine nette Art, "Liebe zum Detail" zu formulieren. Debuggen und Testen sind die 99 Prozent des Lebens eines Entwicklers, die niemand erwähnt hat, als er W3Schools besuchte oder den Computing 101-Kurs startete.

Die Fähigkeit, Apps zu reparieren, erfordert hervorragende Fähigkeiten zur Problemlösung, aber nicht nur das Debuggen von Code. Manchmal besteht die Lösung für Benutzer, die ihre Rechnungen nicht herunterladen können, darin, die Seite druckbar zu machen, anstatt einen Tag damit zu verbringen, PDFs zu erstellen. Manchmal kann ein Link eine Woche Entwicklungszeit ersetzen, aber diese elegante Lösung wird nicht entstehen, wenn die Entwickler Probleme nur durch das Schreiben vieler Codezeilen lösen.

Testen ist für viele Entwickler ein wunderbarer Blindspot, trotz der vielen Tools, die es gibt. Verwenden Sie Unit-Tests, Selen, Lasttests und Profiling-Tools wie xhprof. Analyse von Dingen wie New Relic, um den Platzbedarf Ihrer App gering zu halten. Und denken Sie daran, dass dies alles Teil der Arbeit des Entwicklers ist: Es ist Ihr Code. Stellen Sie sicher, dass Sie wissen, dass er wie beabsichtigt funktioniert, anstatt zu hoffen, dass dies der Fall ist.

Debuggen

Das Debuggen ist ebenfalls ein wunder Punkt. Nicht wie man einen Debugger benutzt, sondern wie man ein Problem debuggt - also würde ich Michael Greers Liste hinzufügen:

  • Ungeduld: Ignoriert aggressiv irrelevante Informationen, um das eigentliche Problem zu finden und zu lösen

Dies ist der Eckpfeiler aller Debugging-Techniken. Ignorieren Sie das Irrelevante und finden Sie Bedeutung im Relevanten. Leider neigen viele dazu, das Irrelevante stunden- oder tagelang sklavisch zu hämmern und ein Problem zu beheben, indem sie dasselbe zehnmal versuchen.

Es gibt viele Bücher (leider nicht die, die ich dem Verlag vorgelegt habe, den ich nicht nenne) zum Debuggen, und jeder Entwickler sollte sie alle lesen. Ein wirklich großartiger Entwickler kann Probleme auf einem System debuggen, ohne eine Codezeile zu sehen.

07. Was Benutzer wollen

Verstehe, was die Leute um dich herum versuchen zu tun. Genießen Sie den Code - lieben Sie die Kunst, CSS-Dateien perfekt einzurücken oder eine Rails-App zu optimieren - aber denken Sie daran, dass alles nur einem Zweck dient.

Entwickler müssen das Geschäft, den Betrieb und die Geschäftsprozesse verstehen, da ihre Mitarbeiter bei der Ausführung helfen. Entwickler mit diesem Wissen können Software und Apps erstellen, die Benutzern helfen, aber sie scheinen oft ungewöhnlich produktiv zu sein. Dies kann daran liegen, dass sie schnell tippen oder erstaunliche Kenntnisse über den Stapel haben, aber es ist wahrscheinlicher, dass sie wissen, was Benutzer wollen.

Wettbewerbsmarkt

Zurück zu meinem ursprünglichen Punkt: Diese Entwicklung wird immer einfacher und der Markt für großartige Entwickler ist wettbewerbsfähiger. Jeder Entwickler, der in der Lage ist, die Geschäftsanforderungen zu verstehen und etwas Exzellentes mitzubringen, um diese zu erfüllen, wird einen Vorteil haben. Verstehen Sie den Markt, die Kunden und warum sich die Menschen vom Geld trennen.

Verstehen Sie die Daten und wie sie sich im Laufe der Zeit ändern werden. Nach Meinung des Entwicklers sollten sie neue Technologien mit den Herausforderungen in Einklang bringen, die Sie heute haben oder die Sie erwarten. Wenn Sie dem MD oder einem Kunden eine ausgefallene neue Idee vorschlagen, basiert diese auf dem, was die Kunden wirklich wollen, und Sie erhalten das Budget / die Zeit dafür. (Im Gegensatz dazu ist es am schlimmsten, wenn Entwickler ihre neue Lieblingstechnologie als Lösung für all unsere Krankheiten anbieten.)

Entwickler haben viel Kontrolle - müssen sie wissen, was jedes Feld in der Datenbank für den Endbenutzer bedeutet? Was sehen die Benutzer, wenn wir die Daten ändern? Gibt es eine bessere Möglichkeit, den Benutzern zu helfen? Zu oft ist die Ansicht von DB-Administratoren, dass die Welt eine schlechte Widerspiegelung ihrer Datenbank ist, anstatt dass ihre Datenbank eine schlechte Darstellung der realen Welt ist. Die Welt ist chaotisch und überraschend voller Randfälle. Beschäftige dich damit, DB-Admins.

08. Zeichnen und Schreiben

Zeichnen ist die direkteste Art zu kommunizieren, wie Dinge aussehen werden. Entwickler müssen in der Lage sein, ihre Ideen auf Whiteboard-, Papier- und Bierdeckel zu zeichnen.

Entwickler müssen in der Lage sein, Prototypen auf Papier zu erstellen, Screenshots zu drucken und darauf zu kritzeln, um ihre Absicht mitzuteilen. Vertrauen Sie nicht dem Entwickler, der nickt, sagt, dass er seinen Editor versteht und öffnet.

Günstig scheitern: Die beste Codierung beginnt mit dem Zeichnen als schneller Prototyp. Scheitern Sie häufiger und stellen Sie sicher, dass alle Entwickler in Ihrer Umgebung das Gleiche tun, da Sie mit größerer Wahrscheinlichkeit auf diese Weise erfolgreich sind.

09. Amüsieren Sie sich

Und was ist, wenn Sie 10 Stunden damit verbringen müssen, ein Problem zu lösen, indem Sie einen Link verschieben? Genießen Sie es - auch wenn es nur die Herausforderung ist, durch die Arbeit zu kommen.

Die schlimmste Einstellung von Entwicklern (oder irgendjemandem) ist Apathie gegenüber dem, was das Team erreichen will. Leider ist dies häufig der Fall, da Entwickler sich als außerhalb dessen sehen, was das Team erreicht. ((Der leidenschaftliche Programmierer wirft die Frage auf: "Wie viel mehr Spaß könnten Sie Ihren Job machen?" - probieren Sie es aus.)
Und seien Sie bereit, Ihre Arbeit zu zeigen, denn das Gegenteil davon ist: Erweitern Sie nicht, nachdem Sie ein paar Tutorials zu Ruby ausprobiert haben, zu "Experience of Ruby"!

Die Web- und App-Entwicklung ist noch ein junger Beruf, aber die Fähigkeiten, die wirklich große Entwickler benötigen, werden erweitert. Jeder sollte mehr von Entwicklern erwarten, denn je früher wir alle aus dem fiesen Hinterzimmer kommen und uns auf den kreativen Prozess einlassen, desto besser werden die Ergebnisse sein.

10. Bleib scharf

Um dies auf eine schöne Runde 10 zu bringen, füge ich noch eine letzte Sache hinzu. Bleib scharf. Finde Konkurrenz. Das Schlimmste ist eins für sich.

"Sei immer der schlechteste Typ in jeder Band, in der du bist."

Die schlimmsten - wirklich sehr schlechten - Programmierer, Programmierer, Designer lernen ihre Sachen und ruhen sich auf ihren Lorbeeren aus. Ohne einen Herzschrittmacher ist es zu leicht, langsamer zu werden, und ohne Konkurrenz wird es zur Gewohnheit, sich selbst überdurchschnittlich zu sehen.

Sei also das Schlimmste, was du kannst, indem du es besser findest. Nehmen Sie an Projekten außerhalb der Arbeit teil, tragen Sie dazu bei und suchen Sie nach Feedback und Kritik, denn je mehr Kritik Sie erhalten, desto weniger Menschen werden Sie in Zukunft geben. Wenn Sie erraten, was sie besser wollen als sie, dann sind Sie der Ninja-Entwickler, den jeder will.

Dan Frost ist technischer Direktor des Full-Service-Webunternehmens 3EV, einem offiziellen AWS-Partner. Er arbeitet seit sieben Jahren in der CMS- und Web-App-Entwicklung.

Mochte dies? Lese das!

  • So erstellen Sie eine App
  • Die besten kostenlosen Web-Schriftarten für Designer
  • Entdecken Sie, was als nächstes für Augmented Reality kommt
Von Uns Empfohlen
5 Dinge, die Designer derzeit nicht tun können, und wie man sie aus der Ferne erledigt
Entdecken

5 Dinge, die Designer derzeit nicht tun können, und wie man sie aus der Ferne erledigt

Während ich die perrregeln auf der ganzen Welt allmählich lockern, befinden wir un noch in einem frühen tadium de Leben und kehren zur Normalität zurück. Und obwohl viele von ...
3 Namen, die jeder 3D-Künstler kennen sollte
Entdecken

3 Namen, die jeder 3D-Künstler kennen sollte

Wer ind die wichtig ten Per onen in 3D? Die e Frage i t chwer definitiv zu beantworten, aber wir können Ihnen agen, welche Kün tler am mei ten bewundern. Denn bei den CG Award wählt die...
Die Website der Agentur, die nicht so aussieht
Entdecken

Die Website der Agentur, die nicht so aussieht

Wir ehen viele Web ite von De ignagenturen bei Creative Bloq - da gehört zum Territorium. Obwohl ie normalerwei e gut zu ammenge tellt ind (wie ie hoffen), überra cht un elten einer von ihne...