Zeit, die benötigt wird, um bei einer neuen Firma mit dem Codieren zu beginnen [geschlossen]

12

Ich bin seit 4 Jahren Software-Ingenieur und habe gerade erst meine Firma gewechselt.

Das Unternehmen arbeitet mit der Paarprogrammierung und seit 3 ​​Tagen kann ich nicht einmal eine einzige Codezeile schreiben. Es ist so frustrierend für mich, weil ich in meiner vorherigen Firma sehr produktiv war.

Die Codebasis ist groß, sie verwenden 5-6 Sprachen / Tools, mit denen ich nicht vertraut bin, wie rspec, haml, jasmine und andere. Trotzdem fühle ich mich schrecklich.

Dieses Wochenende habe ich UML erstellt, um ein besseres Verständnis für die Anwendung zu erlangen, aber ich gehe immer noch davon aus, dass ich in dieser Woche keine angemessene Menge an Code schreiben kann.

Ist das normal?

Was ist Ihre Erfahrung, wenn Sie Ihren Job wechseln und in eine große Codebasis eintauchen, die mit Sprachen / Bibliotheken geschrieben wurde, mit denen Sie nicht vertraut sind?

Natürlich frage ich nicht nach der genauen benötigten Zeit, aber vergangene Erfahrungen oder Dinge, um den Prozess zu machen, wären großartig.

Übrigens habe ich unten schon Fragen & Antworten gelesen, wie taucht man in große Codebasen ein?

/programming/215076/was ist der beste Weg, um mit einer großen Codebasis vertraut zu werden?

/programming/214605/the-best-way-to-familiarize-yourself-with-anherited-codebase

AKTUALISIEREN

Alles tolle Vorschläge! Ich bin gerade von der Arbeit gekommen, ich habe viel gearbeitet!

Über die Paarprogrammierung:

Im Allgemeinen schreiben sie Code, und ich versuche, nicht einmal eine Sekunde zu verpassen! Wenn ich versuche, den Code zu schreiben, weiß ich, dass es ewig dauern wird, weil ich nicht einmal weiß, welche Dateien ich bearbeiten soll, aber abgesehen davon verwenden sie, wie gesagt, 6-7 Sprachen / Frameworks, die ich nicht bin Es ist nicht einfach, alle diese Syntaxen auf einmal zu lernen.

Wie gut hat sich das Unternehmen auf Ingenieure vorbereitet:

Ich kann nicht sagen, dass sie gut organisiert sind. Sie erwarten von mir, dass ich sofort mit dem Schreiben von Code beginne.

Notizen machen, proaktiv sein:

Ich mache mir immer Notizen, wenn sie einen neuen Befehl oder etwas über Datenmodelle schreiben. Meine Kollegen sind sehr kluge und nette Leute, und ich versuche, viele Fragen zu stellen, manchmal sogar viele dumme Fragen .

Ist das üblich ?:

@Telastyn, danke für deine Antworten, ich habe mich ein bisschen besser gefühlt. Es scheint, dass mein Problem nicht so ungewöhnlich ist, aber ich war vor diesem Job wirklich produktiv, und jetzt fühle ich mich wirklich nutzlos und nicht schlau.

Ich hoffe, dass ich bald anfangen kann, Fehler zu beheben / Probleme zu implementieren.

Informationen zu den verwendeten Frameworks / Sprachen:

Ich war wirklich ehrlich, ich habe nicht gesagt, dass ich etwas weiß, was ich eigentlich nicht weiß. Aber ich hatte nicht viel anderes erwartet und da ich an dem Tag zu arbeiten begann, als ich das Angebot annahm, hatte ich keine Zeit, mich vorzubereiten.

