it-swarm.com.de

Ich bin der .1x-Programmierer in meiner Firma. Wie kann ich am besten dazu beitragen?

Ich arbeite bei einem neu gegründeten Startup mit fünf Leuten. Wir haben einen Doktortitel in maschinellem Lernen, ein ehemaliges Mitglied des RSpec-Kernteams und den Mann, der die Git-Binärdatei für OS X kompiliert. Das sind nur die Mitarbeiter. Der Gründer hat einen Doktortitel und war CTO für ein Multi-Milliarden-Dollar-Unternehmen, bevor er ein (erfolgreiches) Startup gründete. Jetzt hat er das verlassen, um dieses zu starten. Wir könnten auch einen Doktor mit Mathe bekommen.

Aaaaaaaa und dann bin ich da, Praktikant am Studienabbruch. Ich denke, ich bin ziemlich schlau und lese ununterbrochen, aber das Delta aus Erfahrung, Können und Wissen zwischen mir und meinen Mitarbeitern ist einfach atemberaubend.

Versetzen Sie sich also in ihre Lage: Sie haben einen klugen jungen Praktikanten, der viel zu lernen hat, aber zumindest voller Energie ist. Was wäre nervig? Welchen Nutzen würden Sie hoffen, im Hier und Jetzt aus ihm herauszukommen? Was wäre angenehm überraschend, wenn es passieren würde?

62
invaliduser

Das Wichtigste:

Lassen Sie sich von den Titeln nicht beeindrucken. In kurzer Zeit werden Sie feststellen, dass auch Ihre Doktoranden nur Menschen sind. Und manche Leute mit einem Doktortitel haben nie wirklich etwas praktisch Nützliches geschaffen. Denken Sie immer daran, fühlen Sie sich nicht minderwertig.

Was würde ich von dir erwarten? Um guten Code zu schreiben und Dinge zu erledigen. Es besteht die Möglichkeit, dass Sie jemand sind, der wirklich arbeitet, da Sie sich selbst als energisch bezeichnen. Ich habe viele Leute mit Abschlüssen gesehen, die wie ewig gebraucht haben, um einfache Aufgaben zu erledigen, weil sie sich zu sehr auf Details usw. konzentriert haben. Nutzen Sie das und liefern Sie guten Code in einer angemessenen Zeit, und bald werden Sie alle respektieren.

Aber respektiere die anderen nicht. Sie sind höchstwahrscheinlich älter und Sie können wahrscheinlich wertvolle Dinge von ihnen lernen. Aber übernimm nichts sinnlos. Versuchen Sie immer, selbst zu verstehen und zu denken. Ich würde erwarten, dass Sie die Verhaltensweisen und das Wissen von ihnen kopieren, die wirklich funktionieren.

59
Falcon

Demut geht einen langen Weg

Mit Ihrer bescheidenen Einstellung bezweifle ich ernsthaft, dass Sie nerven werden. Demut geht einen langen Weg. (Dies gilt sowohl für Hot-Shots als auch für Praktikanten.)

Wenn Ihre Rolle ausdrücklich darin besteht, die anderen zu unterstützen, können Sie sicher sein, dass Sie nützlich sind, indem Sie einfach fragen. "Welche nervige Aufgabe kann ich von deinem Teller nehmen?"

Eine andere Sache, die Sie finden werden, ist, dass die meisten Menschen es lieben, sich geschätzt zu fühlen. Wenn Sie wirklich zu Ihren Teammitgliedern aufschauen, können Sie davonkommen, indem Sie sie viel fragen und viel von ihnen lernen. Sie werden sich geschmeichelt fühlen, aber es wird echt sein. Es wird Ihnen auch helfen, zu lernen und nützlicher zu werden.

Schließlich kann es an sich nützlich sein, weniger als sie zu wissen. Zum Beispiel können Sie wahrscheinlich besser Dokumentation für APIs schreiben, da Sie die Fragen stellen, die Außenstehende stellen würden, die den anderen jedoch zu offensichtlich erscheinen.

