Wie kann ein neuer Programmierer den Softwareentwickler (Chef) beeindrucken? [geschlossen]

98

Ich arbeite bei meinem ersten Programmierjob. Mein Chef ist ein sehr kluger Softwareentwickler, und ich habe das Gefühl, dass ich im Vergleich zu ihm sehr wenig zu bieten habe. Das Problem ist, dass er immer beschäftigt ist und jemanden braucht, der ihm hilft. Ich fühle mich nicht gut genug, aber ich möchte trotzdem Erfolg haben. Ich möchte ein großartiger Programmierer sein.

Was kann ich tun, um ihn zu beeindrucken?

Danke.

Pablo
quelle
4
@Pablo: Wie du schon erwähnt hast, sei einfach ein großartiger Programmierer :)
Fanatic23
2
@ Fanatic23 +1 für den umsetzbaren Rat ... NICHT.
Olivier Lalonde
Bitten Sie ihn, ein Mentor zu sein ...
Brian
1
Sei leidenschaftlich, klug, selbstlernend, schnell und insgesamt ein echter Problemlöser :-)
Jahan Zinedine
7
Für zukünftige Leser lautet die Antwort von TL; DR: Beeindrucken Sie Ihren Chef, indem Sie einen undankbaren Job verlassen, um von Michigan nach San Francisco zu fliegen, denn der einzige Ort, an dem Sie etwas Beeindruckendes tun können, ist eine Stadt voller fester Räder.
Inkognito

Antworten:

189

Habe ich dir jemals von Ashton erzählt?

Ashton war Ihr klassischer maisgefütterter Landarbeiter. Seine Eltern waren Hippies gewesen, die es nie wirklich geschafft hatten, ihre Taten zusammenzubringen, bis seine Mutter 15 Morgen in einem ländlichen Teil von Michigan geerbt hatte. Die Familie zog dorthin, kaufte ein paar Milchziegen und versuchte, ihren Lebensunterhalt mit dem Verkauf von Bio-Ziegenkäse an die Yuppies auf dem Ann Arbor Farmer's Market zu verdienen.

Ab seinem zehnten Lebensjahr musste Ashton jeden Morgen um 4 Uhr morgens aufwachen und die verdammten Ziegen melken, und es war anstrengend. Ashton ging gern zur Schule, weil er nicht knietief im Ziegenkot arbeitete. Während der Highschool studierte er seinen Arsch und hoffte, dass ein Stipendium für eine gute Universität sein Ticket von der Farm sein würde. Er fand das College so viel einfacher als das Leben auf dem Bauernhof, dass er nicht verstand, warum alle anderen kein klares A wie er hatten. Er studierte Software Engineering, weil er sich nicht vorstellen konnte, dass Ingenieure jemals um 4:00 Uhr morgens aufwachen müssen

Ashton schloss die Schule ab, ohne wirklich viel über die Software-Branche zu wissen, also ging er zur Karrieremesse, bewarb sich um drei Jobs, wurde von allen dreien angenommen und suchte denjenigen aus, der am meisten bezahlte: etwas Wahnsinniges wie 32.000 Dollar pro Jahr, Arbeit Bei einer großen Möbelfirma im Südwesten des Bundesstaates, die Kabinenfarmen für Unternehmen auf der ganzen Welt herstellte. Er wollte nie wieder eine Farm sehen und war fest entschlossen, einen guten Eindruck auf seinen Chef, Charlie Sherman, zu hinterlassen.

"Das wird nicht einfach", sagte sein Zellengenosse Jeff. "Sie ist hier so etwas wie eine Legende."

"Was meinst du?", Fragte er.

"Nun, du erinnerst dich an die Zeit vor ein paar Jahren, als es so viel Aufruhr um Y2K gab?"

Ashton war wahrscheinlich zu jung. "Y2K?"

„Weißt du, niemand hat damit gerechnet, dass alle alten Computerprogramme, die in den 1960er-Jahren geschrieben wurden, im Jahr 2000 noch laufen würden. Sie hatten also nur Platz für zwei Ziffern im Jahr. Anstatt 1999 zu speichern, wurden 99 gespeichert. Als das Jahr am 1. Januar 2000 umkippte, stürzten die Computersysteme ab, weil sie versuchten, „100“ zweistellig einzugeben.

"Ja wirklich? Ich dachte, das sei ein Mythos “, sagte Ashton.

"In jedem anderen Unternehmen der Welt ist nichts passiert", sagte Jeff. „Sie haben Milliarden von Dollar ausgegeben, um jede Codezeile zu überprüfen. Aber hier sind sie natürlich billige Bastarde, also haben sie keine Tests gemacht. “

"Überhaupt nicht?"

„Zilch. Nullprüfung. Nada. Und siehe da, als die Leute am 2. Januar wieder zur Arbeit stolperten, funktionierte nicht eine einzige Sache. Sie konnten keine Produktionspläne drucken. Sie konnten nicht einmal die Hälfte der Fließbänder zum Einschalten bringen. Und niemand wusste, in welchen Schichten sie arbeiten sollten. Die Fabrik ist buchstäblich zum Stillstand gekommen. “

"Du machst Witze", sagte Ashton.

„Ich scheiße dich nicht. Die Fabrik war total still. Nun, Charlie, sie war damals neu. Sie hatte bei Microsoft oder der NASA gearbeitet oder so ... niemand konnte herausfinden, warum jemand wie sie in unserer kleinen Achselhöhle eines Unternehmens arbeitete. Aber sie setzte sich und fing an zu programmieren. Und Codierung. Und Codierung.

