Welche Fähigkeiten würden Sie von einem Junior Software Engineer erwarten und schätzen? [geschlossen]

64

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.

Bartzilla
quelle
13
Eine wundervolle Frage, die beredt gestellt wurde.
Adam Crossland
2
Suchen Sie nach einer Einstiegsdroge / -aktivität für den Fall, dass Dinge in der realen Arbeitssituation nicht so funktionieren, wie Sie es sich vorstellen, stellen Sie jedoch sicher, dass ihre Wirkung nicht in den Morgen hinein verschüttet wird.
Job
Liebe zum Detail - nichts ist wichtiger.
Orbling
1
Da bist du ein JSWE. Seien Sie kompetent in den Sprachen, in denen Sie sich als kompetent bezeichneten. Es ist nicht ärgerlicher, jemanden einzustellen, der angibt, eine Sprache zu beherrschen, diese aber nur in einer Klasse erlernt zu haben. Beispiel: Leute, die C / C ++ in ihrem Lebenslauf aufführen, aber nicht den einen oder anderen verwenden können (Gott bewahre, kann auch nicht!)
aqua
Was ist aus dem Traum geworden, Videospiele zu machen? Sie wollen "Ihre Karriere als Java-Entwickler" ernsthaft weiterentwickeln? nur ein Scherz, für jeden sein eigenes :)
cambraca

Antworten:

50

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.

  • Höre mehr zu als du redest. Lerne von dem, was andere Leute sagen.
  • Demütig sein. Haben Sie keine Angst, Ihre Ideen zu teilen, aber gehen Sie nicht davon aus, dass Sie Recht haben und alle anderen Unrecht haben. Wenn Sie etwas sehen, von dem Sie denken, dass es falsch ist, fragen Sie danach und machen Sie keine Aussagen darüber.
  • Lerne weiter. Die Grundlage Ihrer Ausbildung ist (sollte) großartig, aber Sie haben erst begonnen, den Beruf zu erlernen. Lerne beim machen. Ich glaube nicht, dass Sie wirklich lernen können, wenn Sie nicht tatsächlich üben, was Sie lernen.
  • Der Kunde weiß selten, was er will, bis er es sieht. Gewöhnen Sie sich an Ihre sich ändernden Anforderungen. Nehmen Sie einen Entwicklungsstil an (falls zulässig), der die Dinge schnell vor den Kunden bringt, um Feedback zu erhalten.
  • Finden Sie Menschen, die gut mit Kunden umgehen können, und bitten Sie sie, Sie beim Aufbau von Beziehungen zu ihnen zu unterstützen.
  • Schreiben Sie bewährten, robusten Code. Es ist nicht das Ziel, dies zu erreichen. es richtig zu machen ist. Wenn Sie es gut können, wird die Geschwindigkeit mit der Zeit kommen.
  • Hart arbeiten. Warten Sie nicht, um gebeten zu werden, etwas zu tun; nach etwas suchen oder danach fragen.
  • Stelle dich deinen Fehlern oder den Fehlern deines Teams. Werfen Sie Ihre Teammitglieder nicht unter den Bus, sondern seien Sie ehrlich, wenn Sie Probleme mit dem Code haben.
  • Sie denken vielleicht, dass Ihre Teamkollegen möchten, dass Sie ein brillanter Programmierer sind. Das wäre großartig, aber deine Teamkollegen möchten wirklich, dass du kompetent bist und kein Idiot. Wenn du ein Idiot sein willst, solltest du besser brillant sein.
Tvanfosson
quelle
3
+1 für "Der Kunde weiß selten, was er will, bis er es sieht ..."
FrustratedWithFormsDesigner
1
+1 für "Lernen Sie weiter". Das ist wahrscheinlich das Wichtigste, wonach ich in einem Junior-Programmierer suchen würde
Rachel
+ für "Es ist nicht das Ziel, es richtig zu machen" Es ist sehr wichtig, sicherzustellen, dass Ihr Code nicht nur funktioniert, sondern auch gründlich getestet wird. Wenn Sie es auch richtig machen, kann sich ein anderer Entwickler Ihren Code ansehen, ihn verstehen und die Kommentare lesen, um dann die Pflege des Codes zu übernehmen.
Jeremy
61

Hier ist eine kurze Liste aus meinem Kopf:

  • Follow-through (beenden, was Sie beginnen)
  • Ehrlichkeit (sag mir, ob du feststeckst)
  • Neugierde (finde bessere Wege, Dinge zu tun)
  • Aufgeschlossenheit (sowohl gegenüber Kritik als auch gegenüber Ideen, die nicht von Ihnen stammen)
  • Großzügigkeit (Teile, was du lernst; bilde die nächste Generation aus)
