Schwierige Zeit im ersten Software-Engineering-Job [geschlossen]

Ich habe vor Kurzem meinen Master in Mathematik/Ingenieurwesen (Dual Degree) abgeschlossen und wurde als Junior-/Neuling-Softwareingenieur in einem Beratungsunternehmen eingestellt, wo ich in der Finanzsoftwarebranche arbeitete. Es war eine unglaubliche Gelegenheit und ich habe mich während des Telefoninterviews gut geschlagen, aber ich habe sie direkt über meinen Mangel an Erfahrung informiert und ich war mehr als ehrlich zu ihnen über meinen Programmierhintergrund. Ich habe ein paar Projekte mit GH gemacht und an der Universität Programmiert, aber ich habe keinen Informatik-Hintergrund und war in meiner eigenen persönlichen Einschätzung sehr ehrlich. Trotzdem stellten sie mich ein und dachten, sie könnten mir beibringen, alles zu entwickeln, was ich wissen müsste.

Um es kurz zu machen, es war schwierig. Ich wurde Mitte August eingestellt, habe aber erst im September angefangen, mir die Hände schmutzig zu machen (Codierung …), weil es Probleme mit meinen Zeugnissen gab. Mir wurden kleinere/mittlere Programmieraufgaben und -themen gegeben, und obwohl ich sie alle erledigte, brauchten einige etwas Zeit. Zunächst war dies akzeptabel; jetzt, wo es 2 monate sind, beginnt die zeit, die ich mir nehme, an den nerven meines vorgesetzten zu zerren. Er ist die meiste Zeit sehr beschäftigt und obwohl er sich Zeit genommen hat, um mich zu trainieren, frage ich ihn manchmal mehr als einmal, wie man etwas macht, was ihn manchmal ärgern kann. Das System, mit dem ich arbeite, ist relativ komplex und ich habe bereits mehr als 20 Dokumente zur Fehlerbehebung durch einige häufige Fehler/Schritte, Codeumgehungen und grundlegendes Debugging entwickelt. Aber mir fehlen immer noch Grundlagen und grundlegende Programmierkenntnisse, an denen ich gearbeitet habe, aber ich kämpfe manchmal mit grundlegenden Einführungsproblemen, mit denen ich zu diesem Zeitpunkt kein Problem haben sollte. Ich werde bald in eine andere Umgebung wechseln, wo viel, viel mehr von mir erwartet wird und ich in der Lage sein werde, alle Probleme innerhalb weniger Minuten zu lösen. Ich werde auch danach gefragt und er verteidigt mich vor Vorgesetzten, aber ich möchte nicht, dass hinterher große Erwartungen an mich gestellt werden.

Ich lerne jeden Tag mehr und mehr, aber es ist nicht schnell genug. Ich habe ihn ohne Umschweife gefragt, ob ich der Richtige für das Unternehmen bin oder nicht; Ich habe auch gefragt, ob ich mich nicht schnell genug bewege, und er sagte, ich solle, ich müsse, viel schneller gehen. Manchmal brauche ich eine Weile, um Informationen zu verarbeiten, um genau zu wissen, was ich tun muss, und ich bin seit der Universität so (selbst wenn ich meine Ingenieur-/Mathematikprüfungen zu 100 % bestanden habe, war ich derjenige, der normalerweise ALLE verwendet hat Zeit und ich bin selten, wenn überhaupt, früher gegangen).

Wie soll ich vorgehen? Ich möchte im Bereich Software Engineering erfolgreich sein, aber ich weiß nicht, was ich tun soll. Das Lernen zu Hause ist hilfreich, aber es scheint nicht genug zu sein, weil ich einfach nicht genug Erfahrung habe. Was kann ich in den nächsten Wochen tun, damit es mir besser geht? Manchmal, wenn er sehr schnell spricht oder eine komplexe Abfolge von Schritten in 2-3 Minuten durchläuft, versuche ich, um eine Klärung zu bitten, aber manchmal habe ich den Eindruck, dass er verärgert ist und das Gefühl hat, ich sollte es einfach wissen, nachdem er es einmal gesagt hat .