„Charlie hat neun Tage lang programmiert. Neun Tage ohne zu schlafen, ohne zu essen, manche Leute behaupteten sogar, sie sei nie auf die Toilette gegangen. Sie ging von System zu System und reparierte buchstäblich alle. Es war etwas zu sehen. Mein Gott, es gab COBOL- Systeme, die repariert werden mussten. Die ganze Fabrik steht still und Charlie schickt Leute in die Universitätsbibliothek in Ann Arbor, um alte COBOL-Handbücher zu finden. Fließbandarbeiter stehen zitternd herum, weil sogar die Thermostate einen Y2K-Fehler hatten. Und Charlie trinkt Tasse für Tasse Kaffee und tippt wie eine Verrückte. “

"Beeindruckend. Und sie ist nie auf die Toilette gegangen? "

„Nun, dieser Teil könnte ein bisschen seinein bisschen übertrieben. Aber sie hat wirklich neun Tage lang rund um die Uhr gearbeitet. Wie auch immer, am 11. Januar, ungefähr fünf Minuten vor Beginn der Tagesschicht, kommt sie aus ihrer Kabine, geht zum Zeilendrucker, drückt einen Knopf und boomt! Es folgen die Produktionspläne und die Teampläne, und alles ist perfekt, perfekt formatiert und mit einer etwas kleineren Schrift versehen, so dass das „2000“ an die Stelle passt, an der früher „99“ stand, und sie hat sogar ein neues Prioritätsoptimierungssystem geschrieben, das dies ermöglicht hilft ihnen dabei, 9 Tage verpasste Produktion nachzuholen, ohne zu viele Kunden zu verärgern, und alle Fließbänder laufen an, als wäre nie etwas falsch, und die Hitze geht an, und die Rechnungen werden stattdessen mit "2000" als Jahreszahl gedruckt von '19100', und nach diesem Tag hat niemand einen einzigen Fehler gefunden. ”

"Ach komm schon", sagt Ashton. "Niemand schreibt Code ohne Bugs."

"Sie tat. Ich sah es mit meinen eigenen Augen. Am ersten Tag hatten sie zwei Tage lang Kabinen ohne Schluckauf. “

Ashton war sprachlos. „Das ist episch. Wie kann ich dem gerecht werden? “

"Du kannst nicht, Kumpel, niemand kann", sagte Jeff und wandte sich wieder seinem Computerterminal zu, wo er einen Online-Flammenkrieg wieder aufnahm, der in einem Kampf gewinnen würde, Spock oder Batman, der seit über vier Monaten tobt.

Ashton schwor, eines Tages etwas Legendäres zu tun. Aber die Wahrheit ist, dass es nie wieder ein Jahr im Jahr 2000 gab. Und niemand in diesem Teil von Michigan gab einem Rattenarsch nach guter Programmierung. Tatsächlich hatten die Programmierer fast nichts zu tun. Ashton bekam dumme kleine Projekte zugeteilt ... zu einem bestimmten Zeitpunkt arbeitete er drei Wochen lang an einem Fall, in dem die Umsatzsteuer in einem bestimmten Bundesland falsch war, weil sich eine Postleitzahl über zwei verschiedene Umsatzsteuerzonen erstreckte. Das Komische war, dass es in einem unbewohnten Teil des Staates New York war, in dem noch nie jemand Bürokabinen gekauft hatte und nie einen Kunden dort gehabt hatte, sodass sein Code niemals laufen würde.

Je.

Zwei Jahre lang ging Ashton begeistert und aufgeregt in die Arbeit und wollte etwas Großes und Großartiges bewirken, während seine Mitarbeiter stundenlang im Internet surften, Sofortnachrichten an ihre Freunde schickten und Computersolitaire spielten.

Jeff, sein Arbeitskollege, hatte nur eine Verantwortung: die wöchentliche Excel-Tabelle zu aktualisieren, die angibt, wie viele Personen in dieser Woche im Job verletzt wurden. Das war noch nie jemand. Einmal in der Woche öffnete Jeff die Tabelle, ging zum Ende der Seite, gab das Datum und eine Null ein, drückte Speichern, und das war's.

Ashton hat sogar ein Makro für Jeff geschrieben, das diese eine Aufgabe automatisiert. Jeff wollte nicht erwischt werden und weigerte sich, es zu installieren. Danach sprachen sie nicht mehr miteinander. Es war umständlich.

Am Morgen seines zweijährigen Jubiläums in der Kabinenfirma fuhr Ashton zur Arbeit, als er etwas realisierte.

Keine einzige Codezeile, die er geschrieben hatte, war jemals gelaufen.

Nicht eine Sache, die er in zweijähriger Arbeit getan hatte, hatte irgendeinen Einfluss auf die Welt.

Und es war verdammt noch mal 24 Grad in diesem Teil von Michigan, und es war grau und stinkend, und sein Honda war ein Stück Mist, und er hatte keine Freunde in der Stadt, und nichts, was ihm etwas ausmachte.

Als er die Lincoln Avenue entlangfuhr, sah er die Möbelfirma auf der linken Seite. Vor dem Firmengelände flatterten drei Flaggen: eine amerikanische Flagge, eine Flagge des Bundesstaates Michigan und eine weiß-rote Flagge mit dem Firmenlogo. Er stieg hinter einer langen Reihe von Autos, die darauf warteten, nach links abzubiegen, in die Abbiegespur ein. Es dauerte immer vier oder fünf Ampelzyklen zur Hauptverkehrszeit, um die Abzweigung zu machen, sodass Ashton genügend Zeit hatte, sich zu erinnern, ob ein Code, den er jemals geschrieben hatte, jemals von jemandem verwendet wurde .