Alex Feinman
quelle
1
Ich stimme allen aufgeführten Eigenschaften zu. Wenn ich gebeten würde, einen solchen Nachwuchsprogrammierer zu betreuen, würde ich das gerne tun, und es würde meinen Arbeitstag viel angenehmer machen.
Adam Crossland
3
Ich denke, diese Liste fasst es ziemlich gut zusammen. Das Einzige, was ich hinzufügen könnte, ist Kommunikation. Ich habe gesehen, dass so viele vielversprechende junge Entwickler zurückgelassen wurden, weil sie einfach nicht mit ihren Teammitgliedern kommunizieren wollten. Das Codieren allein reicht heutzutage einfach nicht mehr aus, man muss mit Benutzern und Teammitgliedern sprechen und sich engagieren. Lernen Sie auch, wie man gut schreibt, da Sie mehr davon tun werden, als Sie jemals gedacht hätten.
Nodey The Node Guy
14
+1 Ehrlichkeit: Ich lerne zu sagen: "Ich verstehe das nicht." - zuerst für Sie selbst und dann für Ihre Kollegen - ist wirklich wichtig. Es öffnet die Tür zur Kommunikation und zum Lernen. Ich habe zu viele Programmierer gesehen, die es ihrem Ego erlaubt haben, ihren Verstand zu erweitern. Ich arbeite seit fast vier Jahrzehnten in dieser Branche und treffe jeden Tag auf Dinge , die ich nicht verstehe. Also google ich, lese, schreibe Übungscode und habe dann eine weitere Fähigkeit, die ich an den Tisch bringen kann.
Peter Rowell
Aufgeschlossenheit - dazu gehören insbesondere Ausnahmen vom Regelwerk. Ich habe in diesem Punkt versagt. Ein Teil der Erfahrung besteht darin zu lernen, wann man gegen die Regeln verstößt. Manchmal macht das Erzwingen, dass alles Ihren Idealen entspricht, alles nur komplizierter. OTOH, der das Regelbuch überhaupt nicht kennt ...
Steve314
1
Zum ehrlichen Teil: Ich sage den Leuten, die für mich arbeiten, dass sie eine halbe Stunde damit verbringen sollen, es selbst herauszufinden, und mich dann um Hilfe oder einen Hinweis bitten. Wenn ich keine sofortige Antwort habe, versuchen Sie es für ungefähr vier Stunden, bevor Sie mich wissen lassen, dass es mehr als das dauert. Dann ziehen wir die Leute von anderen Aufgaben ab, um zu helfen. Heutzutage empfehle ich ihnen auch, zu Beginn dieses Prozesses in Stack Overflow und allgemein in Google zu suchen und danach zu fragen. Mein Ziel hierbei ist es, die sofortige Unterbrechungsreaktion zu verhindern, die die Produktivität der Menschen in Ihrer Umgebung beeinträchtigen kann.
Hack Saw
8

Zwei Dinge: die Lernbereitschaft und die Lernfähigkeit.

Dima
quelle
4

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. ;)

Peter Lawrey
quelle
4

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.

JB King
quelle
1
+1: Ich möchte dem Bereich Kommunikationsfähigkeiten Ehrlichkeit hinzufügen . Wenn Sie sich mit etwas nicht auskennen oder mit einem Problem konfrontiert sind, können Sie später ernstere Probleme vermeiden, indem Sie es einem älteren Kollegen oder Teamleiter frühzeitig mitteilen.
Osterwal
2
Warten Sie ... "Office Space" ist fiktiv ???
Netzteil
3

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.

Zsub
quelle
Ja. Kritik anzunehmen bedeutet, eine Menge Nachfragen zu stellen, um es dem "Kritiker" bequemer zu machen. Fragen Sie, was Sie sonst noch ändern könnten, um es besser zu machen. Zeigen Sie das nächste Beispiel mit demselben Problem - haben Sie es diesmal besser gemacht? Verbessern Sie sich? Sobald jeder wirklich komfortabel mit bekommt konstruktive Kritik, beginnt der Spaß. Denken Sie nur daran, dass Ihre Geschäftspartner möglicherweise nicht so denken;)
Michael Durrant
3

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.

Wes Baker
quelle
++ Guter Punkt, Wes, obwohl ich mich fragen muss. Wenn ich Leute heutzutage frage, ob sie so und so gelesen haben, lautet die Antwort normalerweise - Lesen?
Mike Dunlavey
2

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.

Mike Dunlavey
quelle
2

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.

sm
quelle
2

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

  • die Sprache.
  • I / O
  • OO Konzepte wie Vererbung
  • Objekt-Interfaces
  • Datenbankzugriff (insbesondere in Bezug auf die Vorgehensweise in Ihrem neuen Code-Shop)
  • das HTTP-Modell
  • CSS
  • JavaScript / JQuery
  • Datenbank Design
  • SQL und gespeicherte Prozeduren
  • die IDE (s), die Sie verwenden werden
  • relevante Frameworks (Sie erwähnen Spring)

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.

5arx
quelle
1
+1 für eine Antwort, die etwas Programmspezifisches erwähnt und daher nicht unbearbeitet in das Handbuch für Pfadfinder übernommen werden kann.
PSR
Lol. Ja, es gibt eine Menge Platitüden in dieser Frage;)
5arx
1