Was ist das eigentliche Arbeitsplatzproblem? Aus Ihrer Geschichte scheinen Sie das Problem skizziert zu haben und eine Lösung gesucht zu haben, indem Sie Ihren Vorgesetzten "aus dem Nichts" gefragt haben und eine Antwort erhalten haben. Am Ende kommen Sie zu dem Schluss, dass Sie einfach "nicht genug Erfahrung haben", und es scheint offensichtlich, dass dieses Problem mit der Zeit verschwinden wird, wenn Sie so weitermachen wie bisher. "Wie soll ich vorgehen?" ist nicht zu verantworten.
Bezogen auf Ihre implizite Software-Engineering-Frage: Schnelleres Programmieren (ohne Qualitätseinbußen)
Willkommen neuer Benutzer, vielleicht sollten Sie die Frage drastisch kürzen, um bessere Antworten zu erhalten?
BTW Was ist GH? Oh, Google-Hangouts :/
@Fattie Eher GitHub
Noch schlimmer :/ das Zeichen eines Bastlers. Etwas verwandte QA .. workplace.stackexchange.com/q/122055/22844
@Brandin Ich denke, es gibt eine Antwort, in der Software besteht die "größte Einzelsünde" darin, im Grunde um Hilfe oder Klärung zu bitten. „Software machen“ bedeutet buchstäblich, das Problem „anzunehmen“; Es ist ein inhärenter Widerspruch, um "Hilfe" zu holen. Deshalb ist in der Software nichts ärgerlicher, als wenn jemand zurückkommt, um „Hilfe“ oder „Rat“ oder „Tipps“ zu bekommen. Damit sollte OP also aufhören.
Es gibt viele Kurse, die Sie belegen können, Bücher, die Sie lesen können, oder Tutorials, die Sie durcharbeiten können, wenn Sie das Gefühl haben, dass Ihre Programmiersprache fehlt. Einige sind viel besser als andere, aber Sie sind an der falschen Stelle, wenn Sie nach einer Empfehlung suchen. Aber ein paar Wochen sind ziemlich kurz. Wenn Sie dem, was Ihr Chef sagt, nicht folgen können, sollten Sie sich wahrscheinlich Notizen machen und es später herausfinden (oder, wenn Sie das nicht können, dann um Klärung bitten).
@Fattie Nachdem ich die letzten über vierzig Jahre meines Lebens damit verbracht habe, an verschiedenen Orten Software zu entwickeln, habe ich die von Ihnen erwähnte Einstellung noch nie gesehen. Es liegt in der Verantwortung des Entwicklers, die Arbeit zu erledigen, aber wenn Sie bei Bedarf nicht um Hilfe bitten, wird die Arbeit nicht erledigt. Ein Problem „anpacken“ bedeutet nicht, es komplett alleine lösen zu müssen, sondern Verantwortung zu übernehmen.
Ich weiß es einfach nicht, @DavidThornley. Das OP beschreibt tatsächlich wörtlich, was ich sage. Bedenken Sie, es ist (mit Abstand) das aggressivste, geld- und ergebnisorientierteste Geschäft, es ist nicht wie Herumbasteln in einem Cloud-Shop oder in sozialen Medien; sie haben gerade einen vollwertigen Masters (!) Typen eingestellt; Der betreffende Managertyp will Ergebnisse und nichts als Ergebnisse, er will kein Gespräch. Außerdem, warum sollte dieser Typ in der Lage sein zu helfen? Wenn Sie und ich einen Typen anheuern, um ... eine Brücke zu bauen ... geben wir ihm einen Haufen $, um eine Brücke zu bauen ... er kommt immer wieder mit Fragen in die USA zurück wie: Ist das ein Träger ...
.. wir standen unter Schock und sahen uns an wie "Träger?" und wir würden davon ausgehen, dass wir jemand anderen finden müssten ... jemanden, der einfach "die Arbeit erledigen kann" :)
Ich bin ein pensionierter Software-Ingenieur. Mein Hauptfach im College war Mathe. Der einzige Grund, warum ich bis zur Rente arbeiten konnte, war, dass ich zu Beginn meiner Karriere sehr hart gearbeitet habe. Früher habe ich 80 Stunden die Woche gearbeitet. Ich war jung. Das konnte ich. Wie viele Stunden arbeiten Sie jede Woche?

Antworten (1)

Ich bin mit einigen Aspekten der Antwort von Fatties nicht einverstanden.

Sie müssen nicht im Alter von 13-14 Jahren mit dem Programmieren beginnen, um ein guter Programmierer zu werden, Sie müssen nur die Programmiererfahrung auf kürzere Zeit komprimieren.

Und ich kann der Aussage absolut nicht zustimmen

Genau gesagt, wenn Sie jemandem in Software eine Aufgabe stellen, ist die Definition von Versagen, wenn er Fragen stellt.

Wer nicht die richtigen Fragen stellt , macht die gleichen Fehler wie jeder Anfänger. Genauso lange (sprich: mehrere Jahre) brauchen Sie, um ein „guter“ Programmierer zu werden.