Und das hatte es nicht. Und er kämpfte eine Träne zurück.

Und anstatt nach links abzubiegen, fuhr er geradeaus und verursachte beinahe einen Unfall, weil er vergaß, dass die linke Ampel nicht bedeutete, dass man geradeaus fahren konnte.

Und er fuhr direkt die Lincoln Avenue entlang und stieg auf die Gerald Ford-Autobahn. Er fuhr einfach weiter, bis er in Grand Rapids zum Flughafen kam, und ließ seinen beschissenen alten Honda direkt vor dem Terminal stehen. Er wusste es genau Es würde abgeschleppt werden und die Autotür nicht einmal schließen. Er ging direkt zum Schalter von Frontier Airlines und kaufte sich ein Ticket für den nächsten Flug nach San Francisco, der in 20 Minuten abflog im Flugzeug, und er verließ Michigan für immer.

Joel Spolsky
quelle
61
du kannst mich nicht so hängen lassen. Wo ist Kapitel 2 dieser Geschichte :)
Mikeal
50
Bin ich dumm, wenn ich die Moral der Geschichte nicht verstehe? :(
Terence Ponce
39
Dann sagte Ashton: "Als ich mein Königreich betrachtete, war ich endlich da, um auf meinem Thron als Prinz von Bel-Air zu sitzen." Sorry konnte nicht widerstehen.
Jin
37
Die Moral lautet: Wenn Sie in Ihrem Beruf keinen Unterschied machen oder keine Aufstiegschancen haben, suchen Sie sich einen Job, wo Sie wollen. Ich war in einer Situation, in der ich wusste, dass ich gut in meinem Job war, aber mein Chef war altmodisch und unflexibel und ich wusste, dass ich nirgendwo hinkommen würde, also ging ich. Beste Karriereentscheidung, die ich je getroffen habe.
Simon Hibbs
149
Die Geschichte geht weiter: Er ging zu Google, wo er an Wave arbeitete. Und wieder benutzte niemand seinen Code.
Ivo van der Wijk
97

Erinnern Sie sich an die Szene in Aladdin, in der Aladdin Jasmine beeindrucken will, und der Geist sagt ihm, dass er es besser machen sollte, sich nur auf sich selbst zu konzentrieren? Gleiches Prinzip hier.

Wenn der Chef so viel besser ist als Sie und Sie es wissen, weiß er es wahrscheinlich auch. Er erwartet keine großen Talente, wenn es darum geht, von Ihnen Rockstar zu programmieren. Da dies Ihr erster Job ist, hat er Sie höchstwahrscheinlich eingestellt, weil er das Potenzial erkannt hat, ein guter Programmierer in Ihnen zu werden. Also, wenn Sie ihn wirklich beeindrucken wollen, lernen Sie. Lerne die Sprache, lerne das System, an dem du arbeitest, lerne die Vor- und Nachteile und dunklen Ecken. Konzentrieren Sie sich darauf, korrekte Prinzipien zu lernen, sie gut zu lernen und sie schnell zu lernen, in dieser Reihenfolge.

Und denken Sie daran, dass ein Teil des Lernens darin besteht, Wissen zu kopieren, das andere Menschen bereits haben. Haben Sie keine Angst, Fragen an Ihre Kollegen oder an StackOverflow zu stellen oder bei Google nachzuforschen. Was auch immer Sie tun, tun Sie nicht so, als wüssten Sie etwas, wenn Sie es wirklich nicht tun, um nicht dumm zu wirken. Jeder gute Entwickler wird es schnell bemerken, und das lässt Sie in ihren Augen noch blöder aussehen. Demut wird von Ingenieuren immer noch als Tugend angesehen.

Machen Sie einen guten Job dabei und es wird den Chef beeindrucken.

Mason Wheeler
quelle
2
+1 und wenn sein Chef besser ist als er - kein Wunder, hier ist der Grund: ericsink.com/Career_Calculus.html
Scharfzahn
@Mason: Tolle und genaue Antwort. Aber ich denke, Sie sollten das Aladdin para entfernen ....
3
Genau. Sogar in der Spielprogrammierschule bin ich einer (oder einer), der ständig Fragen stellt. Man muss aber auch verstehen, dass die Leute nicht immer die Antwort haben, selbst ein Lehrer. Mehrmals antwortete mir ein Lehrer mit "Ich weiß nicht", und ich war nicht stolz, sondern eher mit "Ich hätte das besser durchsucht, bevor ich die Zeit dieses Mannes verschwendete". Neugier ist genau wie in den Naturwissenschaften die BESTE VIRTUE, die man sich vorstellen kann. Im Ernst, google alle Wörter über ein Thema, über das du dich wunderst. Neugier ist der beste Lern Motor Ich habe, das ist der Unterschied zwischen Menschen , die Sie klug und oth nennen
jokoon
3
Sie wissen, dass Sie an einem schlechten Ort im Leben sind, wenn Sie sich an einem Disney-Film orientieren.
Epaga
47

Zwei Wörter: Seien Sie zuverlässig.

In Ihrer Position wurden Sie nicht angeheuert, um die klügste Person im Team zu sein. Sie wurden für das Potenzial eingestellt, das Sie gezeigt haben, und weil es Aufgaben gibt, die für Ihr Können geeignet sind und erledigt werden müssen.

Zeigen Sie, dass Sie diesem Vertrauen zuerst gerecht werden können, und finden Sie Wege, um den ersten Eindruck von Ihnen zu übertreffen, wenn Sie ein Gefühl für den Code und das Unternehmen bekommen. Letzteres kann eine Weile dauern, aber verwechseln Sie es nicht, wenn Sie jünger als minderwertig sind.

Joost Schuur
quelle
2
Dieser Kommentar gilt für jeden Job. Es ist einfach erstaunlich, wie zuverlässig Sie Plätze bekommen können.
Bryan Harrington
27

Wie es für immer aussieht, habe ich einen tollen Job mit einem Raum voller toller und versierter Programmierer gemacht. Jeder war ein Rockstar, ein paar Leute vom ursprünglichen Macintosh-Team, fast die Hälfte der Leute dort hatte Bücher veröffentlicht, es war ein großartiger Ort.

Also habe ich mein erstes Jahr dort verbracht, um alle zu beeindrucken. Ich hatte das Gefühl, etwas Erstaunliches tun zu müssen, und es brachte mich dazu, in sehr kurzer Zeit mehr zu lernen, als ich es jemals für möglich gehalten hätte. In meinem zweiten Jahr, in dem ich mich beruhigte, war ich viel zuversichtlicher in dem, was ich tat, ein bisschen lauter in Bezug auf meine Meinungen und als ich mich umsah, wurde ich immer pessimistischer in Bezug auf das tatsächliche Produkt, das wir bauten.

Das war das letzte Jahr, in dem das Projekt vollständig finanziert wurde. Diese erstaunlichen Ingenieure, die ich bis heute sehe, haben 5 Jahre und Millionen von Dollar damit verbracht, Framework für Framework zu bauen, eine Anwendungsplattform, die auf einer nicht wirklich ausgelieferten Anwendung aufbaut, und schließlich eine Benutzeroberfläche und einen Workflow, die niemand konnte Verstehe, auch die Leute, die es gebaut haben.

Smart wird überbewertet. Ein "Rockstar" zu sein, wird überbewertet. Es ist eine wirklich einfache Ausrede, um Ihre Schwelle für Komplexität zu erhöhen. Sie denken, es sei wichtiger, ein funktionierendes System neu zu schreiben, um "sauberer" zu sein, als das nächste zu implementieren, was ein Kunde verlangt.

Jacob Kaplan Moss hat mir einmal etwas über einen Programmierer gesagt, den ich nicht nennen möchte. Er sagte: "Er ist zu schlau. Er schreibt diese wirklich schlauen, komplizierten Bibliotheken, die ich nicht benutzen kann, weil ich nicht schlau genug bin. Dumme Leute sollten Bibliotheken schreiben damit dumme Leute sie gebrauchen können ".

Die Programmierer, die "versierte" Ingenieure sind, neigen dazu, sich die Nase zu schnäuzen, Leute, die Ruby und JavaScript und andere "Spielzeug" -Sprachen schreiben, diese Leute stellen PRODUKTE her und sie liefern sie. Der Code mag hässlich sein, die Architektur mag nicht so rein und sauber sein, wie Sie es möchten, aber sie werden verdammt noch mal ausgeliefert, und in dieser Branche ist das wirklich wichtig.

Wenn ich Sie wäre, würde ich es aufgeben, dieser Rockstar zu sein und mich auf Schifffahrt und Bauprodukte konzentrieren. Sie sollten Ihren Beitrag nicht daran messen, wie clever Ihr Code ist, sondern daran, wie viele Leute ihn täglich ausführen und glücklich sind.

Mikeal
quelle
1
Wahrheit. Schreiben Sie Code, der einfach zu reparieren ist, wenn sich die Kunden beschweren oder wenn etwas kaputt geht, und Sie sehen aus, als hätten Sie Ihre Scheiße zusammen.
TehShrike
14
Smart wird nicht überbewertet. Wenn sie ein überkompliziertes und realitätsfernes System bauten, waren sie schließlich nicht schlau. Kluge Leute sollten Bibliotheken schreiben, damit dumme Leute sie benutzen können.
EMP
1
Ich hatte vor kurzem ein ähnliches Gespräch und einer meiner Mitarbeiter beschrieb den Personencode / Codierungsstil als "anmaßend" ... und ich denke, das ist wirklich eine treffende Beschreibung ... Der Typ, der den Code schreibt, ist / war brillant. niemand, der ihn kannte, würde anderer Meinung sein ... aber sein Code war schrecklich prätentiös ... was den Nebeneffekt hatte, dass es für Leute, die nicht so brillant waren, schwer zu folgen war ... Ich schreibe gerne Code für dumme Leute ( Erleichtert es meinem Blöden, das zu verstehen.
TJ Seabrooks
2
Teams müssen aus unterschiedlichen Personen bestehen, um erfolgreich zu sein. Sie brauchen Designer, Architekten, Programmierer, Manager, Grunzer, clevere Leute, detailorientierte Leute, Leute, die sich für Prozesse interessieren usw. Wenn Sie nur einen Personentyp haben, wird Ihr Team wahrscheinlich nicht gut zusammenarbeiten und es ist wahrscheinlicher als scheitern nicht. Gruppen, die versuchen, nur Rockstars einzustellen, übersehen diese Tatsache häufig.
Onedozenbagels
@Evgeny Einverstanden. Es geht darum, etwas Schwieriges (oder zumindest Mühsames) durch Abstraktion zu erleichtern. Sie brauchen nur kluge Leute, die Einfachheit lieben.
LnxPrgr3
16

Schreiben Sie klaren, soliden Code.

leed25d
quelle
7
Inklusive guter Dokumentation!
1
... so klar, dass es völlig transparent ist. Es ist, als würde man mit einem Lastwagen mit 80 km / h gegen eine unsichtbare Mauer fahren. [Wen rufst du an? MythBusters!]
Mateen Ulhaq
Guter Rat im Allgemeinen. Aber leider ist es ein Sysadmin-Problem - wenn alles funktioniert, bemerkt dich niemand, wenn etwas kaputt geht, geben sie dir alle die Schuld. Das Gleiche gilt für den Code: Wenn er klar und einfach ist und einfach funktioniert, würde niemand glauben, dass es schwierig ist, ihn zu schreiben. Es ist also nicht der Weg, "erkannt" zu werden.
1
Versuche ersetzbar zu sein - auf diese Weise wirst du befördert oder ersetzt.
IAdapter
lol @ versuchen austauschbar zu sein! Wollen Sie nicht unersetzlich sein, indem Sie austauschbaren Code schreiben?
Anonym Typ
15

Klopfe an seine tür Fragen Sie ihn, ob er irgendwelche Scheißjobs hat, die er aufgeschoben hat und mit denen Sie möglicherweise fertig werden. Sagen Sie ihm, er soll Sie später einfach per E-Mail entlassen, wenn er gerade keine Zeit hat.

SnoopDougieDoug
quelle
2
oder sag ihm, er soll dich feuern, wenn du versagst.
IAdapter
Sowohl diese Antwort als auch der Kommentar von @IAdapter haben mich zu Lawl gemacht.
CFL_Jeff
13

Lesen Sie Knuth

(Fazit: Viele Leute haben Knuth, aber niemand liest Knuth)

Alle wirklich guten Programmierer, mit denen ich zusammengearbeitet habe, haben einige Gemeinsamkeiten:

(1) Auch wenn Sie nicht haben , gut zu sein in Mathe Programmierung zu tun, sie waren sowieso (und sie mochte es)

(2) Sie schätzen eine Qualität, die ich "Eleganz" nennen werde - nicht zu verwechseln mit Kürze (!!!)

(3) Sie können gut Software entwerfen (auch wenn keiner von uns erklären kann, was gutes Design eigentlich ist)

Darüber hinaus finde ich persönlich die folgenden Eigenschaften hilfreich:

(a) Spaß daran, Rätsel zu lösen

(b) lesbaren Code schreiben

(c) ein gutes Gedächtnis

(d) kann sich oberflächlich leicht an andere Programmiersprachen anpassen (Breite)

(e) Lernen Sie Ihre Hauptsprache gründlich (z. B. machen Sie die Java-Zertifizierung, wenn Java Ihre Umgebung ist (für ahnungslose Kritiker, die dies nie taten, aber die Zertifizierung ablehnen, da die Microsoft-Zertifizierung wirklich schlecht ist (war?) ... der Vorteil liegt nicht in mit dem Stück Papier ist der Vorteil in der Studie ))

(f) Wenn ich die Wahl habe, etwas Einfaches und Leichtes zu tun und dann weiterzumachen, oder etwas Superkompliziertes, das Wochen / Monate in Anspruch nimmt, mache ich das Einfache. Ich mag es einfach, da es zur Robustheit neigt, auch flexibler ist, wenn sich die Anforderungen im Lauf der Zeit ändern, und es ist viel einfacher, mit anderen Teammitgliedern zu kommunizieren

(g) Wenn Sie etwas tun, das Sie für besonders gerissen halten, dokumentieren Sie den Smeg daraus

Jemand (Djikstra?) Sagte, dass das Debuggen doppelt so schwer ist wie das Codieren. Wenn Sie also Code schreiben, der an Ihre Grenzen stößt, sind Sie per Definition nicht schlau genug, um es zu debuggen.

========

Trotzdem ist es nicht gleichbedeutend, ein kluger / besserer Programmierer zu werden, wenn Sie Ihre Karriere vorantreiben.

Es gibt wirklich nur eine "geheime Zutat", die für die Weiterentwicklung Ihrer Karriere erforderlich ist, und es sind die Fähigkeiten der Menschen.

Wenn Sie Ihre Karriere wirklich vorantreiben möchten , ist es am besten, aufzuhören und 6-12 Monate lang Autos zu verkaufen.

Rick
quelle
3
Das Zitat, das ich denke, ist Kernighan: stackoverflow.com/questions/1103299/…
Orbling
2
„Das Debuggen ist doppelt so schwierig wie das Schreiben des Codes. Wenn Sie den Code so geschickt wie möglich schreiben, sind Sie per Definition nicht schlau genug, um ihn zu debuggen. “- Brian Kernighan
Ape-inago
4
Bei gutem Gedächtnis: Ich kannte einen sehr guten Programmierer mit extrem gutem Gedächtnis. Er konnte sich den Code ansehen, den er vor zwei Jahren geschrieben hatte, und sich daran erinnern, was er damals dachte. Daher hat er sich nie viel Mühe gegeben, gute Kommentare zu schreiben - gerade genug Schlüsselwörter, um einen Hash-Code zu erstellen. Mein Gedächtnis ist beschissen. Ich MUSS die Dinge gut kommentieren, weil ich weiß, dass ich 1-2 Monate, nachdem ich einen Fehler gemeldet habe, dasselbe tun müsste wie jemand, der völlig neu ist - z. B. jeden verdammten Schritt davon lesen. Natürlich sind einige Dinge lebendiger als andere ... Ich sage nicht, dass ich großartig bin, aber Betreuer und Tester neigen dazu, mich zu mögen.;)
Job
1
Eleganz und Kürze haben jedoch viel gemeinsam.
Ich habe viele großartige Programmierer getroffen und ich merke nie, dass sie überhaupt wissen, was Mathematik ist, warum? Du sprichst nur über Mathe in der Schule und schlechte Programmierinterviews. Wenn Sie nicht über vorzeitige Optimierung sprechen, habe ich Leute mit erstaunlichen Fähigkeiten kennengelernt.
IAdapter
11

Ich habe über 20 Jahre lang programmiert und derzeit arbeiten 10 Programmierer mit mir zusammen. Ich muss sagen, dass mich diejenigen beeindrucken, die ihre Arbeit gut gemacht haben, pünktlich und mit Qualität liefern (weniger Fehler). häufig kommunizieren, leidenschaft zeigen sind alles wichtige faktoren.

Das ist es, was ich jetzt teilen kann. ;)