@Southpaw Hare, vielen Dank, dass Sie Ihre Erfahrungen geteilt haben. Du liegst absolut richtig. Es gibt keine Garantie, dass ich all diese Dinge lernen werde, aber ich versuche es. Am Ende ist es schwierig, die gesamte Syntax auf einmal zu lernen, und ich denke, das ist auch das Hauptproblem. Weil ich im Ruby-Code gut navigieren kann, da ich diese Sprache kenne, und dank Browser-Inspektoren in js-Codes navigiere, aber das Problem besteht darin, die tatsächlichen Codes mit den Frameworks / Sprachen zu schreiben, die ich nicht kenne.

Robert Johnson
quelle
Seit Sie erwähnen Wie tauchen Sie in große Codebasen ein? Was steht in den Antworten, die Ihren Fall nicht abdecken?
Mücke
3
Da Sie paarweise programmieren, müssen Sie keinen Code schreiben, um produktiv zu sein. Sie können sehr nützlich sein, wenn Sie nur beobachten, wie jemand anderes Code schreibt. Bald genug werden Sie genug wissen, um selbst mit dem Schreiben von Code zu beginnen.
Kevin Cline
@ Kevincline, wenn er sich als neuer Entwickler paart, sollte er auf jeden Fall derjenige sein, der auf der Tastatur sitzt, sonst wäre das ein ziemlich schlechtes Paar-Setup ...
Jimmy Hoffa
Wenn das Unternehmen die Dinge so macht, hat man wirklich keine Wahl. Stellen Sie sicher, dass Sie wissen, was von Ihnen erwartet wird, wenn die Zeit gekommen ist. Fragen stellen. Rückmeldung bekommen. Sie können viel Zeit verschwenden, wenn Sie nicht vorsichtig sind.
JeffO
@ JimmyHoffa, ich weiß, das wäre besser für mich, aber in diesem Fall würde ich meinen Peer viel verlangsamen. Da ich jede Syntax, tatsächliche Datei, die ich bearbeiten muss, Datenmodell oder etwas anderes fragen muss, verlangsamt dies meinen Peer.
Robert Johnson

Antworten:

10

Dies hängt von Dingen wie der Komplexität des Systems ab und davon, wie gut die Organisation auf die Integration neuer Programmierer vorbereitet ist. Es kann zwischen 30 Minuten und mehreren Wochen dauern. Es ist nicht unbedingt etwas, was du falsch machst und du solltest dich nicht schlecht fühlen.

Was Sie jedoch tun sollten, ist proaktiv zu sein, um es für sich und andere zu reparieren. Erzählen Sie Ihrem Manager von Ihren Frustrationen und arbeiten Sie zusammen, um diese zu überwinden und den Prozess für andere Neueinstellungen zu verbessern.

Schreiben Sie Notizen zu den Dingen, mit denen Sie zu kämpfen haben, und überlegen Sie, wie Sie sie beheben oder umgehen können, und dokumentieren Sie Ihren Prozess. Halten Sie andere Personen, die Ihnen helfen können, über Ihre Fortschritte auf dem Laufenden und setzen Sie sich für Hilfe ein. Es ist nicht beschämend, um Hilfe zu bitten.

Rein Henrichs
quelle
1
Mehrere Monate sind nicht ungewöhnlich für komplexe, große (1 Million + SLOC), insbesondere ist die Domain auch eine Nische und / oder komplex.
Mattnz
1
+1: Einige Unternehmen haben Mentoren für Neueinstellungen, egal wie viel Erfahrung sie aus genau diesen Gründen haben. Ich nerve immer die Person, die mir am nächsten sitzt und bereit ist zu helfen und ihnen Tonnen von Fragen zu stellen - und dann pimpe ich sie offen meinem / ihrem Manager zu, wenn sie helfen.
Steven Evers
@mattnz Ja. Mehrere Monate sind jedoch nur eine Menge von mehreren Wochen. ;)
Rein Henrichs
5

Ist das normal?

Für die meisten Codebasen ist dies der Fall. Verdammt, in meiner Firma treffen Sie sich 2 Tage lang mit HR, bevor Sie einen Computer berühren dürfen. Das ist ein Ausreißer, aber überlegen Sie, wie lange es dauert, bis die Entwicklungsumgebung eingerichtet ist und Sie sich vage mit der Domäne, der Codestruktur und den Teamnormen vertraut gemacht haben.

