Als ich gerade anfing, mich mit Programmieren zu befassen, und dies ist ungefÀhr 2012, kamen meine Versuche, zu googeln, was ich lernen und wo ich anfangen sollte, auf Antworten von dem damals mir unbekannten Stackoverflow und das schien fast die einzige Ressource darin zu sein - Habré.
Seitdem ist viel Wasser geflossen, aber schauen Sie:
âDie 5 beeindruckendsten BĂŒcher, die jeder Softwareentwickler lesen sollteâ - Artikel 2012.
FĂŒr die Faulen bieten sie an, die BĂŒcher âPerfekter Codeâ, âProgrammierer - Pragmatikerâ, âWie man gute Algorithmen schreibtâ zu lesen und mit Sauce einzureichen: âWenn Sie in der Zeit zurĂŒckgehen und sich raten könnten, ein Buch zu lesen, welche Art von BĂŒchern wĂ€ren das? ", - und im Folgenden sind dies diejenigen, die ich beschrieben habe.
Es ist zweifellos neugierig, sich heute eine Ressource aus dem Jahr 2012 anzuschauen und zwei Dinge zu beachten:
- Das erste ist, dass ungefĂ€hr dieselben BĂŒcher heute auf Seiten mit Ă€hnlichen Titeln liegen (und liegen).
- Das zweite ist, dass sich plötzlich herausstellt, dass Sie vor dem Schreiben guter Programme zunĂ€chst eine Menge schlechten, wertlosen Codes schreiben mĂŒssen. Sie können Knut oder Horstman nicht zuerst lesen und nach dem Lesen ein guter Entwickler werden, wenn Sie nicht schlecht waren. Das wird nicht funktionieren. In der entgegengesetzten Richtung funktioniert jedoch alles ziemlich gut: Sie werden ein schlechter Entwickler, und wenn Sie gut werden möchten, lesen Sie anerkannte Autoren und verstehen, dass alles, was Sie zuvor geschrieben haben, eine Reihe nutzloser (oder nicht ausreichend nĂŒtzlicher) Dateien in einem Container auf einem Bein ist mit einer Last von 20 Anforderungen pro Sekunde, obwohl Ihre "Tests" zeigten, dass Ihr Dienst 500 halten sollte. Als nĂ€chstes beginnen Sie zu verstehen, halten Sie sich langsam an dĂŒnnere als Ihre eigenen logischen Regeln fĂŒr die Organisation des Betriebs von Anwendungen, Sie verstehen, dass "parallel" und "depl th â- keine magischen Worte zu Debug-Zeit nach ihrem Code Zeit und in jeder Hinsicht klĂŒger und VerstĂ€ndnis zu werden.
Was passiert als nÀchstes?
Es stellt sich heraus, dass wĂ€hrend Sie ein Bier getrunken haben, die ganze Welt bereits den asynchronen Code von zweihundert ihrer Microservices in Containern unter dem Cuber ausfĂŒhrt und alle Daten in Cassandra speichert.
Wahrscheinlich etwas, das es wert ist, darĂŒber gelernt zu werden. Und dann stellt sich heraus, dass 80 Prozent der Informationen, die im vorletzten Jahr gelesen wurden, ungefĂ€hr nicht mehr vollstĂ€ndig geeignet sind. Heute oder besser gesagt gestern musste man verstehen, was Container und Orchestratoren sind, wie man mit aws arbeitet, Spring Releases Version 5, Springboot - das zweite.
Wahrscheinlich ist der Student, der gestern nach 4 Jahren Abschluss an der UniversitĂ€t seinen Abschluss gefeiert hat, schockierend, um es milde auszudrĂŒcken.
Es ist gut, wenn UniversitÀten (nicht nur Moskau und St. Petersburg) plötzlich Kotlin, Scala, Python3, Java9, Spring, Rx unterrichten ... aber was ist, wenn nicht? - In den meisten FÀllen ist die Antwort auf meine Frage höher - ja, sie unterrichten definitiv nichts an der UniversitÀt.
Dies liegt daran, dass die UniversitĂ€t als Plattform fĂŒr kĂŒnftiges Personal in Unternehmen in ihrem Vorteil die Studenten nicht auf die Arbeit an einem anderen Ort als ihrer eigenen Abteilung vorbereitet. Unsere UniversitĂ€ten sind eine solche Karikatur, in der eine Person dachte, sie wolle eine höhere Ausbildung (weil der Prozess das Empfangen sollte ihm anscheinend Wissen fĂŒr einen erfolgreichen Karrierestart geben), aber tatsĂ€chlich brauchte er wirklich eine gute sekundĂ€re spezielle, qualitativ hochwertige "Programmiererausbildung", so dass viel Codierung und nicht so viel Arbeit matan + half- Jahre zu schauen zu sagen, ob er in die Wissenschaft gehen will oder nicht.
Ich sympathisiere aufrichtig mit Studenten, die einmal festgestellt haben, dass ihr Wissen veraltet ist, noch bevor sie an die UniversitÀt kamen.
Nach 4 Jahren wird der asynchrone Code auf dem Haufen von Unternehmen zusammen mit einer Reihe von Microservices zu Legenden, die irgendwie im Docker beginnen, vom Orchester ausgeglichen werden und eine Reihe wichtiger und interessanter Dinge erledigen, aber ... Welche Art von Aufgaben man einer Person geben muss, die etwas ĂŒber Eisen versteht, hat Ideen ĂŒber Stipendien, aktiv etwas im Labor verloren, aber irgendwo etwas ĂŒber Streams und Rx gehört?
Es scheint, dass Sie keine geben, Sie mĂŒssen ihn nach Hause schicken, um zu studieren, oder kostenlose oder bezahlte Kurse anfordern.
Es kommt auch vor, dass sich der gestrige Student heute hingesetzt hat, um wirklich aktuelle Informationen zu erhalten, aussortiert und einen Job als Juni bekommen hat und nach ein oder zwei Jahren schon ziemlich gut herumfummelt.
Es kommt vor, aber selten.
Als Ergebnis die folgenden
Wenn sich etwas nicht dramatisch Àndert, benötigt jeder UniversitÀtsabsolvent (wenn er Entwickler werden möchte) in den nÀchsten 5 Jahren ein weiteres Jahr von oben (oder wÀhrend eines Studiums an einer UniversitÀt passiert dies hÀufig), um sich ein wenig in die reale Situation des Berufs hineinzuversetzen, um zu lernen, einen Job finden und sich zumindest irgendwie in Aufgaben in Legacy-Projekten integrieren.
FĂŒr Unternehmen bedeutet dies nichts weiter als einen völligen Mangel an ProgrammierhĂ€nden. Ein Unternehmen, das sich bereits Ă€hnelt (Website, GeschĂ€ft, Katalog, Spiel, App), kann es sich nicht leisten, sich aufgrund der Bremsen auf der Entwicklungsseite in neue Richtungen zu entwickeln. Und die Entwickler sind nicht schuld - es gibt nicht genug Leute.
Das Ende.
Vielen Dank fĂŒr Ihre Aufmerksamkeit!