wsatp
quelle
Haben Sie irgendwelche beschissenen Jobs zu erledigen? (Wie von Doug in Antwort-25473 erwähnt), weil ich glaube, dass es keine gibt, aber ich könnte mich irren.
IAdapter
9

Nun, ich würde nur dieses Zitat aus dem Evangelium hinzufügen:

"Wer mit sehr wenig vertraut ist, kann auch mit viel vertraut sein, und wer mit sehr wenig unehrlich ist, wird auch mit viel unehrlich sein."

Jhonny D. Cano -Leftware-
quelle
3
Das ist aus Lukas 16:10 : "Wer im Geringsten treu ist, ist auch in vielem treu; ​​und wer im Geringsten ungerecht ist, ist auch in vielem ungerecht." Also: "Gut gemacht, guter und treuer Sklave. Du warst in einigen Dingen treu; ​​ich werde dich in vielen Dingen einsetzen. Trete in die Freude deines Meisters ein." (Matthäus 25:21)
Mark C
7

Als Chef der Programmierer kann ich Ihnen sagen, dass mich nichts glücklicher gemacht hat, als wenn ein Programmierer einen Fehler behoben hat, den ich zu faul war, um ihn zu beheben !

Also, wenn Sie können, beheben Sie seine Fehler für ihn.