(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.

Trostloser Planet
quelle
+1 für die Buchempfehlungen; Die Fähigkeiten zur Modellierung von OTOH-Domänen brauchen Zeit, bis sie ausgereift sind, daher würde ich diese nicht von einem Junior erwarten. Das Bestreben, den geschäftlichen Standpunkt zu verstehen und die tatsächlichen Probleme der Benutzer zu lösen, ist in der Tat auf jeder Ebene wichtig.
Péter Török
Peter, durch die Universität (zumindest von dem, was ich gesehen habe) würde ein Entwickler eine starke Reihe von analytischen Fähigkeiten aufbauen. Dies ist wirklich das Ziel des Modellierens, des Extrahierens von Fachwissen und des Erlernens für andere Menschen. Ich würde sagen, dies ist eine grundlegende Fähigkeit, die ich von den meisten Entwicklern erwarten würde. In der Lage zu sein, ein bestimmtes Problem auf Mikro- / Marko-Ebene zu formulieren und es einem Finanzhändler zu erklären, Feedback zu erhalten und dies Ihren Teamkollegen mitzuteilen. Das ist aber nur meine Einstellung.
Desolate Planet
1

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.

jmq
quelle
1

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.

Martin Blore
quelle
1

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.

Woot4Moo
quelle
1

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.

luis.espinal
quelle
1
  • Leidenschaft für die Arbeit

  • Bereit, mehr und mehr und mehr zu lernen ..

  • Ehrlichkeit

  • Konsistenz

Jigar Joshi
quelle
1

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.

  • Sei demütig, habe keine Angst davor, deine Meinung zu äußern, aber wenn eine Meinung geteilt ist, halte sie nicht fest, sei bereit, von anderen zu lernen.
  • Wenn Sie Beziehungen zu Ihren Teammitgliedern aufbauen, Menschen, mit denen wir gerne kluge und gut etablierte Programmierer haben, brauchen wir immer noch Menschen, mit denen wir sprechen können. Eine gesunde Beziehung zu Ihren Teammitgliedern wird Ihrer Karriere sehr helfen.
  • Seien Sie proaktiv, warten Sie nicht darauf, Arbeit zu erhalten, Arbeit zu finden, neue Ideen für die Umwelt vorzuschlagen, auch wenn diese nicht akzeptiert werden. Dies erhöht Ihren Wert für das Unternehmen.
  • Teilen Sie mit anderen, was Sie gelernt haben. Dies steigert Ihr Verständnis und Ihren Wert für das Unternehmen und die Community.
  • Beende, was du beginnst, Engagement ist eine großartige Qualität.
  • Bleiben Sie glücklich und werden Sie nicht enttäuscht, wenn die Dinge nicht wie geplant laufen. Es wird Höhen und Tiefen geben, aber bleiben Sie dort

Alles Gute für Ihre Arbeit

Brian Paul
quelle
1

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)

Zachary K
quelle
-3
  • Eine starke Abneigung gegen Java und C ++.
  • Grundlegendes Verständnis von Betriebssysteminternen, -algorithmen und -datenstrukturen.
  • Hervorragende Kenntnisse in C und mindestens eine Skriptsprache.
  • Grundkenntnisse in einem Mainstream-VCS (Mercurial, Subversion oder Git).
  • Die Fähigkeit, kompetent auf der Kommandozeile zu arbeiten.
  • Abneigung gegen Windows und gelegentliche Heimnutzung eines von Unix abgeleiteten Betriebssystems wie Linux, BSD oder Solaris zur Entwicklung oder allgemeinen Verwendung.
Matt Joiner
quelle
Ich halte eine starke Abneigung gegen Java / C # / C ++ nicht für wichtig, ebenso wenig wie das Verständnis, dass die Welt nicht mit ihnen beginnt und endet. Java hat seine Verwendung, aber auch Ruby, PHP, Erlang, Lisp usw.
Zachary K
Wie lange dauert es, um Kenntnisse über ein gängiges VCS zu erwerben?
Andrew M
@Andrew M: Es kann Wochen dauern, bis Sie mit der Fülle von Tools rund um ein VCS vertraut sind. Unterschiede, Zweige, Patchen, Zusammenführen. Dann müssen die Einschränkungen oder übermäßigen Komplikationen der einzelnen VCS umgangen werden.
Matt Joiner
@Matt: Ich verstehe, danke. Was ist der beste Weg, dies alleine zu tun? Wäre es gut genug, es nur für Ihre eigenen Haustierprojekte zu verwenden?
Andrew M
2
Ihre ersten und letzten Punkte haben wenig damit zu tun, sich gut zu entwickeln oder zu lernen (die wichtigsten Dinge, die Sie von neuen Entwicklern benötigen). Eine "starke Abneigung gegen XYZ" ist nur dann nützlich, wenn alle im Team diese Abneigung teilen. Wenn das nicht jeder tut, wird es nur Risse verursachen. Es gibt keinen Unterschied zwischen einem Windows-Hasser und einem Linux-Hasser, außer dass sie beide Hasser sind. Auf der anderen Seite bedeutet jemand, der Gründe hat, etwas aufgrund seiner persönlichen Erfahrung nicht zu mögen, dass er etwas mitbringen muss - DAS ist es wert ... Aber wenn Sie Suse zu Hause verwenden, werden Sie nicht schlauer.
corsiKa