Und wer weiß? Sie werden vielleicht feststellen, dass Sie ein Führer werden, wenn Sie dienerisch gesinnt sind.

41
Nathan Long

Sie haben bereits viele gute Antworten erhalten. Ich denke, ich kann dazu beitragen, indem ich meine Erfahrungen in einer ähnlichen Position teile.

Hintergrund: Ich arbeite seit einigen Jahren in Teilzeit in einer Forschungs- und Entwicklungsabteilung eines ziemlich großen Unternehmens, während ich hauptsächlich CS studiere. Die Leute, mit denen ich die meiste Zeit zusammenarbeite, haben einen Doktortitel oder Master in EE, CS, Mathematik und Physik. Ich habe als absoluter Neuling angefangen, aber in diesen wenigen Jahren viel gelernt.

Was wäre ärgerlich?

  1. Fragen stellen, die ich mit Google problemlos selbst beantworten kann
  2. Andere zu häufig unterbrechen, indem Sie eine Frage stellen. Wenn Sie eine Frage haben, die kein Blocker ist, führen Sie andere Arbeiten aus, bis Sie Ihre Frage stellen können, ohne die von Ihnen gestellte Person zu unterbrechen. Sie können ein paar Fragen sammeln und dann nach der Zeit der anderen Person fragen oder warten, bis die Person Sie nach Ihrem Fortschritt fragt oder eine gute Zeit, um mit ihr zu sprechen, z. als er am Ende einer Pause bereits durch einen Anruf unterbrochen wurde, dann sag ihm "Ich habe dies und das getan, aber momentan stecke ich hier und da fest".
  3. Wenn Sie nicht weiterkommen (nachdem Sie Google und andere Ressourcen erschöpft haben), bitten Sie um Hilfe. Nichts schlimmeres als herauszufinden, dass jemand 2 Tage lang an etwas feststeckt, das Sie in 5 Minuten für ihn hätten lösen können (von Neil White in den Kommentaren).
  4. Versuche nicht schlauer zu sein als alle anderen.

Welchen Nutzen würdest du hoffen, im Hier und Jetzt aus ihm herauszukommen?

  1. Machen Sie Dinge, die andere leicht/nervig finden, auf eine Weise, die dem Team tatsächlich hilft. Das ist wirklich alles.

Was wäre angenehm überraschend, wenn es passieren würde?

  1. Dass Sie den größten Teil Ihrer Arbeit zufriedenstellend erledigen und sich immer mehr in die Arbeit des Teams einbringen.

Noch ein paar Tipps :

  1. Demütig sein.
  2. Zeigen Sie Interesse an der Arbeit der anderen.
  3. Wenn sie Ihnen etwas erklären, stellen Sie sicher, dass Sie verstehen. Wenn Sie dies nicht tun, bitten Sie sie, dies so zu erklären, dass Sie zumindest die Grundidee erhalten.
  4. Sei verlässlich. Versuche die Arbeit so gut wie möglich zu machen.
17
mort

Bisher gute Ratschläge von anderen. So beantworten Sie Ihre spezifischen Fragen:

  • Was wäre nervig?

Es wäre ärgerlich, wenn Sie Fragen stellen würden, ohne vorher Ihre Hausaufgaben zu machen. Um Hilfe zu bitten, nachdem Sie alles getan haben, um das Problem zuerst zu lösen, ist in Ordnung. Aber wenn jemand in der Lage ist, die Antwort über eine einfache Google-Suche oder durch Lesen des Handbuchs zu finden, ist das ärgerlich.

  • Welchen Nutzen würden Sie hoffen, im Hier und Jetzt aus ihm herauszukommen?

Ich gehe davon aus, dass Sie bereits ein Projekt/eine Aufgabe haben. Ich hoffe, dass Sie dies mit minimaler Aufsicht beenden können.

  • Was wäre angenehm überraschend, wenn es passieren würde?

