Ich habe kürzlich meinen Master of Science in Software Engineering abgeschlossen und bin kurz davor, meine berufliche Laufbahn in wenigen Wochen zu beginnen. Ich werde als Junior Developer für ein Unternehmen tätig sein, das Software unter Verwendung von Java und verwandten Technologien entwickelt (darunter Spring und Hibernate). Um ehrlich zu sein, bin ich sehr gespannt auf das, was auf mich zukommt, insbesondere, weil ich meine Karriere als Java-Entwickler weiterentwickeln möchte. Ich bin auch sehr daran interessiert, Erfahrungen auf diesem Gebiet zu sammeln. Darüber hinaus wird dies meine erste Berufserfahrung als professioneller Entwickler sein, weshalb ich von Anfang an mein Bestes geben möchte.
Ich möchte wissen, welche Fähigkeiten und Fertigkeiten, sowohl weiche als auch technische, in einem neuen Fachmann (Junior Developer), der Teil Ihres Teams sein könnte, am meisten geschätzt werden und auf welche Fähigkeiten ich mich konzentrieren sollte, um eine erfolgreiche Karriere als Software zu erreichen Techniker.
quelle
Antworten:
Viele davon sind wahr, egal wo Sie in Ihrer Karriere sind, aber sie sind möglicherweise besonders wichtig für jemanden, der gerade erst anfängt.
quelle
Hier ist eine kurze Liste aus meinem Kopf:
quelle
Zwei Dinge: die Lernbereitschaft und die Lernfähigkeit.
quelle
Neugierde, Begeisterung, hohe Ansprüche an sich selbst, Lernbereitschaft, die Bereitschaft, zuzugeben, dass sie es nicht wissen, Interesse daran, was das Unternehmen tut und wie es sich auf die Arbeit auswirkt, die Sie leisten. (Alle guten Eigenschaften, auch wenn Sie 20 Jahre Erfahrung haben)
Gute technische Kenntnisse sind großartig, aber Sie müssen zeigen, wie Sie diese Kenntnisse anwenden würden.
Vor allem muss der Interviewer sehen können, dass Sie dort einen Beitrag leisten und bleiben wollen. Wenn Sie zu gut sind, kann dies einige Leute schneller abschrecken, als wenn sie unterdurchschnittlich sind. ;)
quelle
Motivation. Wissen Sie, wie Sie sich motivieren können? Wissen Sie, welche Taktik möglicherweise besser funktioniert als andere? Hier geht es um das Selbstbewusstsein, das manche Leute von Ihnen erwarten, dass Sie es von all der Ausbildung wissen, die Sie gemacht haben, um dies nebenbei herauszufinden.
Grundlegende Fähigkeiten zum Testen und Debuggen. Wissen Sie, was ein Komponententest ist? Kennen Sie einige Möglichkeiten, um ein Problem zu beheben? Hierbei geht es nicht darum, genau zu wissen, was in einer Umgebung zu tun ist, sondern vielmehr darum, wie die grundlegendsten Tests aussehen können und welche Strategien bei der Betrachtung eines Problems anzuwenden sind.
Kommunikationsfähigkeit. Wie präzise sind Sie mit der Sprache? Wie gut können Sie von technisch zu nicht-technisch wechseln? Zugegeben, dies ist etwas zu entwickeln, aber es ist etwas zu beachten und in einigen Fällen jemanden zu retten, der möglicherweise in Schwierigkeiten gerät, wenn er die Implikationen dessen, was er behauptet, nicht versteht. Wie gut verstehen Sie sich mit Menschen? Nicht, dass dies eine strenge Anforderung wäre, aber wenn Sie gute Beziehungen zu Kollegen unterhalten können, kann dies dazu führen, dass einige Jobs leichter zu bewältigen sind. Ehrlichkeit und Integrität fallen ebenfalls unter diese Kompetenzgruppe, da es im Allgemeinen Fragen dazu geben kann, wie gut Sie sagen, was Sie meinen und was Sie sagen. "Büroraum" Es gibt viele Beispiele für schlechte Kommunikation, und während die Arbeit fiktiv ist, gab es möglicherweise viele Szenen, die für manche Menschen in Bezug auf die Arbeit in Büroumgebungen wirklich realitätsnah waren.
Vielseitigkeit. Neue Mitarbeiter im Team erhalten möglicherweise ein breites Spektrum an Verantwortlichkeiten, sodass Sie in einem kleinen Unternehmen möglicherweise Datenbanken, Netzwerke, Webserver und andere Dinge einrichten müssen, die sich außerhalb der Entwicklung befinden. Ein weiteres Beispiel wäre, einem Team bei der Einhaltung eines Termins zu helfen.
quelle
Für mich als Nachwuchsentwickler ohne Abschluss hat meine Bereitschaft, hart zu arbeiten und mich zu verbessern, sehr zu meiner Karriere beigetragen. Ich bemerkte auch, dass es von meinen Vorgesetzten geschätzt wurde, mit Kritik umgehen zu können (positiv oder nicht) und in der Lage zu sein, dem nachzugehen.
Für eine neue Umgebung: Ich würde raten, die erste Woche oder so mit dem Strom zu fahren. Ich habe den Fehler gemacht, mich zu sehr anzustrengen, das wurde nicht gewürdigt.
quelle
Ich stimme allem zu, was bereits gesagt wurde, aber ich möchte betonen, dass Sie diese allgemeinen (und weichen) Fähigkeiten niemals vergessen sollten, anstatt ein technischer Experte zu sein. Sie sollten an beiden arbeiten, aber ich hätte viel lieber eine Zwischenstufe, die mitteilen kann, was sie wissen, und dann einen Meister, der lieber allein arbeitet.
Verbringe auch nicht zu viel Zeit mit deiner Nase in einem Buch. Bücher sind gut, sogar großartig, aber wenn Sie die meiste Zeit mit Lesen und weniger mit Arbeiten verbringen, werden Sie nicht die Hälfte dieser Bücher herausholen.
quelle
Tolle Antworten an alle. Ich würde nur hinzufügen, aus meiner begrenzten Flugerfahrung - wissen Sie, was sie einen Pilotenschein nennen?
Eine Lizenz zum Lernen.
quelle
Viele tolle Antworten.
Auch wenn ich nicht für die "Großen" arbeite und kein Guru bin, zahle ich 2 Cent dazu.
Sei nett zu den Leuten .
Versuchen Sie, Kontakte zu Ihren Kollegen zu knüpfen, verbringen Sie ein wenig Zeit mit einigen von ihnen, wenn dies möglich ist. Gehen Sie ab und zu mit ihnen zum Abendessen, lachen Sie gut mit ihnen.
Mit anderen Worten, versuchen Sie, eine "Community" aufzubauen, wenn es keine gibt, oder ein Teil davon zu werden, wenn es sie gibt.
Das Kennenlernen Ihrer Kollegen erleichtert Ihnen den Umgang mit ihnen. Außerdem stehen die Chancen gut, dass Sie Spaß daran haben werden.
quelle
Neben all den guten Sachen, die von der Community eingereicht wurden (siehe oben), würde ich auch Beweise für einige harte Fähigkeiten erwarten. Keine Perfektion oder Über-Geek-Fähigkeiten, sondern gute Kenntnisse der Grundlagen und Grundkonzepte. Du hast den Job schon bekommen ( Glückwunsch übrigens !), Also bist du so ziemlich da.
Wenn Sie jedoch Ihr Wissen auffrischen und / oder sich mit den Tools, Sprachen und Technologien Ihres Unternehmens vertraut machen, können Sie sich einen guten ersten Eindruck verschaffen.
Ein hypothetisch perfekter Junior-Entwickler wird die Grundlagen solcher Dinge wie kennen
und so weiter. Er kann sich darauf konzentrieren, neue Fähigkeiten zu erlernen, ohne die Grundlagen zu lernen. Er kann mit dem Routine-Tarif von Online-Formularen und Verwaltungsseiten, mit denen viele Junior-Mitglieder in den ersten Monaten konfrontiert sind, weitermachen (so viele vernünftige Fragen stellen, wie er möchte - die meisten Senior-Entwickler lieben es, vernünftige technische Fragen zu stellen). Ein zuverlässiger Junior-Entwickler zu werden, könnte Ihr erster Team-Einführungstest sein ;-)
Als ich als Junior im Web-Team eines großen Unternehmens anfing, war der Großteil der anfänglichen Arbeit, die mir zugewiesen wurde, etwas langweilig, aber ich musste mich so sehr anstrengen, dass ich jeden Abend in die Bücher schlüpfte, um zu verstehen, was ich vorhatte am nächsten Tag zu tun haben . Ich habe es geschafft, aber das war fünf oder sechs Monate nach dem relativen Luxus meines Masterstudiengangs stressig ;-)
Wenn Sie alle grundlegenden Dinge effizient erledigen können, haben Sie ziemlich schnell mehr interessante Dinge zu erledigen, und dies wird Ihnen natürlich dabei helfen, Ihre Karriere voranzutreiben.
Und wie bereits erwähnt, entwickelt sich die Welt der Computer und des Codes ständig weiter. Sie müssen jeden zweiten Tag neue Dinge lernen. Halten Sie Ihren Verstand offen und versuchen Sie zu verstehen, warum Sie sich überhaupt darauf eingelassen haben - weil Sie es <3 haben. In den kommenden Jahren kann es Zeiten geben, in denen dies nicht im Vordergrund Ihres Denkvermögens steht. Die Begeisterung wird Sie durch die meisten Unebenheiten und Hürden führen.
Abgesehen davon lässt meine Erfahrung der letzten zwölf Jahre darauf schließen, dass die meisten Junioren nicht für immer in ihrer ersten Firma bleiben. Fehler zu machen ist ein Teil des Prozesses, der Sie von Junior zu Junior bringt, wo immer Sie hin wollen. Ich mache das jetzt schon eine Weile und lösche fast ein paar Mal im Jahr eine Produktionsdatenbank.
Viel Glück bei deiner Karriere.
quelle
(1) Ein offener Geist. Sie möchten nicht, dass jemand für jedes Projekt die Sprache X und die Umgebung Y verwendet. Sie möchten jemanden, der erkennen kann, wann eine bestimmte Technologie ein Problem nicht sauber löst und gute Alternativen bietet. Darüber hinaus möchten Sie jemanden, der das konventionelle Denken herausfordert und Lösungen entwickelt, die das Geschäft motivieren. Sie können dies selbst erleben, aber ich habe festgestellt, dass die Menschen sich so an einen Prozess gewöhnt haben, dass sie ihn nicht ändern, sich aber dennoch über das Ausmaß der Schmerzen beschweren, die sie dadurch verursachen. Normalerweise sehe ich bei meiner Ankunft nach, wie ich das verbessern kann, und biete meinem Manager Lösungen an. Jetzt würde ich auch sagen, dass das Personal über seine / ihre Vorschläge "diplomatisch" sein sollte :)
(2) Gute Domain-Modellierungsfähigkeiten. Dies ist eine ziemlich große, die ich einige Leute übersehen haben. In einigen Bereichen, in denen ich gearbeitet habe, bedeutet das Lernen über das Geschäft, die Hände schmutzig zu machen, und die Leute scheuen sich vor rein technischen Problemen wie der Integration von Rechtschreibprüfungen in die Versionskontrolle usw. und investieren nicht viel Zeit in die Verbesserung der Geschäft. Wenn Sie in der Lage sind, ein Unternehmen zu betrachten und daraus Modelle (Vereinfachungen) zu erstellen und zu kommunizieren, dass verschiedene Zielgruppen angesprochen werden, sei es visuell (UML, SSADM oder was auch immer) oder ein bisschen von beidem, möchten Sie jemanden mit dieser Mentalität.
Zwei Bücher, die ich zu diesem Thema empfehlen kann, sind: The Passionate Programmer und The Pragmatic Programmer . Beide Bücher bieten sowohl Junior- als auch Senior-Programmierern gute Ratschläge.
quelle
Die Initiative ergreifen. Ich habe viele Leute gehabt, die das überhaupt nicht machen und immer darauf warten, genau zu erfahren, was zu tun ist. Wenn Sie etwas sehen, das verbessert werden sollte, tun Sie es. Sie haben eine Idee, etwas zu verbessern? Bring es nach vorne. Benötigen Sie eine weitere Fähigkeit, um etwas zu verbessern? Lern es.
Zeigt, dass Ihnen wichtig ist, was Sie tun, und dass Sie sich verbessern möchten.
quelle
Um Sie überhaupt nicht zu erschrecken, aber eine Sache, vor der ich Sie in jedem Unternehmen warnen werde, in dem ich gearbeitet habe, sind die großen, schmutzigen, riesigen Bildlaufmethoden und die schlecht benannten Objekte, die Sie davor fürchten, die Quelldateien in reiner Weise zu öffnen Schock und Entsetzen eines solchen Chaos. Die Stellen, an denen Sie diese normalerweise finden, befinden sich in den Ereignishandlern für "OK" -Schaltflächen in Dialogen oder für die "Senden" -Schaltfläche auf Webseiten.
Ich flehe dich von ganzem Herzen an. Bitte installieren Sie eine mentale Alarmglocke, die besagt, wenn eine Methode groß aussieht, und mit groß meine ich etwa 10 Zeilen. Denken Sie darüber nach, eine andere Methode zu erstellen. Bei so vielen Methoden werden Sie später verstehen, wie viel Verantwortung die trägt Objekt, in dem Sie entwickeln, hat.
Die nächste Alarmglocke, die ich empfehlen würde, sind die max. 2-3 Parameter in einer Methode. Wenn Sie Methoden mit etwa 10 Eingabeparametern sehen, begrüßen Sie die funktionale Programmierung in einer OO-Sprache ...
Entschuldigen Sie die leichte Frustration, die in dieser Antwort zum Ausdruck kommt. Ich kann gar nicht genug schreien, wie nützlich es ist, sauberen Code zu schreiben.
Bitte schnappen Sie sich eine Kopie von Robert. C Martins Clean Code . Lesen Sie es wöchentlich, nehmen Sie es zum Abendessen mit, schlafen Sie damit unter Ihrem Kissen, legen Sie eine Kopie davon in die Toilette, drucken Sie ein paar Seiten aus und kleben Sie sie an die Decke, damit Sie sie vor dem Schlafengehen lesen können du nickst aus;).
Ich wünsche Ihnen alles Gute für Ihre Karriere. Ihre Leidenschaft zu diesem Zeitpunkt zeigt bereits, dass Sie großartige Leistungen erbringen werden.
quelle
Der einzige Rat, den ich anbieten kann, ist, nie aufzuhören zu lernen. Die Art und Weise, wie diese Rockstar-Entwickler dorthin gekommen sind, besteht darin, sich Zeit zu nehmen, um neue Techniken und Sprachen zu erlernen. Das ist ihre eigene Freizeit. Während es großartig ist, wenn Sie 10 Jahre dort bleiben, werden Sie beim Herauskommen nur Java + Spring + Hibernate kennen. Aus diesem Grund schaue ich mir in meiner Freizeit die .NET-Plattform, Python und den gelegentlichen C ++ - Code an, um aktiv zu bleiben. Als jemand, der an einer MS in Info-Sek arbeitet, kann Zeit kostbar sein und sie muss mit Bedacht ausgegeben werden.
quelle
Die Fähigkeit, Google zu verwenden. Ja wirklich.
Nicht, dass ich niemals jemandem helfen würde, besonders keinem jungen Kollegen. Aber es gibt nichts Frustrierenderes, als jemanden zu haben, der sich nicht kontinuierlich um die Lösung von Problemen kümmert.
Mein Rat an Junior Soft. Ingenieure ist Ihre Sorgfalt bei der Lösung von Problemen zu tun. Verwenden Sie fleißig und methodisch Google, Wikipedia oder Stackoverflow, wenn Sie etwas nicht wissen.
Warten Sie nicht zu lange, bevor Sie sich an einen erfahreneren Mitarbeiter wenden - das hängt jedoch von der Art der Organisation ab. In einem guten Unternehmen, in dem Menschen sich gegenseitig helfen, können Sie, wenn Sie mehr als einen halben Tag damit verbringen, nach einer Antwort zu suchen, Ihre eigenen Forschungen unterbrechen und um Hilfe bitten.
In anderen Organisationen, in denen die Menschen immer gemein zu einander sind, müssen Sie möglicherweise einige Tage allein verbringen (um alles zu dokumentieren, was Sie getan haben und wo Sie recherchiert haben), bevor Sie um Hilfe bitten. In solchen Unternehmen hilft es, zu dokumentieren, was Sie getan haben, damit Sie ihnen zeigen können, dass Sie "google it" gemacht haben, da dies die erste Retorte ist, die sie auf Sie werfen.
Aber egal, die Essenz dessen, wonach ich bei einem Junioringenieur suchen würde, besteht darin, seine Sorgfalt bei der Lösung eines Problems zu verwenden, anstatt zu erwarten, dass er die ganze Zeit über Antworten erhält. Kurz gesagt, zeigen Sie mir, dass Sie Google verwenden können.
quelle
Leidenschaft für die Arbeit
Bereit, mehr und mehr und mehr zu lernen ..
Ehrlichkeit
Konsistenz
quelle
Gute Antworten, wenn Sie all dem folgen, was die Leute hier sagen, bin ich sicher, dass jeder gut darin ist, was er / sie tut.
Ich möchte nur ein paar Punkte hervorheben.
Alles Gute für Ihre Arbeit
quelle
Eine Fähigkeit, von der ich glaube, dass sie nicht viele Junior-Programmierer haben, aber eine wirklich gute, die Fähigkeit, eigene Werkzeuge zu erstellen. Mit ein paar gut gefertigten benutzerdefinierten Tools können Sie viel Zeit und Mühe sparen. Und sie müssen nichts Besonderes sein, die meisten von mir sind 3-zeilige Shell-Skripte, obwohl einige viel länger sind.
Aber das Lernen, Dinge zu automatisieren, wird Ihnen das Leben erleichtern. (Und beeindrucken Sie Ihre Mitarbeiter, wenn Sie die Dinge gut erledigen können)
quelle
quelle