Einsamer Coder
quelle
6

Wie Steven sagt, hat Mason recht - konzentrieren Sie sich auf Ihr eigenes Spiel. Denken Sie daran, dass Ihr Chef nur möchte, dass Sie Ihren Job gut machen. Wahrscheinlich mag er die Tatsache, dass er besser ist als Sie - wenn er es nicht wäre, könnte er sich unsicher fühlen (Chefs sind Menschen!). Im Moment sind Sie in der idealen Position, um aus seinen Erfahrungen zu lernen - verschwenden Sie keine Zeit mit ihm, sondern fragen Sie stattdessen nach seinen Ratschlägen. Wenn Sie jemals die 48 Gesetze der Macht gelesen haben, lautet der Schlüssel "Überstrahlen Sie niemals den Meister".

Stuart Golodetz
quelle
Und bevor Software Monkey mich anspricht wie Steven ... habe ich Masons Antwort positiv bewertet.
Stuart Golodetz
Aber hast du auch Steven positiv bewertet? ;)
Jackson Miller
6

Löse Rubiks Würfel. Der Chef wird wissen, dass Sie anspruchsvolle Rätsel mögen und wird Ihnen schwierige Aufgaben geben.

Manoj R
quelle
1
ya aber das hängt davon ab , ob Sie wollen die harten Aufgaben oder nicht.
Robert S Ciaccio
Damit das funktioniert, müssen Sie es in der Zeit tun.
Ich habe es getan, als ich 11 war, nachdem ich meinen neuen C64 zu Weihnachten bekommen hatte.
Pablo
1
Das schaffe ich in weniger als einer Minute. Was jetzt? Wo sind meine schwierigen Aufgaben? : P
Nathan Osman
+1 beste Antwort bisher! George - jetzt mach es mit geschlossenen Augen!
IAdapter
6

