Ich bin ein CS-Student, der die Oberstufe des Studiengangs erreicht hat. Als jemand, der absolut keine Erfahrung in der „realen Welt“ in Bezug auf einen Job im Zusammenhang mit Computern hat, ist es für mich absolut entscheidend, mich für Praktika zu bewerben.
Ich bin jedoch ein wenig überwältigt und verwirrt darüber, wie robust mein GitHub-Portfolio sein muss.
Meiner Meinung nach ist ein GitHub-Portfolio, in dem Sie Ihre Programmierkenntnisse unter Beweis stellen können, unerlässlich, wenn Sie sich für eine Stelle im Bereich Informatik bewerben.
Meine Verwirrung betrifft die Frage, wie viele und welche Arten von Programmen ich in meinem GitHub platzieren sollte und in wie vielen verschiedenen Sprachen ich codieren muss?
Die Programme, die ich in verschiedenen Klassen geschrieben habe, sind ziemlich verstreut, einige sind ziemlich mittelmäßig, wie das Programmieren eines einfachen Taschenrechners, um zu lernen, wie man GUIs programmiert. Oder sehr einfache Programme zum Erlernen einfacher Datenstrukturen.
Andere sind etwas komplexer wie Code, den ich in meinem Algorithmus-Kurs geschrieben habe, aber im Algorithmus-Kurs erforderte jede Codierungsaufgabe, dass wir die vorherige Aufgabe ergänzen mussten, sodass wir am Ende des Kurses im Wesentlichen nur ein riesiges Programm mit viel hatten unterschiedlicher Funktionalität. Ich mache mir Sorgen, dass mein GitHub-Portfolio dadurch etwas spärlich aussehen könnte.
Schlimmer noch, ich habe so ziemlich nur in Java codiert, daher wäre es etwas schwierig für mich, Programme in C oder C++ zu codieren. Tatsächlich habe ich Python noch nicht einmal gelernt, weil ich mein Studium begonnen habe, bevor Python populär wurde, als die bevorzugte Sprache Java war.
Ich mache mir Sorgen, dass die Codierung eines robusten, detaillierten Portfolios für GitHub Wochen (vielleicht sogar Monate?) dauern könnte, insbesondere wenn ich Code in mehr Sprachen als nur Java einfügen muss. Ich mache mir Sorgen, dass dies so viel Zeit und Mühe in Anspruch nehmen wird, dass es meine Fähigkeit, mich tatsächlich für Praktika zu bewerben, erheblich verzögern wird.
Wenn mir jemand ein paar Vorschläge machen könnte, wie detailliert ein GitHub für Studenten sein sollte, die ihr erstes Praktikum suchen, wäre ich sehr dankbar.
Ich weiß nichts über Praktika, aber ich habe heute schon zu einer anderen Frage geschrieben, dass sich Arbeitgeber bei echten Jobs fast nie das persönliche GitHub-Portfolio eines potenziellen Mitarbeiters ansehen. Ich würde davon ausgehen, dass Praktika größtenteils gleich sind, obwohl sie sich Ihren GitHub möglicherweise etwas genauer ansehen, da sie nicht erwarten, dass Sie einen robusten Lebenslauf haben. Während ich sagen würde, dass es für einen richtigen Job zu 100 % nutzlos ist, würde ich sagen, dass es für ein Praktikum vielleicht nur zu 80 % nutzlos ist.
Was Sie anziehen sollten: Legen Sie einfach alles hinein, nur um zu zeigen, dass Sie etwas drin haben. Vielleicht möchten Sie Ihren Projekten einige aussagekräftige Namen oder kurze Beschreibungen geben, die besonders unscheinbar sind, damit school-assignment-calculator
jeder, der es liest, weiß, dass er nicht zu viel erwarten darf. Stellen Sie jedoch keinen Code ein, der zu chaotisch ist, und stellen Sie sicher, dass Sie Ihre beste Arbeit präsentieren, da Arbeitgeber möglicherweise darauf achten und Sie Ihr Bestes zeigen möchten.
Was die Frage betrifft, welche oder wie viele Sprachen angeboten werden sollen, lautet die Antwort "Funktionieren Sie, was bequem ist". Wenn Sie in Java arbeiten möchten, spricht nichts dagegen, nur Java-Anwendungen anzubieten. Wenn Sie Ihr Portfolio einem Unternehmen präsentieren möchten, das mit Python arbeitet, wird es wahrscheinlich nicht von einem Portfolio in Java beeindruckt sein, und Sie müssen möglicherweise etwas Python präsentieren. Wenn Sie Ihr Portfolio nur Unternehmen präsentieren möchten, die mit Java arbeiten, ist es wahrscheinlich nicht produktiv, viel Zeit mit dem Lernen und Schreiben von Python zu verbringen. Es liegt also wirklich an dem, was Sie wollen / erwarten.
Nach meiner Erfahrung als Junior-Programmierer wird mein Portfolio auf Github sehr SEHR selten überprüft. Um Ihnen eine konkrete Antwort darauf zu geben, wie viele Projekte Sie haben sollten, sind vielleicht mehr als 5. Haben Sie einige dumme Projekte wie Wetter-API-App, Taschenrechner-App und solche Sachen. Wenn jemand nachsehen wollte, gib ihm etwas zum Ansehen. Es beweist, dass Sie wissen, wie Git funktioniert.
Da Sie ein Absolvent sind, ist es etwas wichtiger, dort etwas Arbeit zu haben, aber selbst dann müssen Sie nicht. Einmal wurde mir eine React.js-Rolle angeboten. Sie fragten mich, ob ich Reaktions-Apps auf meinem Github habe, ich sagte, ich habe noch keine, wurde aber trotzdem eingestellt.
Die Idee eines Portfolios wird stark überschätzt. Das werden Ihnen Personalvermittler und Gurus auf LinkedIn sagen. Was Ihnen Jobs bringt, ist einfach, wie gut Sie sich mit Ihrem Lebenslauf und Ihren Vorstellungsgesprächen präsentieren. Solange das gut ist, können Sie sicher auch ohne Github Jobs erzielen. Mein Kumpel weiß nicht einmal, wie man Git benutzt, aber er wurde eingestellt. Er hat einfach versprochen, dass er es lernen würde
Dies hängt davon ab, was der jeweilige Arbeitgeber sucht. Die Qualität Ihres öffentlichen GitHub-Portfolios (oder das Fehlen eines solchen) ist einer von vielen entscheidenden Faktoren, und ich habe noch nie gesehen, dass dies ein Deal-Breaker war. Wenn der Personalchef unschlüssig ist, Sie einzustellen, könnte ein großartiges GitHub-Portfolio den Ausschlag zu Ihren Gunsten geben. Oder Sie treffen vielleicht auf einen Personalchef, der sich nicht die Zeit nimmt, Ihr Portfolio zu sichten, und stattdessen die Entscheidung ausschließlich auf der Grundlage des Vorstellungsgesprächs trifft.
Nimm, was du schon hast, und repariere es so gut du kannst. Wenn Sie Zeit haben, fügen Sie ein Feature/Framework/Muster hinzu, an dem Sie interessiert sind. Wenn Sie danach mehr Zeit haben, starten Sie ein lustiges neues Projekt in einer der von Ihnen aufgeführten Technologien, mit denen Sie noch nicht vertraut sind, um zu zeigen, dass Sie es sind sind lernwillig.
Ihr Portfolio sollte glaubwürdig nachweisen , dass Sie über ausreichende Fähigkeiten für die Stelle verfügen, auf die Sie sich bewerben. Da Sie keine Berufserfahrung haben, liefert Ihr Portfolio den nächstbesten Indikator für Ihre Fähigkeit, reale Softwareprojekte durchzuführen. Idealerweise möchten Sie also, dass Ihr Portfolio so nah wie möglich an dem Job ist, den Sie tun würden. Es ist in Ordnung, wenn es nicht perfekt zusammenpasst, aber je näher Sie kommen, desto besser.
Du musst nicht alle vier Kategorien mit Bravour meistern, schon gar nicht für ein Praktikum. Der Großteil Ihrer Konkurrenz hat überhaupt kein Portfolio. Aber wenn Sie nach Möglichkeiten suchen, Ihr Portfolio zu stärken, sollten Sie sehen, welche Kategorie am schwächsten ist, und daran arbeiten. Machen Sie sich keine Sorgen, in einem von ihnen einen perfekten Job zu machen. Zum Beispiel ist es in Ordnung, einige triviale Projekte zu haben, Sie müssen sie nicht löschen oder verstecken. Mit nur einem nicht-trivialen Projekt demonstrieren Sie bereits Ihre Fähigkeit, nicht-triviale Dinge zu erreichen. Aber natürlich ist ein relevantes nicht-triviales Projekt besser als ein irrelevantes nicht-triviales Projekt, weil es ein direkterer Beweis dafür ist, dass Sie in diesem bestimmten Bereich nicht-triviale Arbeit leisten können.
Schließlich spielt die Anzahl der Projekte keine Rolle, solange sie diese Punkte ansprechen. Wenn Sie alle vier Ziele in einem einzigen starken Projekt erreichen können, dann ist es in Ordnung, ein Portfolio mit nur einem Projekt darin zu haben. Tatsächlich sind Sie mit einem großen Projekt besser dran als mit vielen kleinen Projekten.
Meiner Meinung nach ist ein GitHub-Portfolio, in dem Sie Ihre Programmierkenntnisse unter Beweis stellen können, unerlässlich, wenn Sie sich für eine Stelle im Bereich Informatik bewerben.
Sie können dafür Ihr GitHub-Profil verwenden, aber es ist nicht unbedingt erforderlich. Viele Arbeitgeber sehen sich das nicht an – sie verlassen sich eher darauf, Ihnen technische Tests zu geben, um zu sehen, ob Sie Probleme lösen können. Und es gibt noch andere Möglichkeiten, Ihre Arbeit zu präsentieren.
Als jemand, der an der Einstellung von Entwicklern beteiligt war, wäre ich viel beeindruckter, wenn Ihr "Portfolio" aus einem laufenden System bestünde, das ich tatsächlich verwenden und testen könnte.
Eine Auswahl des von Ihnen geschriebenen Codes zeigt mir, wie Sie Code schreiben, aber wenn Sie mir ein laufendes System zeigen, zeigt mir das, dass Ihr Code tatsächlich funktioniert und dass Sie wissen, wie man ihn einsetzt.
Der einfachste Weg, jedem, der Ihren Lebenslauf lesen wird, ein lauffähiges System zu bieten, besteht wahrscheinlich darin, eine Website zu erstellen. Es gibt Hosting-Anbieter, die für solche Dinge kostenlose Stufen anbieten. Zugegeben, dies ist auf die Webentwicklung ausgerichtet; Es ist vielleicht schwieriger, Ihr Wissen über Konzepte auf Betriebssystemebene in einer Web-App zu zeigen. Aber es gibt noch viele andere Dinge, mit denen Sie angeben können – Datenbankkenntnisse zum Beispiel. Und für jemanden, der ohne jegliche Erfahrung in der „realen Welt“ anfängt, ist die Webentwicklung nicht der schlechteste Ausgangspunkt, auch wenn es bedeutet, sich einige grundlegende Webentwicklungsfähigkeiten anzueignen.
BEARBEITEN
Ich habe das oben Gesagte geschrieben und dabei hauptsächlich an reguläre Stellen gedacht, nicht an Praktika. Es lässt sich nicht sehr gut auf Praktika anwenden, da Schulen sich fast ausschließlich darauf konzentrieren, ihre Schüler Code schreiben zu lassen, obwohl fast alle Softwarejobs das Erstellen von Systemen beinhalten, von denen das Schreiben von Code nur ein Teil ist.
Als Person, die an der Einstellung beteiligt ist, möchte ich etwas über Ihre einschlägigen Erfahrungen in der Vergangenheit wissen. Wenn Sie frisch von der Schule kommen, zählen wahrscheinlich nur die Aufgaben, die Sie in der Schule erledigt haben. Es wäre also toll, wenn Sie diese liefern könnten. Sie stehen anstelle dessen, was in einem reiferen Lebenslauf frühere Berufserfahrung wäre.
GitHub ist ein bequemer Ort, um solche Dinge zu teilen, aber es muss natürlich nicht auf GitHub sein. "Frühere" Bewerbungen bestanden manchmal aus Anschreiben, Lebenslauf und Codebeispiel auf 3 separaten Blättern.
Und es muss nicht umfangreich sein. Wichtig ist, dass es widerspiegelt, dass Sie die Aufgabe verstanden haben . Fügen Sie die Note hinzu, die Ihnen der Ausbilder oder TA für die Aufgabe gegeben hat. Wenn die Zuweisung für eine GUI war, fügen Sie einen Screenshot hinzu.
Auch dies steht anstelle der bisherigen Berufserfahrung, die Sie noch nicht haben. Ihre Bewertung wird mit ziemlicher Sicherheit in erster Linie darauf basieren, wie Sie die Fragen im Interviewprozess beantworten, und nicht auf der Qualität dieses Codes. Aber es ist gut zu zeigen, dass man etwas erreicht hat , auch wenn „etwas“ bei einer Schulaufgabe nur gut läuft.
Zufälligerweise habe ich gerade heute früh ein Praktikumsangebot an einen Kandidaten verschickt. Wir stellen direkt von der Fakultät für Informatik an der Universität ein, an der ich arbeite, was bedeutet, dass fast niemand über die Menge an Berufserfahrung verfügt, die mich davon überzeugen könnte, sie direkt einzustellen, und es bedeutet, dass jeder fast genau die gleiche Programmiererfahrung hat.
Also drehen wir es um. Wir konzentrieren uns nicht auf die Programmiererfahrung. Wir konzentrieren uns auf alle anderen Dinge. Dinge, die manche Leute Soft Skills nennen , aber ich mag diesen Begriff nicht, da sie so viel wichtiger sind als die Fähigkeit, Code zu schreiben.
Wenn wir Bewerbungen auswerten und Vorstellungsgespräche führen, konzentrieren wir uns auf die Kommunikationsfähigkeit der Menschen. Die Geschichten über die Projekte, an denen sie gearbeitet haben, und was sie daraus gelernt haben. Wie haben sie ihre Zeit und ihren Projektumfang verwaltet? Haben sie sich auf ein Minimum Viable Product geeinigt und von dort aus iterativ gearbeitet, um sicherzustellen, dass sie ein Ergebnis hatten? Was haben sie getan, um die technische Qualität sicherzustellen und Regression zu verhindern? Die Antworten auf diese Fragen haben sehr wenig mit Code oder bestimmten Tools zu tun.
Diese Erfahrungen stammen oft aus praktischen Projekten. Aber selbst wenn Sie den Code nicht zeigen können, können Sie das, was Sie gelernt haben, teilen. Nehmen Sie sich also etwas Zeit, machen Sie sich eine schöne Tasse Tee und setzen Sie sich mit Stift und Papier hin. Beginnen Sie dann aufzuschreiben, was Sie aus jedem Ihrer Projekte gelernt haben, die guten und die schlechten. Damit machen Sie zwei Dinge: Sie schreiben Ihre Geschichte (wer bin ich und wie bin ich gewachsen), und Sie erstellen sich eine „To-Do-Liste“ mit Dingen, die Sie als wichtig identifiziert haben, zu denen Sie jedoch noch nicht gekommen sind. Wenn Sie die Möglichkeit haben, sich diesen Dingen zu widmen und Erfahrungen zu sammeln, ist das ein wunderbares Privileg. Aber wenn nicht, fügen Sie es der Geschichte hinzu und nennen es "Reflexion", was eine ebenso wichtige Fähigkeit ist wie alle anderen.
nvoigt
Langecrew