Sie wollen/müssen jahrelange Programmiererfahrung aufnehmen und in kurzer Zeit verinnerlichen. In 3 Wochen wird das nicht möglich sein und Sie sollten Ihren Mangel an Erfahrung deutlich machen, wenn Sie über Ihre zukünftigen Aufgaben sprechen. Doch mangelnde Erfahrung ist kein Grund aufzugeben, sondern ein Ansporn zum Lernen.

  • Google, Google und Google. Wenn Sie ein Problem haben, das nicht spezifisch für das Produkt, die internen Schnittstellen oder die Richtlinien Ihres Unternehmens ist, ist es fast garantiert, dass jemand da draußen das gleiche Problem schon einmal hatte. Einen Kollegen zu fragen „wie schreibe ich eine Schleife“ involviert 2 Personen, dauert 5 Minuten, reißt den Kollegen aber auch aus seinem produktiven Modus. Wenn Ihr Kollege 20 Minuten braucht, um wieder in seinen produktiven Gedankengang zu kommen, summiert sich das auf 30 Minuten. Beim Googeln ist nur 1 Person beteiligt. Solange Sie also keine 30 Minuten benötigen, um eine Schleife zu verstehen, ist das Googeln effizienter.
  • Wenn Sie das Gefühl haben, dass Sie zu lange gesucht, aber immer noch keine Lösung gefunden haben, fragen Sie Ihre Kollegen, ob sie eine Lösung kennen, und nicht, was die Lösung ist. Wenn Ihre Kollegen die Antwort nicht selbst wissen, ist sogar eine Stunde alleiniges Googeln effizienter, als weitere Ahnungslose in die Suche einzubeziehen.
  • Wenn Sie nicht die richtigen Suchergebnisse erhalten, ist es möglicherweise effizienter, Kollegen nach besseren Suchbegriffen als nach Lösungen zu fragen. Auch die Suche nach den richtigen Suchbegriffen für ein Problem und die richtige Bezeichnung von Technologien und Methoden erfordert Erfahrung.
  • Wenn Sie Fragen haben, die Google nicht beantworten kann, konzentrieren Sie sich nicht nur auf Ihren Vorgesetzten. Wenn es andere Programmierer gibt und Sie Hilfe bei einem eher einfachen Konzept benötigen, fragen Sie sie. Wenn sie das Problem in einer Minute lösen, bitten Sie sie, Ihnen zu erklären, wie Sie ein Problem angehen , um die Lösung so schnell wie sie zu finden.
  • Eine weitere gute Idee ist es, Kollegen zu fragen , wo sie auf dasselbe Problem gestoßen sind oder wo sie ein ähnliches Problem schon einmal gelöst haben. Wenn sie Ihnen im Code eine ungefähre Richtung weisen können, tauchen Sie tiefer ein, um die vorhandene Lösung zu finden. Erwarten Sie nicht, dass Ihre Kollegen auf die richtige Codezeile zeigen, Sie müssen sie selbst finden.
  • Das Lesen von Büchern und anderen Materialien ist ein guter Anfang, aber keine Lösung. Sie enthalten oft jahrzehntelange Erfahrung von einigen der besten Programmierer da draußen. Versuchen Sie, ihre Ansätze zu verinnerlichen, aber denken Sie daran, dass Lesen allein Sie nicht zu einem guten Programmierer macht. Mein persönlicher Rat ist, eher über „soliden Code“ als über „Codieren für Dummies“ zu lernen.
Um klarzustellen. (1) Gehen Sie niemals zurück zum Manager und fragen Sie irgendetwas, weil (wie ich betonen möchte) das den Sinn der Programmierung völlig verfehlt - nämlich Probleme zu lösen. (2) Suchen Sie auf jeden Fall ständig und aggressiv nach Informationen im Internet usw. JA. Erfinde niemals das Rad neu. (3) Sicher, wenn Ihr Manager Sie buchstäblich einweist, stellen Sie natürlich „dumme Fragen“, um die Aufgabe einfach zu klären („Meinen Sie DIESEN Server?!“). Fragen Sie NICHT, „wie“ sie gelöst wird. Das irritierendste an S/W ist, wenn jemand, dem du eine Aufgabe gegeben hast, dich fragt, wie es geht. Es markiert sie sofort als Praktikanten .
@Fattie Dies war nicht als Angriff auf Ihre Antwort gedacht, sondern als zweite Meinung. Ich denke, Ihre Antwort würde erheblich verbessert, wenn Sie diesen Kommentar (insbesondere Nummer 3) aufnehmen würden. So wie es sich jetzt liest, ist es wirklich irreführend ...
Klar, ich habe es bearbeitet, danke. Die harte Realität ist, dass das OP (1) „nicht programmieren kann“ und (2) als Programmierer in (3) einfach dem anspruchsvollsten, rauesten und hochwertigsten Softwarebereich arbeitet. Meine Antwort lautet im Grunde "Es dauert Jahrzehnte zu lernen und Sie werden kämpfen". Es wird Abwertungen von allen anziehen, die ein Happy End wollen :)
"solange Sie keine 15 Minuten brauchen" - ich würde sagen, das sollte näher an einer Stunde liegen (wenn nicht etwas mehr). Jemandem eine Frage zu stellen, bringt ihn aus dem, was er getan hat, und es kann einige Zeit dauern, bis er wieder produktiv ist. Und wenn Sie es selbst herausfinden, bedeutet dies, dass Sie es beim nächsten Mal wahrscheinlich besser verstehen, und Sie verbessern wahrscheinlich Ihre Fähigkeit, Dinge selbst herauszufinden.
Ähnlich wie die verwirrenden Kommentare unter meiner unbeliebten Antwort („So ist es nicht! Ich habe in Unternehmen gearbeitet!“), beachten Sie, dass das OP buchstäblich Wort für Wort das sagt, was ich beschreibe. Eine Stunde? 15 Minuten? "Er spricht sehr schnell oder geht in 2-3 Minuten eine komplexe Reihe von Schritten durch . Ich versuche, um Klärung zu bitten, aber manchmal habe ich den Eindruck, dass er verärgert ist und das Gefühl hat, ich sollte es einfach wissen, nachdem er es einmal gesagt hat." Wie auch immer.