Als Teamleiter erwarte ich, dass Sie für einen (zweiwöchigen) Sprint effektiv nichts tun und für die nächsten 1-2 Sprints mit ~ 50% arbeiten.

Telastyn
quelle
2

Ich habe bei einer Firma gearbeitet, die nur 2-3 Sprachen hatte, aber es dauerte fast ein Jahr, bis die Programmierer auf der Codebasis entlassen wurden, wahrscheinlich 1 oder 2 Monate, bevor sie ihre erste Zeile von festlegten Code.

Schlagen Sie sich nicht darüber hinweg, wenn Sie im Interview ehrlich über Ihren Mangel an Wissen auf diesen Plattformen waren, wussten sie, worauf sie sich einlassen. Es braucht Zeit und Zeit kann nicht erweitert, gekürzt oder komprimiert werden. Stellen Sie einfach sicher, dass Sie das Beste daraus machen.

Newtopian
quelle
1

Es hängt wirklich von Ihrer Arbeit und der Rolle ab, in der Sie tätig sind.

Wenn Sie auftragsbezogen arbeiten, müssen Sie buchstäblich auf den neuesten Stand kommen und alle Fähigkeiten einsetzen, die Ihnen zur Verfügung stehen, um die Arbeit zu erledigen. Vertragsarbeit ist in der Regel gut definiert, und das können Sie (in der Regel), zumindest nach meiner Erfahrung.

Andererseits habe ich an einer Stelle angefangen, die eine enorme alte Codebasis mit einer enormen Lernkurve hatte. Es wurde nicht erwartet, dass wir in den ersten sechs Monaten, in denen wir dort waren, Produktionscode schreiben würden.

Seien Sie geduldig, nehmen Sie so viel wie möglich auf und setzen Sie es für die Praxis ein, wenn Sie mit dem Codieren beginnen. Wenn Sie stationär sind oder es eilig haben, besteht in einem so großen System eine gute Chance, dass Sie irgendetwas kaputtmachen, besonders wenn die Testabdeckung nicht brillant ist.

Sam
quelle
0

Eine gewisse Zeit ist absolut normal, um sich an etwas so völlig Unbekanntes zu gewöhnen - ich würde mir keine Vorwürfe machen oder mich schlecht fühlen. Es ist jedoch wichtig, bereit zu sein, die Möglichkeit zu akzeptieren, dass dieser Job nicht zu Ihren Fähigkeiten gehört. Dies ist nicht unbedingt der Fall, es lohnt sich nur, die Möglichkeit offen zu lassen.

Das Problem liegt möglicherweise nicht in der Codebasisgröße, sondern in der Tatsache, dass Sie die beteiligten Sprachen nicht kennen. Nach meiner persönlichen Erfahrung hatte ich einen Job in einem Unternehmen, in dem ich keine der Sprachen kannte, die in einer ziemlich umfangreichen Codebasis verwendet wurden. Leider konnte ich das nach ungefähr 5 Monaten nicht mehr ausreichend lernen und ging stattdessen zu einer anderen Firma. Dort beherrschte ich die Primärsprache und obwohl die Größe der Codebasis vergleichbar ist, habe ich mich recht gut geschlagen.

Wenn es darum geht, neue Sprachen zu lernen, denken die Leute normalerweise, es sei einfacher als es tatsächlich ist, und halten sich an hohe Standards, um sie schnell zu lernen. Es ist wahrscheinlich, dass Sie länger brauchen, als Sie denken. Denken Sie also daran, unabhängig davon, was Sie sich entscheiden.

Südpfotenhase
quelle
2
Einige Leute denken, dass es schwieriger ist, als es tatsächlich ist. Oft kommt es eher auf Vertrauen als auf Talent an.
ChaosPandion