Wenn Sie Ihren Chef beeindrucken wollen, seien Sie ehrlich. Fragen Sie ihn bei Ihrem wöchentlichen 1: 1, worauf Sie sich konzentrieren sollten, und tun Sie dies. Versuchen Sie zu verstehen, was er für Ihre Rolle hält, und tun Sie Ihr Bestes, um sie zu erfüllen. Möglicherweise braucht er Sie, um bestimmte Aufgaben zu erledigen, damit er sich auf das konzentrieren kann, was er tut. Wenn Sie sich bemühen, die Dinge zu tun, die er tut, tun Sie möglicherweise nicht genug für Ihre eigene Aufgabe. Finde deinen Platz im Team, übertreffe das und erweitere dann. Sagen Sie ihm, dass Sie helfen möchten.

akf
quelle
5

@Mason ist richtig

  • Hör mal zu
  • lernen
  • stelle relevante Fragen in respektvollen Abständen (zB zweimal täglich, nicht alle 5 Minuten)
  • entspanne dich und sei du selbst
Steven A. Lowe
quelle
3
Wenn @Mason Recht hat, sollten Sie dann nicht einfach seine Antwort verbessern, anstatt Ihre eigene zu veröffentlichen, die seine einfach zusammenfasst?
Lawrence Dol
@Software: Ich habe seine Antwort positiv bewertet und erweitert.
Steven A. Lowe
2
@Software Money - und er verwandelte es in Aufzählungszeichen. Um ehrlich zu sein, bin ich, sobald ich 'Alladin' gesehen habe, zum nächsten Punkt übergegangen. Ich denke, das ist ein ziemlich guter Beitrag.
Alex C
@Alex: +1 mit einer Kugel!
Steven A. Lowe
5