Eine angenehme Überraschung wäre, wenn Sie Ihre Arbeit vorzeitig beenden würden. Dann könnten Sie mit zunehmender Komplexität an mehr Projekten arbeiten, was Ihre Zuverlässigkeit beweisen würde. Eine weitere Überraschung wäre, wenn Sie in der Lage sind, die Bedürfnisse des Teams zu antizipieren und nebenbei daran zu arbeiten, diese zu erfüllen. Benötigt Ihr Team eine automatisierte Build-Umgebung, ein automatisiertes Test-Framework, bestimmte Computer-/Netzwerkkonfigurationen zum Testen usw.? Dies kann eine periphere Sache sein

9
RonE

Kurze Antwort: Finden Sie heraus, was das Team braucht und was Ihnen vielleicht am besten gefällt, und arbeiten Sie daran, dies zu erreichen.

Längere Antwort: In den frühen Phasen eines Start-ups ist die meiste Arbeit meistens "zu gewinnen"; Alle Aufgaben oder Aufgaben, die Personen erledigen möchten, stehen allen Teilnehmern zur Verfügung. Ihre Vorlieben können buchstäblich die Richtung bestimmen, in die das Unternehmen geht.

Interessiert an HR? Übernehmen Sie die Einstellungsaufgaben. Oder vielleicht die Gehaltsabrechnung machen. Interessiert an Programmierung? Finden Sie heraus, welche Sprache das Team verwenden möchte. Versuchen Sie, einige Komponententests für einen Teil des Codes zu schreiben. Hassen Sie es, Berichte zu schreiben? Dann nicht. Prüfen Sie, ob Sie diese Aufgabe an eine andere Person delegieren und auf eine konstruktive Lösung hinarbeiten können. Nehmen Sie sich etwas Zeit und überlegen Sie, was Sie tun möchten. Probieren Sie es dann aus.

Beachten Sie, dass es bei sehr kleinen frühen Start-ups viel mehr zu tun gibt, als nur zu programmieren. Wenn Sie codieren möchten, großartig! Wenn Sie lieber etwas anderes machen möchten, ist das auch gut! Lerne schnell, stelle viele Fragen und fordere dich selbst heraus.

4
joshin4colours

Ich bin mir nicht sicher, wie hilfreich meine Antwort sein würde, aber ich war dort, wo Sie jetzt sind. Umgeben von Menschen, von denen ich glaubte/wusste, dass sie so viel mehr beitragen konnten, als ich jemals hätte tun können. Wie soll man in dieser Position handeln? Genieße es, anstatt zu leiden. Anstatt zu überlegen, wie viel Sie nicht wissen, denken Sie darüber nach, was Sie gemeinsam mit diesen Menschen lernen und erleben können. Verwenden Sie sie als Ressource, seien Sie respektvoll und versuchen Sie, Informationen und Erfahrungen aus ihnen herauszuholen - werden Sie ein Schwamm ...

Das bedeutet nicht, dass Sie aufhören müssen, Dinge zu tun, aber wenn Sie dies tun, versuchen Sie, sie dazu zu bringen, über Ihre Schulter zu schauen und Ihre Arbeit zu überprüfen, während Sie gehen. Versuchen Sie, eine Arbeit abzuschließen, und hören Sie sich dann an, was sie dazu zu sagen haben. Notieren Sie sich die Kommentare, die sie Ihnen geben, und versuchen Sie, sie zu implementieren, um besseren Code zu erstellen. Haben Sie keine Angst, Fragen zu stellen, seien Sie einfach respektvoll und versuchen Sie, gute Fragen zu stellen - versuchen Sie, die Daten zu absorbieren und Ihre unmittelbare Frage zu prüfen, bevor Sie sie stellen - vielleicht wurde die Antwort bereits geliefert ... Die besten Leute lieben es zu unterrichten, und ich Ich wette, sie würden gerne ihr Wissen und ihre Lebensphilosophie mit Ihnen teilen.

