Rahmen aus dem Film "Harry Potter und der Gefangene von Askaban"Das Problem dieser Welt ist, dass gebildete Menschen voller Zweifel und Idioten voller Zuversicht sind
Charles Bukowski
Vor kurzem habe ich eine weitere Einzel-Programmierstunde abgehalten. Im Gegensatz zu normalen Klassen war das Thema nicht die Konstruktion der Sprache und nicht das Problem bei der Lösung des Problems. Der Student teilte seine Besorgnis über die zukünftige Beschäftigung. Der Student selbst war ziemlich schlau. Einer derjenigen, die zu den Kursen kommen, durchläuft das gesamte Programm schneller als jeder andere und mit originellen Lösungen, unterschätzt sich jedoch immer aufrichtig. Meiner Meinung nach ergeben sich solche Zweifel nur aus einem Mangel an Informationen. Ich habe versucht, diese Lücke während des Unterrichts spontan zu schließen.
Die Fragen waren ungefähr so:
- Jedes Jahr absolvieren viele Studenten Universitäten und suchen Arbeit. Das sind viele Leute. Sie werden wahrscheinlich das Beste nehmen, aber ich werde keinen Platz bekommen.
- Was ist, wenn ich es vermassle und sofort gefeuert werde?
- Was ist, wenn sie während der Arbeit feststellen, dass ich dumm und rausgeschmissen bin?
Dieser Student war nicht die erste Person, der ich ähnliche Fragen beantwortete. Viele Menschen haben sie und müssen normalerweise ohne Vorbereitung sprechen. Diesmal habe ich beschlossen, meinen Monolog in ein Notizbuch zu schreiben. Ich dachte, dass es ein paar Absätze werden würde, aber ich tippte in einen ganzen Artikel.
Der Artikel beschreibt die Sichtweise aus meiner Sicht und basiert auf meinen Erfahrungen. Unsere Welt ist jedoch sehr vielfältig und es passieren erstaunliche Dinge darin. Wenn Sie mit etwas nicht einverstanden sind oder Ihre Erfahrung irgendwie anders ist, schreiben Sie bitte einen Kommentar.
Der Artikel wurde von Entwickler zu Entwickler geschrieben. Wenn Sie jedoch Tests, Administrationen oder andere Aufgaben in der IT durchführen möchten, sind einige der Tipps auch für Sie hilfreich.
Sie werden überhaupt nicht einstellen
Wenn Sie sich vorstellen, dass jedes Jahr Hunderte von Studenten an vielen Universitäten studieren, wird es unangenehm. Wie kann man mit so einer großen Menge konkurrieren?
Leider verfügen nicht alle Absolventen über eine ausreichende technische Ausbildung. Versuchen Sie, einen bekannten Universitätsstudenten zu fragen: Wie erhalten Personen in seiner Gruppe die Zulassung zu Prüfungen in Disziplinen wie der „Datenbank“ oder den „Grundlagen der Algorithmusisierung und Programmierung“? In einer Gruppe von höchstens 30 Personen gibt es 3-5 "fortgeschrittene" Leute, die wirklich alles selbst gemacht haben. Der Rest schreibt einfach von ihnen ab, Bison die Antworten auf Fragen und bestanden.
Da habe ich mich selbst studiert. Meine Erfahrung könnte jedoch nicht repräsentativ sein. Deshalb habe ich diese Frage mehreren verschiedenen Schülern gestellt. Die Antwort war ungefähr gleich. Die Befragten stammten von verschiedenen Universitäten und Hochschulen. Ich werde Diskussionen über die Gründe hinterlassen, die über den Rahmen dieses Artikels hinausgehen. Ich bin nicht genug für eine vollwertige Studie, daher werde ich aus den verfügbaren Fakten eine Schlussfolgerung ziehen.
Unter Hunderten von Absolventen sind nur ein paar Dutzend für Arbeitgeber von Interesse
Nur wenige Absolventen können einen echten Wettbewerb für einen fähigen Studenten mit guter Vorbereitung veranstalten. Selbst wenn Sie in gutem Glauben studiert haben, werden Sie nach dem ersten Interview höchstwahrscheinlich nicht eingestellt. Nach dem zweiten wahrscheinlich auch. Alles kann gut funktionieren, aber es ist besser, sich nicht auf einen Angriff einzustimmen, sondern zu belagern. Ein fehlgeschlagener Versuch, sich zurechtzufinden, ist nur eine Ausrede, um an den Fehlern zu arbeiten und es erneut zu versuchen. Ich werde nicht über die Vorbereitung auf Interviews sprechen. Zu diesem Thema wurde im Internet bereits viel geschrieben. Ich kann nur sagen, dass das Bestehen von Interviews Nuancen aufweist, für die es unwahrscheinlich ist, dass Zeit für die Erläuterung Ihres Schulungsprogramms zur Verfügung steht. Suchen Sie selbst nach diesen Informationen, da dies die Anzahl der Versuche verringern kann.
Wahnsinn ist die exakte Wiederholung derselben Handlung. Immer wieder in der Hoffnung auf eine Veränderung
Albert Einstein
Um sicherzustellen, dass das Interview nicht zum Wahnsinn wird, müssen Sie nach jedem neuen Versuch besser werden. Erinnern Sie sich an die Fragen, die Ihnen während des Interviews gestellt wurden, oder schreiben Sie sie auf. Durchsuchen Sie nach Ihrer Rückkehr diese Liste und testen Sie sich selbst über das Internet. So werden Sie verstehen, wo Sie sich geirrt haben, wo - der Interviewer. Das passiert auch. Wiederholen oder studieren Sie Themen, bei denen Sie schlecht geantwortet haben, und versuchen Sie es erneut.
Darüber hinaus gibt es eine ausgeprägte Saisonalität des Arbeitsmarktes. Kompetente Unternehmen planen Einstellungen basierend auf den Abschlussdaten von Bildungseinrichtungen. Im Frühjahr der offenen Stellen für Anfänger mehr als der Rest der Zeit. Der Wettbewerb ist derzeit jedoch höher.
Dumm - gefeuert werden
Wenn eine Person ohne Erfahrung eingestellt wird, gibt es entsprechende Erwartungen für sie.
Von einem Neuling zur Arbeit erwarten:
- Kenntnis der allgemeinen technischen Basis
- Studieren der Merkmale des Themenbereichs des Unternehmens
- Beherrschung der verwendeten Werkzeuge und Praktiken
Einige Organisationen bieten Anfängern Schulungen zu Technologien, Tools und lokalen Praktiken an. Zum Beispiel die Regeln für eine gute Form bei der Verwendung von Unternehmenspost, das Verfahren zum Ändern von Dokumenten in einem Wiki, lokale Funktionen für die Arbeit mit VCS und ein Bug-Tracker.
Es gibt noch technische Einführungskurse, deren Nützlichkeit jedoch zweifelhaft ist. Wenn es um Beschäftigung ging, haben die Arbeitgeber dafür gesorgt, dass Sie über ausreichende Kenntnisse verfügen. Es ist am besten, solche Kurse einfach in gutem Glauben als kleine Formalität zu belegen. Vielleicht sind sie wirklich etwas Nützliches.
Denken Sie bei der Arbeit daran, dass der Anfänger nicht mit der Lösung der dringenden, komplexen und gleichzeitig wichtigen Aufgabe betraut wird. Höchstwahrscheinlich wird es nur eine dieser Eigenschaften geben. Oder einfach, aber dringend: Korrigieren Sie das Layout, senden Sie jemandem eine Datei, reproduzieren Sie das Problem. Oder schwierig, aber ohne Hoffnung auf Vollendung - damit der Anfänger mehr Rechen sammeln kann. Oder wichtig, aber experimentell. Zum Beispiel ein Projekt, das sich schon lange jeder gewünscht hat, dem aber keine Zeit für die Implementierung zugewiesen werden kann.
Aufgaben für die Entwicklung von Werkzeugen werden "komplex" und künstlich sein. Höchstwahrscheinlich handelt es sich um eine vereinfachte Version des Hauptsystems. Bei solchen Aufgaben werden der gleiche Technologie-Stack und die gleichen Domänenbegriffe wie im gesamten Projekt verwendet. In diesem Fall wird das Ergebnis der Ausführung nicht an den Endbenutzer weitergegeben. Es mag demotivieren, aber es ist besser, dieser Stimmung zu widerstehen. Eine künstliche Aufgabe muss in gutem Glauben erledigt werden, als ob das Schicksal des Projekts davon abhängt.
Das Ergebnis der Lösung Ihrer ersten Aufgabe ist der erste Eindruck von Kollegen, die nicht am Interview teilgenommen haben.
Eine andere Version der Aufgabe zum Beherrschen des Toolkits ist "Ausführen des Projekts auf der lokalen Computer- / Testumgebung". Manchmal wird dieser Vorgang in der Anleitung beschrieben. Aber sie sind normalerweise alt und manchmal irrelevant. Sie können dem Projekt echte Vorteile bringen, wenn Sie eine neue Anweisung mit Erläuterungen zu den aufgetretenen Problemen schreiben. Sicherlich musste ich an der Universität eine RGR schreiben, um über einige Disziplinen zu berichten. Hier ist es fast genauso. Das Dokument sollte die Aktionen widerspiegeln, die zum Ausführen ausgeführt werden müssen.
In der Regel sind die Schritte zum Starten des Produkts in einer Testumgebung ungefähr wie folgt:
- Klonen Sie ein Repository, wechseln Sie zu einem Zweig oder Tag
- Machen Sie eine Konfigurationsdatei aus
- Datenbankstruktur vorbereiten
- Füllen Sie es mit Testdaten
- Erstellen oder kompilieren Sie ein Projekt
- Führen Sie eine Reihe von Konsolenskripten in einer bestimmten Reihenfolge aus
Beim Starten des Systems treten unvermeidlich unerwartete Probleme vor Ort auf.
Gefundene Lösungen für die Probleme müssen den Bereitstellungsanweisungen hinzugefügt werden. Wenn Sie das nächste Mal den Anweisungen folgen, treten diese Probleme nicht mehr auf. Beim Ausfüllen von Konfigurationsdateien und Aufrufen von Skripten müssen Sie darauf achten, welcher Wert wo verwendet wird und mit welchem Wert er übereinstimmen soll. Wenn ein Projekt beispielsweise mit dem CI-System erstellt und dann von einem Skript gestartet wird, ist es wichtig zu verstehen, wo der Zweigstellenname oder die Festschreibungsnummer geschrieben werden müssen. Es kommt also vor, dass das Skript die Übertragung einer IP-Adresse oder eines DNS-Namens der Datenbank, ihres Benutzernamens und Kennworts beinhaltet. In diesem Fall müssen Sie wissen, welche Adresse für die Testumgebung verwendet werden soll, welche Anmeldungen vorhanden sind und welche Kennwörter Sie für diese angeben müssen.
Einige Aufgaben scheinen für erfahrene Entwickler einfach zu sein und verursachen Schwierigkeiten für die Auszubildenden. Dies ist ein normales Ereignis.
Entwickler müssen jeden Tag technische Probleme lösen. Erfahrene Mitarbeiter haben bereits viele Probleme gelöst, und Neulinge müssen sich noch mit ihnen befassen. Die beste Taktik besteht darin, alle im Dokument "Lösen von Problemen mit $ {Aufgabenname}" aufgetretenen Fehler aufzuschreiben. Für jedes Problem müssen Sie eine Hypothese über die Ursache formulieren, im Internet Lösungen finden und diese nacheinander ausprobieren. Das Ergebnis jedes Versuchs muss ebenfalls aufgezeichnet werden.
Wenn Sie Ihre Recherche in Form eines Dokuments durchführen, können Sie:
- Entladen Sie kleine Teile von Ihrem Kopf. Zum Beispiel Konfigurationsparameter, DNS / IP-Adressen, Konsolenbefehle und SQL-Abfragen.
- Denken Sie daran, "was habe ich gestern getan", wenn die Aufgabe mehrere Tage lang gedehnt ist
- Gehen Sie nicht herum. Sie können immer lesen, was Sie zuvor getan haben, und verstehen, dass Sie wieder zum ursprünglichen Problem zurückgekehrt sind.
- Beantworten Sie klar die Frage: "Was haben Sie heute gemacht?" auch wenn es noch keine fertige Lösung gibt.
Sie müssen in der Lage sein, Kollegen den Status Ihrer Aufgaben mitzuteilen
Von Zeit zu Zeit werden Kollegen an Ihren Erfolgen interessiert sein und Ihre teilen. Hierfür wird täglich oder wöchentlich etwas Zeit eingeplant.
Wenn Sie die aufgetretenen und behobenen Probleme nicht nachverfolgen, sieht die Beschreibung Ihrer Erfolge folgendermaßen aus: "Ich habe versucht, die Aufgabe zu erledigen, kann es aber nicht." Ich suche bisher nach einer Lösung. " Aus einer solchen Geschichte ist nicht ersichtlich, ob der Auszubildende etwas getan hat oder nur eine Habr-Lesung gemacht hat. Braucht er Hilfe? Hat sich die Situation seit gestern geändert?
Wenn Sie ein Dokument mit einer Suche nach Lösungen aufbewahren, können Sie sagen: „Ich versuche, diese Aufgabe zu erledigen. Ich hatte solche Fehler. Also habe ich mich so entschieden. Ich habe das noch nicht geschafft. Es gibt solche Hypothesen und Lösungen. Jetzt überprüfe ich sie. "
Wenn die Aufgabe zumindest irgendwie gemessen werden kann, sollten die Zahlen im Status klingen. Für die Aufgabe „Komponententests für ein Modul schreiben“ können wir beispielsweise sagen: „Ich plane 20 Tests, jetzt habe ich 10 geschrieben“.
Je mehr Details Sie angeben, desto besser verstehen Ihre Kollegen, was Sie getan haben. Dies bildet eine positive Einstellung gegenüber Kollegen und ermöglicht ihnen zu verstehen, ob Sie Hilfe benötigen oder nicht.
Fühlen Sie sich frei, um Hilfe zu bitten.
Ich habe oben geschrieben, dass Sie, wenn ein Problem auftritt, eine Hypothese über seine Ursachen und Lösungen formulieren müssen. Es kommt jedoch vor, dass Hypothesen nicht gerechtfertigt sind und unabhängig gefundene Lösungen für das Problem nicht funktionieren. In diesem Fall ist es besser, um Hilfe zu bitten. Um die Aufmerksamkeit der Kollegen nicht zu missbrauchen, müssen Sie sich auf jedes Problem selbst konzentrieren. Wenn es in ein paar Stunden nicht möglich war, eine Lösung zu finden, ist es Zeit, sich von erfahreneren Kameraden beraten zu lassen.
Beginnen Sie am besten mit der Frage: "Hat jemand schon einmal ein Problem festgestellt?" mit einer kurzen Beschreibung des Problems. Es ist ratsam, eine Fehlermeldung oder einen Screenshot anzuhängen. Dies ist das erste Mal, dass es besser ist, es zur Arbeit an einen allgemeinen Chat zu senden. Sie unterbrechen also nicht die Arbeit derer, die wirklich beschäftigt sind. Gleichzeitig sehen freie Kollegen Ihre Nachricht und können helfen.
Wenn nach einer Nachricht im allgemeinen Chat niemand geholfen hat, versuchen Sie, in der Pause einen erfahrenen Kollegen zu fangen: Mittagessen, Tee / Kaffee, eine Partie Tennis oder eine Rauchpause. Wenn dies nicht funktioniert hat, melden Sie Ihre Schwierigkeiten sofort oder im Stehen.
Bei der Lösung bekannter Probleme kann dies enden. Wenn das Problem neu ist, wird eine Untersuchung eingeleitet, bei der entsprechend den Umständen gehandelt werden muss.
Die „wichtigen“ Aufgaben für Anfänger, die der Endbenutzer benötigt, sind langweilig und klein. Beispiel: "Hinzufügen einer zusätzlichen Spalte zum Bericht" oder "Korrigieren eines Tippfehlers in gedruckter Form" oder "Implementieren einer Modellmethode zum Laden von Clientattributen aus einem DBMS". Ziel solcher Aufgaben ist es, dass sich der Anfänger mit dem Themenbereich vertraut macht und sich in die tägliche Arbeit integriert.
Es ist wichtig, das Problem nicht nur technisch zu lösen, sondern auch das Wissen über das Fachgebiet zu erweitern.
In der Beschreibung der Aufgabe, in Chats und Konversationen finden sich Begriffe. Sie können wie lange bekannte Substantive aussehen. Im Rahmen des Informationssystems haben sie jedoch eine besondere, genauere Bedeutung. Die Bedeutung der erkannten Begriffe wird am besten in einem speziellen Dokument geschrieben - einem Glossar der Begriffe. Wenn Sie das Wörterbuch erweitern, reicht es aus, Ihr Verständnis des Wortes zu schreiben. Für eine echte Abschrift ist es besser, sich an den Analysten zu wenden. Wenn er abwesend ist, dann zu den Oldtimern des Projekts. Die Pflege eines Glossars mit Begriffen ist eine der einfachsten Möglichkeiten, sich mit dem Themenbereich des Projekts vertraut zu machen.
Sobald Sie eine gemeinsame Sprache mit Ihren Kollegen finden, werden sie in Ihnen keinen Anfänger, sondern einen gleichberechtigten Spezialisten sehen.
Es gibt spezielle Aufgaben, zum Beispiel "Unit-Tests für ein Modul schreiben". Bei der Suche nach Lösungen kann man kaum lange stecken bleiben. Darüber hinaus ist sie ernst genug und wird nicht nur für die Ausbildung des Auszubildenden gegeben. Die schriftlichen Tests erhöhen die Stabilität des Projekts, indem sie Fehler in der Anwendung reduzieren und die Zeit für Tests durch Personen verkürzen. In einer idealen Welt werden Unit-Tests sofort während der Entwicklung geschrieben, aber die Realität sieht wie immer anders aus. Es kommt vor, dass der Entwickler des Moduls es vollständig im Kopf hält und nicht die Notwendigkeit sieht, sie zu schreiben. "Alles ist offensichtlich, was gibt es zu testen?" Manchmal werden Module im Notfallmodus geschrieben und es bleibt keine Zeit für Unit-Tests. In der realen Welt sind Unit-Tests möglicherweise nicht der Fall. Daher ist die Aufgabe, Unit-Tests zu schreiben, einem Anfänger anvertraut. So kann sich der Auszubildende schnell an das Projekt gewöhnen und das Projekt spart Zeit für höher bezahlte Spezialisten.
Es kommt vor, dass Praktikanten und Anfängern die Rolle eines vollwertigen Testers zugewiesen wird. In der Regel müssen Sie zuvor das Produkt lokal bereitstellen und die Anforderungen lesen. Als Ergebnis wird der neue Mitarbeiter erwartet:
- Fragen wie „Wenn dir das gefällt, wird es so ausfallen. Dies ist in den Anforderungen nicht erforderlich. Wie soll es sein? "
- Aufgaben im Bug-Tracker "In den Anforderungen ist es so geschrieben, aber tatsächlich ist es anders."
Das Testen ist ein zu breites Tätigkeitsfeld für diesen Artikel. Wenn Sie eine ähnliche Aufgabe erhalten haben, suchen Sie im Internet nach dem besten Weg, dies zu erreichen.
Nakosyachite - gefeuert werden
Wenn in einer normalen Organisation plötzlich ein unerfahrener Mitarbeiter Zugang zu etwas Kritischem erhält und etwas ruiniert, ist derjenige schuld, der dies begangen hat. Weil der Neuling standardmäßig keinen Zugriff auf kritische Infrastruktur hat. Bei angemessener Anleitung werden nicht alle Hunde von einem unerfahrenen Auszubildenden enttäuscht.
Wenn etwas plötzlich passiert, werden sie aufgrund eines Vorfalls nicht abgefeuert. Menschen lernen aus Fehlern. Der Lauftrainee erhielt eine wertvolle Lektion und diese unterscheidet sich sehr von anderen Trainees. Wenn Sie den Slammer entlassen, kommt ein anderer an seine Stelle und mäht auf die gleiche Weise.
Die Hauptsache ist, aus Fehlern zu lernen und sie nicht noch einmal zu wiederholen.
Wenn eine Person aus ihren Fehlern keine Schlussfolgerungen zieht, wird sie versuchen, sich von ihr zu verabschieden. Die Welt ist jedoch vielfältig. In einigen Gangsterorganisationen können sie sofort das Fenster für den ersten Fehler werfen. Es ist jedoch besser, solche Unternehmen zu meiden, für die Sie sich zuerst erkundigen oder während des Interviews mehr herausfinden sollten.
Vorfälle werden am besten vermieden
Selbst wenn Sie nicht persönlich für den Pfosten gefeuert werden, verursacht ein solcher Vorfall unerwünschte Probleme für Ihr Team und das gesamte Projekt. Seien Sie daher besonders vorsichtig beim Löschen oder Erstellen von Tabellen in der Datenbank, Dateien, Dienstinstanzen und Dokumenten in der Projekt-Wissensdatenbank. Wenn Sie die Adresse der neuen Verbindung kennen, überprüfen Sie mit mindestens zwei verschiedenen Personen, was Sie dort tun können. Überprüfen Sie Ihre Rechte in Umgebungen nicht durch Ausprobieren, sondern durch entsprechende Befehle. Zum Beispiel das Recht, Dateien mit dem Befehl `ls` zu löschen, das Recht, mit Tabellen in MySQL mit dem Befehl` SHAN GRANTS FOR 'user' @ 'host';` zu arbeiten und dergleichen. In fast jedem Instrument haben Sie eine ähnliche Gelegenheit.
Bewahren Sie beim Bearbeiten von Dateien für alle Fälle eine Kopie des Originals auf.
Zwischen dem Praktikanten und dem Endbenutzer werden mehrere Barrieren aufgebaut.
Wenn Sie Ihr Produkt sofort dem Verbraucher geben könnten, könnten Sie keinen Job bekommen, sondern ein "freies Schwimmen" beginnen. Obwohl Sie keine solche Gelegenheit haben (und gleichzeitig Verantwortung tragen), müssen Sie mehrere Phasen der Kontrolle über das Projekt durchlaufen.
Der erste ist ein Mentor Check. Er bewertet die Anfängerlösung aus technischer Sicht. Wenn kein Mentor ernannt wurde, müssen Sie ihn finden. Dazu müssen Sie jemanden aus den Oldtimern des Projekts auswählen und ihn in der Pause nach der Lösung fragen: Ist das Problem richtig gelöst? Wenn Sie anfangen zu suchen und zu antworten, wird ein Mentor gefunden. Wenn Sie es ignorieren, sollten Sie jemand anderen fragen.
Die nächste Stufe ist die Qualitätssicherung. In russischer Sprache - Tester. In der Sowjetunion - Standardkontrolle und Qualitätskontrolle. Sie müssen sicherstellen, dass das Ergebnis der Arbeit des Praktikanten der ihm zugewiesenen Aufgabe entspricht. Sie werden selten in den Code eingelesen. In den meisten Fällen überprüfen Tester das zusammengestellte Projekt, das der Entwickler im Versionskontrollsystem speichert.
Die dritte Stufe ist der Release Manager. Es gibt möglicherweise keine einzelne Person für diese Aufgabe, aber es spielt immer noch jemand die Rolle. Er prüft, ob Tester bestätigt haben, dass das Projekt freigegeben werden kann.
Danach führt er die Aktionen zur Lieferung des Produkts an Endbenutzer aus.In kleinen Organisationen können diese Hindernisse aus verschiedenen Gründen fehlen. Sie werden dem Anfänger jedoch nicht die Aufgabe stellen, etwas Wichtiges zu ändern. Weil niemand dieses Risiko braucht.Sie müssen zuerst in die Schlacht verwickelt werden, und dort wird es gesehen.
Napoleon Bonaparte
Ich hoffe, der Artikel hilft Ihnen, Ihre Unsicherheit zu überwinden und Ihren ersten Lebenslauf einzureichen. Natürlich müssen Sie sich zuerst vorbereiten. Aber nicht zu fest anziehen. Sie haben höchstwahrscheinlich bereits mehrere Jahre an einer Universität oder einem College studiert. Wo weiter ziehen? Am Ende ist es besser, einmal von einem Spezialisten „Nein“ zu hören und an den Fehlern zu arbeiten, als jeden Tag „Nein“ zu sich selbst zu sagen und sich beruflich weiterzuentwickeln.Nach der Anstellung müssen Sie sich darauf konzentrieren, von einem Praktikanten zu einem Vollmitglied des Teams zu werden. Ein solches Wachstum geht normalerweise mit einer Erhöhung Ihres Gehalts einher.Ich wünsche Ihnen Geduld und Ausdauer.