Meines Erachtens ist das größte Kapital, das ein grüner Programmierer neben seinen vorhandenen technischen Fähigkeiten auf den Tisch bringen kann, Initiative und Leidenschaft. Wenn Sie Ihrem Chef zeigen, dass Sie aggressiv sind, wenn es darum geht, neue Dinge zu lernen, wenn es darum geht, sich im Unternehmen, in der Codebasis, in den Tools und Ihren Mitarbeitern zurechtzufinden, und wenn Sie zeigen, dass Sie eine Leidenschaft für das haben, was Sie tun , das wird beeindrucken. Es sei denn, Sie arbeiten für einen schrecklichen Manager. In diesem Fall möchten Sie sowieso aussteigen.

Ich würde auch vorschlagen , setzen einige Fokus auf „soft skills“ Zeug. Zeigen Sie, dass Sie nicht nur ein Geek sind, der für jede Art von zwischenmenschlicher Interaktion unbrauchbar ist. Machen Sie sich mit den Menschen in den Bereichen Vertrieb, Marketing, Support, Geschäftsentwicklung, Projektmanagement usw. bekannt. Zeigen Sie, dass Sie ein guter Kommunikator sind und mit Menschen zusammenarbeiten können, um Dinge zu erledigen.

Geisteskriminalität
quelle
Sh.t ​​sammelt sich im Laufe der Zeit in der Codebasis an, und normalerweise bemerken es die Grünen am meisten. Manchmal wird einem beim ersten Lesen unangenehm. Hängt davon ab, wie groß die Organisation ist, wie gut sie bei Joels Test
Job
3

Wenn Sie die Freiheit haben, dies zu tun: Schreiben Sie Stipendien, bringen Sie Stipendiengelder von außen ein oder beginnen Sie eine Zusammenarbeit von geschäftlichem Wert mit neuen Partnern, die Sie als kompetenten Programmierer oder zumindest als wertvollen Mitarbeiter betrachten.

knb
quelle
3

Bemühen Sie sich nicht darum, Leute oder Ihre Chefs zu beeindrucken. Niemand ist beeindruckt davon, nur zu reden. Konzentrieren Sie sich stattdessen auf den Versandcode. Stellen Sie sicher, dass Sie an Projekten oder Anwendungen beteiligt sind, die von Personen verwendet werden. Je mehr Code Sie in der Produktion haben, desto relevanter werden Sie sein. Je relevanter Sie für Menschen sind, desto mehr werden sie sich auf Sie verlassen. Ruhe ist alles Zaubershow.

user9631
quelle
Ein guter Punkt, Sie sollten Release Manager werden und sich nicht von anderen Leuten sagen lassen, was Sie schreiben sollen, schreiben, was Sie wollen, und es versenden!
IAdapter
2

Hart arbeiten. Tu alles, was dir gesagt wird und lerne alles. Sie haben das große Glück, unter jemandem zu arbeiten, der viel mehr weiß als Sie. Arbeiten Sie weiter, bis Sie aufholen können.

Ich möchte nicht nur hart arbeiten, sondern auch einige Ratschläge geben, die vielleicht eine Antwort auf die Frage sind, die Sie nicht stellen. (Es war nicht einmal auf meinem Radar, als ich meinen ersten Software-Job bekam).

Das Internet wird von Leuten wie Ihnen gemacht. Und Leute wie Sie können im Internet Geld verdienen.

Finden Sie etwas, was Ihnen gefällt. Baue es. Verkauf es. Sei dein eigener Chef.

  • Öffnen Sie http://news.ycombinator.com und lesen Sie die Artikel. Sie werden eine endlose Welle von Geschichten von Leuten wie Ihnen sehen, die eine Idee hatten, eine Website bauten und es schafften, ein oder zwei Dollar damit zu verdienen. Es ist inspirierend und aufschlussreich, dass es einen Typen gibt, der einen lächerlich guten Lohn verdient, indem er einen Bingokartengenerator an Lehrer verkauft ... einen anderen, der eine Website an Google für Millionen verkauft hat. Es gibt auch noch viele andere interessante technische Dinge.

  • 'Rich Dad, Poor Dad' Es gibt Orte, an denen er gute Ratschläge bekommt.

  • "Die vierstündige Arbeitswoche" nimmt diese mit einem Körnchen Salz, aber er hat einige interessante Sichtweisen auf Arbeit und Leben.

Lerne weiter von dem Kerl, unter dem du jetzt bist. In „Ihrem ersten richtigen Job“ gibt es so viel zu lernen, dass ich gar nicht erst anfangen kann. Auf lange Sicht (drei, fünf, zehn, zwanzig Jahre) müssen Sie sich jedoch keine Sorgen machen, andere zu beeindrucken, wenn Sie lernen, Ihr eigenes Geld zu verdienen.

Alex C
quelle
2

Sie können selten Menschen beeindrucken, indem Sie versuchen, sie zu beeindrucken. Und solange Sie versuchen, Menschen zu beeindrucken, und sie scheinen nicht beeindruckt zu sein, wird Ihre Frustration zunehmen.

Machen Sie Ihre Arbeit einfach so, dass Sie stolz auf sich sind. Mach dir keine Sorgen darüber, was jemand denkt. Die einzige Person, die Sie glücklich machen können, sind Sie.

Kristopher Johnson
quelle
1

Ich mochte die Geschichte in der Antwort, aber es ist unterhaltsamer als eine zuverlässige Antwort.

Es ist normal, dass jeder so ist wie du: Wir versuchen besser zu sein, das ist menschlich. Aber die schreckliche Wahrheit ist, dass es so wenig Chancen gibt, dass Sie die Besten darin sind.