In meiner Situation habe ich versucht, das zu tun, und wann immer es für mich funktionierte, war ich am glücklichsten, ich habe nie verstanden, warum sie mich am Laufen gehalten haben, aber ich hatte die größte Zeit und ich denke gern, ich wurde ein besserer Programmierer und sogar ein Mann als Ergebnis dieser Erfahrung.

All dies bedeutet nicht, dass Sie sich selbst unterschätzen sollten - Sie sind wahrscheinlich viel besser, als Sie sich zutrauen, aber wie die Leute hier geschrieben haben, sind Titel und Abschlüsse in realen Situationen nicht immer so beeindruckend, und Demut ist ein langer Weg. Seien Sie also respektvoll gegenüber allen, hören Sie zu, nehmen Sie auf - aber nehmen Sie Ihre eigenen Lehren aus der Erfahrung - manchmal ist es besser, zu lernen, was nicht zu tun ist.

Viel Glück.

1
Moshe Eshel

Hier wird bereits viel präsentiert, daher werde ich nicht wiederholen, was gesagt wurde.

Auf den ersten Blick scheint es mir, dass Sie Experten und eine Führungskraft mit Managementfähigkeiten/-ideen haben. Das ist gut, aber es ist unvollständig .

D bist der Pragmatische: Erleichtere ihr Leben.

Es gibt mindestens zwei Bereiche, die Sie abdecken können:

  • vertiefen Sie sich in die technischen Details der Sprache, die das Startup gewählt hat
  • verbessern Sie die Qualität des Codes und glätten Sie die rauen Ecken der Arbeit damit

technisch

Diese Leute sind Experten auf ihrem Gebiet, und das ist gut so, aber das bedeutet nicht, dass sie wissen, wie man sich aus einer Papiertüte heraus codiert. Ehrlich gesagt habe ich sehr kluge Leute gesehen, die schrecklichen, nicht wartbaren Code geschrieben haben.

Sie haben hier die Möglichkeit, technischer Leiter zu werden. Lernen Sie die Sprache in- und auswendig, bis Sie alle Feinheiten kennen. Lerne die Redewendungen, die die Community verwendet. Erforschen Sie die nützlichen Bibliotheken, die es gibt.


Qualität

Es gibt undankbare, aber nützliche Aufgaben:

  • wer verwaltet das Code-Quell-Repository?
  • wer schreibt/pflegt die Tests?
  • wer überwacht, dass die Testsuite bestanden wurde? und identifiziert die Schuld begangen? und die Täter unerbittlich anpingen?

Es gibt einige Schritte, die helfen, ob sehr formal oder nicht:

  • wie überprüfen Sie die Commits? (Gibt es einen Besitz, der mit einigen Bereichen des Codes verbunden ist?)
  • wie planen Sie die Arbeit/Aufgaben?

Es gibt viele periphere Aktivitäten, um Ideen zu haben und Code zu schreiben.

Sie haben hier die Möglichkeit, Qualitätsführer zu werden. Lernen Sie die Best Practices der Branche kennen (ein bisschen "Agile", ein bisschen Scrum, ein bisschen TDD, ...) und erstellen Sie einen Prozess, der zu Ihrem Unternehmen passt. Lernen Sie Build-Systeme (make, cmake, ninja, was auch immer) und schreiben Sie die Skripte, die das Erstellen/Bereitstellen vereinfachen. Überprüfen Sie Jenkins (oder was auch immer) und erstellen Sie einen kontinuierlichen Integrationsserver.


Sie sind in ihren jeweiligen Bereichen beeindruckend und das ist großartig. Da Sie im Moment nicht spezialisiert sind, würde ich sagen, dass es Zeit für Sie ist, die Schwächen zu identifizieren (Sie können auch nach deren Meinungen fragen) und a(the) Lücke (n)) zu füllen!

1
Matthieu M.