Was mich selbst betrifft, hatte ich immer Angst vor Demut, weil ich diese kleinen kindischen Kämpfe darüber hasse, wer Recht hat und wer nicht, und hier ist der Grund.

Solange Sie nicht zu den Besten gehören, sollten Sie versuchen, mehr Erfahrung zu sammeln, indem Sie Ihre Kenntnisse mit denen der besten Programmierer vergleichen.

Man könnte sagen, ich vergleiche mich mit den besten Programmierern, aber das ist nur zur Hälfte richtig: - Ich vergleiche mich besser mit den Besten, da ich weiß, dass ich im Vergleich zu ihnen einfach lächerlich bin, was das Prinzip des Vergleichens ziemlich dumm und nutzlos macht - Ich betrachte ihren Ruhm nicht als ihren Erfolg, denn in Wirklichkeit verschwinden die meisten genialen Mythen, wenn man weiß, wie das Geschäft funktioniert. Es ändert nichts an der Tatsache, dass sie großartige Arbeit geleistet haben, aber denken Sie daran, dass die Erfahrung schwer zu bewerten ist, wenn Sie über die Arbeitsbedingungen nachdenken. - Letztendlich vermeidet dieser Prozess den für mich sehr störenden Wettbewerbsprozess und hilft mir, mich auf das Wesentliche zu konzentrieren: Lernen durch Übung, aber auch Lernen mit Hilfe einer guten Neugier-Engine.

Sie können jeden bewundern, den Sie wollen und der denkt, er sei so besser als alle anderen Mitarbeiter oder Programmierer, die Sie kennen, aber Sie müssen bedenken, dass die Welt riesig ist und der Typ, den Sie bewundern, im Vergleich zu anderen eher durchschnittlich ist erfahrene Leute gibt es da draußen, vielleicht fühlen Sie sich besser, wenn Sie ihn beeindruckt haben, aber Sie fühlen sich gegenüber anderen Leuten mit besserer Erfahrung genauso, also ist alles umsonst.

Beenden Sie dieses kleine Spiel und versuchen Sie, interessantere Themen zu finden, von denen Sie vielleicht gehört haben, denn dieser Ingenieur, über den Sie sprechen, ist mit Sicherheit damit beschäftigt, für etwas weniger Großes zu arbeiten, als Sie denken.

jokoon
quelle
Dank diesem Beitrag konnte ich das verstehen. Wenn du von ganz unten kommst, sind Helden Werkzeuge, mit denen ich mich motiviert habe. Aber jetzt, wo ich einen besseren Ort erreicht habe, muss ich mein eigener Held werden und hart arbeiten. Nicht zur Anerkennung, sondern für mich. Mein Vater, der ein weiser Mann ist, hat mir einmal gesagt, dass ich das Erfolgsgeheimnis bin. Das habe ich bis gestern noch nie hinbekommen. Danke.
Pablo
1

Ich muss einigen der anderen hier zustimmen, dass Sie wahrscheinlich Ihr Ziel verfehlen - weil Sie sich auf das falsche Problem konzentrieren oder zumindest zu eng fokussiert sind.

Sie möchten ein großartiger Programmierer sein - verleiht Ihnen die subjektive Meinung eines Software-Ingenieurs diesen Titel und diese Fähigkeit (außer Joel)? Wenn Sie sich nur darauf konzentrieren, Ihren Chef zu beeindrucken, dann konzentrieren Sie sich nicht auf die Arbeit oder auf die Verbesserung Ihrer Fähigkeiten - Sie konzentrieren sich nicht auf Ihr Ziel, ein großartiger Programmierer zu werden. Sie versuchen, Respekt zu genießen, anstatt ihn zu verdienen.

Nehmen wir den schlimmsten Fall (weil Programmierer das gerne tun) - Ihr Chef hasst Sie absolut ohne objektiven Grund (Sie haben am ersten Tag einen Patriotenhut getragen, was auch immer). Er wird einfach nie eine gute Meinung von dir haben. Wenn Sie sich darauf konzentrieren, Ihre Aufgaben zu erledigen, Probleme effizient und elegant zu lösen und Ihre technischen Fähigkeiten zu verbessern, werden Sie sich verbessern - am Ende sind Sie der Gewinner - unabhängig davon, was Ihr Chef denkt.

Ashton-Job war ein Rezept für einen Fehlschlag, nicht weil sein Code ungenutzt blieb, sondern weil der Job ihm keinen anderen praktischen Nutzen verschaffte als die Sicherheit in Maslows Hierarchie. Lernte er neue Fähigkeiten? Hat seine Arbeit ihm erlaubt, kreativ zu sein? Hat es ihm Respekt eingebracht? Nein.

Da dies Ihre erste Position ist, werden Ihnen die meisten dieser Eigenschaften standardmäßig angeboten. Sie machen Ihre ersten Programmiererfahrungen professionell, Sie werden mit neuen technischen und nichttechnischen Herausforderungen konfrontiert. Aber es wird eine Zeit kommen, in der Sie über die Position hinauswachsen oder es über Sie hinauswächst, und Sie müssen sich kontinuierlich verbessern, damit Sie nicht unvorbereitet davon überrascht werden.

Noch eine Sache: Wenn Ashton seinen Selbstwert nur an der Anzahl der Leute misst, die seinen Code verwenden, schlage ich vor, dass er einem Vielfliegerclub beitritt. Das einzige dauerhafte Glück im Leben ist das, was wir für uns selbst schaffen. Das strikte Leben nach dem, was andere Menschen von uns halten, erzeugt tragische und unechte Menschen.

Watson
quelle