Die Einstiegshürde und das Arbeitsumfeld von Programmierern waren schon immer ein Thema, das wir gerne diskutieren. Kürzlich gab es Berichte, dass in den Vereinigten Staaten, wo die IT-Technologie am weitesten entwickelt ist, jeder Programmierer werden kann. Selbst wenn man keinen Abschluss in einem formalen Informatikstudiengang gemacht hat; selbst wenn man noch nie zuvor einen Computer berührt hat; selbst wenn man die Programmierarbeit nur gewählt hat, um seinen Lebensunterhalt zu verdienen und die Familie zu ernähren, heißt die Programmierwelt einen willkommen. Daher können wir nicht anders, als das Arbeitsumfeld, die Einstiegsbedingungen und andere Bedingungen ausländischer Programmierer, die uns attraktiv erscheinen, mit den Bedingungen für Programmierer in China zu vergleichen. Aber in welcher Hinsicht sollten wir sie vergleichen?
Ein Blatt verrät den Herbst; viele IT-„Experten“ sind eigentlich nur „Ziegel-Experten“.
linghu9990 schrieb in einem Blogbeitrag:Kürzlich habe ich Dutzende Bewerber für Stellen in der Kernel-Entwicklung interviewt. Diese Bewerber kamen alle von sehr bekannten großen Unternehmen aus dem Bereich Chips oder eingebettete Betriebssysteme. Die meisten gaben an, mindestens zehn Jahre Erfahrung in der Kernel-Entwicklung zu haben. Ihre Lebensläufe wirkten beeindruckend, voller relevanter Projekterfahrung, verschiedener trendiger technischer Begriffe, Auszeichnungen und so weiter.
Aber die meisten von ihnen konnten eine grundlegende Frage nicht beantworten: Was passiert im Kernel, wenn Sie die Standard-malloc-Funktion aufrufen?
Seien Sie nicht überrascht. Als ein Kandidat gebeten wurde, ein einfaches LRU-Cache-Framework auf Basis der glib-Hash-Funktion zu schreiben, sagte er zunächst, er habe glib noch nie benutzt, was zu erwarten war. Ich gab ihm das glib-Handbuch und erklärte die Schnittstellen im Detail, aber nach mehr als einer Stunde hatte er nur ein paar Zeilen schrecklichen Code geschrieben.
Analyse der Ursachen:
Ich glaube, was zu diesem Phänomen führt, sind nicht nur ihre eigenen Gründe, sondern auch die Unternehmen, für die sie arbeiten. Diese Unternehmen geben ihnen große Mengen an stabilem Code, der sich jahrelang nicht wesentlich ändern wird. Die technisch anspruchsvollen Teile sind alle in diesem Code gekapselt, sodass sie nur alten Routinen folgen und aufhören zu innovieren. Sobald sie in den Arbeitsmarkt eintreten, haben diese sogenannten "Experten" überhaupt keine Wettbewerbsfähigkeit.Das ist das Dilemma des Programmierers: Wir verdienen unseren Lebensunterhalt mit Code, aber die großen Unternehmen, die uns unterstützen, zerstören langsam unsere Fähigkeit, unseren Lebensunterhalt zu verdienen.
Wie man aus diesem Dilemma herauskommt:
Ich denke, das Auftreten von Ereignissen hat immer zwei Seiten; eine Hand kann nicht allein klatschen. Daher richten sich die Lösungen natürlich sowohl an Einzelpersonen als auch an Unternehmen/Arbeitgeber.
Für Einzelpersonen:Erstens, arbeiten Sie an Ihren eigenen Projekten. Sie müssen ständig "Ihr Messer schärfen." Wählen Sie in Ihrer Freizeit einige Aufgaben aus, die Sie interessieren, und nutzen Sie Ihre eigene Zeit, um die Schwierigkeiten zu überwinden, auf die Sie stoßen. Auf diese Weise werden Sie definitiv neue Dinge lernen. Wenn Sie Ihre Projekte auf GitHub veröffentlichen, haben Sie vielleicht die Chance, jemanden zu treffen, der Sie aus Ihrer aktuellen Position herausholen kann.
Außerdem sollten Sie nicht länger als zwei Jahre in einem Team bleiben. Versuchen Sie, alle 18 Monate an Vorstellungsgesprächen teilzunehmen. Sie müssen nicht den Job wechseln, aber Sie sollten sehen, was der Markt braucht und wie Sie sich an die Nachfrage anpassen können.
Für Teams/Unternehmen:Setzen Sie Ihre Mitarbeiter unter Druck und fordern Sie sie heraus. Rotieren Sie die Positionen, um "Experten" die Möglichkeit zu geben, ihre Fähigkeiten zu erweitern. Starten Sie neue Projekte, um Ihren Kriegern ein Schlachtfeld zu bieten. Veranlassen Sie regelmäßig "Hackathons". Auf diese Weise entsteht eine Kultur der Reform und Innovation.
Die amerikanische "Programmiererwelt" kennt keine Schwelle; jeder kann Programmierer werden.
Möchten Sie in den USA Programmierer werden? Es ist vielleicht nicht so schwer, wie Sie denken. Selbst wenn Sie nicht das Geld haben, um eine richtige Universität für Informatik zu besuchen, gibt es andere Wege. In letzter Zeit werden in den USA immer mehr Online-Programmierschulen populär. Viele reale Beispiele weisen denen, die diesen Weg anstreben, einen hellen Weg voraus: Ob Sie ein armer Student auf der Suche nach einem Job sind oder ein Mann mittleren Alters in der Midlife-Crisis, der den Beruf wechseln möchte – die Programmiererwelt heißt Sie willkommen.
"Blitz"-Programmierkurs
Die Schule "Code Fellows" in Seattle ist sehr zuversichtlich, dass sie Studenten helfen kann, Jobs zu finden. Sie bietet Studenten einen sechswöchigen "Blitz"-Programmierkurs an, der sie von null Grundlagen zu einem grundlegenden Einstiegsniveau führt, und verlangt dafür $12,000 – und wenn sie immer noch keinen Job finden, können die Studiengebühren vollständig erstattet werden.
Hinter dem Aufstieg ähnlicher Schulen steht der wachsende Wohlstand des US-Internetmarkts, der zu einer Situation geführt hat, in der Programmierer knapp sind. Prognosen des US-Arbeitsministeriums zufolge wird es bis 2020 in den USA etwa eine Million offene Programmiererstellen geben. Darüber hinaus schenken viele traditionelle Hochschulen Computerkursen wenig Aufmerksamkeit, wodurch diese Lücke immer größer wird.
Zum Beispiel hat die Informatikabteilung der University of Washington in diesem Jahr nur ein Viertel der voll qualifizierten Bewerber aufgenommen. Für diejenigen Studenten, die es nicht in einen Informatikstudiengang geschafft haben, ist in der Programmiererwelt glücklicherweise ein Abschluss nicht der einzige Weg zu einem Job.
Zum Beispiel haben bei Google, einem Branchen-Benchmark, einige Teams 14 % Programmierer ohne einschlägige formale Abschlüsse. Betrachtet man das ganze Land insgesamt, stammen 67 % der Programmierstellen aus Nicht-Tech-Unternehmen, was bedeutet, dass neben dem Programmieren auch andere übliche Business-Fähigkeiten benötigt werden.
Aus dieser Perspektive ist Programmieren tatsächlich ein Handwerk, genau wie Schweißen oder Tischlerei. Es ist ein Handwerk, das jeder in ein paar Wochen oder Monaten lernen kann, um Grundfertigkeiten zu erwerben. Und sobald diese Programmieranfänger mit diesen Grundfertigkeiten ihren ersten Job ergattern, haben sie auf dem weiteren Karriereweg die gleichen Chancen wie Programmierer, die von formellen Schulen kommen – es kommt nur darauf an, dass sie sich auf ihre eigenen Fähigkeiten verlassen.
Nehmen wir Facebook als Beispiel. Das Erste, was jeder Ingenieur nach seinem Eintritt in das Unternehmen tut, ist eine sechswöchige Intensivschulung, und die meisten Kurse hängen natürlich mit Programmierung zusammen. Das Unternehmen hat diesen Standardprozess eingeführt, weil in den meisten Colleges und Universitäten die Informatikfachbereiche mehr Wert auf theoretisches Lernen als auf praktische Programmierarbeit legen. Letzteres umfasst tatsächlich eine breite Palette komplexen Wissens wie verschiedene der beliebtesten Programmiersprachen, Projektmanagement und Zusammenarbeit, was bedeutet, dass ein qualifizierter Programmierer oft gleichzeitig mit Dutzenden anderer Programmierer und Millionen laufender Programme umgehen muss.
Programmierer könnten letztendlich ersetzt werden.
Ein Informatikabschluss hilft beim theoretischen Lernen und hilft Spitzeningenieuren, diese Kunst weiter zu verfeinern, aber in einer Zeit, in der das Internet so allgegenwärtig ist, ist es gleichbedeutend damit, von jedem Programmierer einen Informatikabschluss zu verlangen, wie von jedem Maurer einen Architekturabschluss zu verlangen.
Carson, Mitbegründer von "Treehouse", glaubt, dass der Informatikabschluss, den er vor mehr als einem Jahrzehnt erworben hat, völlig nutzlos ist. Die Internettechnologie, die sich in atemberaubendem Tempo verändert, zwingt Ingenieure, kontinuierlich neue Modelle und Sprachen zu lernen, was es vielen Menschen, die mitten im Berufsleben die Karriere gewechselt haben, manchmal ermöglicht, an derselben Startlinie zu stehen, solange sie bereit sind, ihr Leben der Perfektionierung dieser Fähigkeit zu widmen.
"Fast alles, was wir jetzt anfassen können, kann mit irgendeiner Software verbunden werden — das ist das erste Mal in der Geschichte der Menschheit", sagte Carson. Das ist wie der beliebteste Spruch im Silicon Valley: "In der Zukunft wird es nur zwei Arten von Menschen geben: diejenigen, die programmieren können, und diejenigen, die nur Maschinenanweisungen befolgen können."
Da die Internettechnologie dazu bestimmt ist, weiter in jeden Aspekt der menschlichen Gesellschaft einzudringen, werden Programmierpositionen, wie andere Arbeitsbereiche, die von ihr ersetzt wurden, immer vielfältiger werden.
Das Weiße Haus erlaubt Programmierern, Hemden zur Arbeit zu tragen.
WieThe Washington Postberichtet, hat das Weiße Haus den U.S. Digital Service eingerichtet. Teamleiter ist nicht Obama, sondern Mikey Dickerson, ein ehemaliger leitender Google-Ingenieur, der Ende letzten Jahres vom Silicon Valley nach Washington, D.C. kam, um die abgestürzte Website Healthcare.gov zu reparieren.
Eine Woche später veröffentlichte der offizielle Blog des Weißen Hauses ein 5-minütiges Video, das einen Tag dokumentiert, an dem Mikey Dickerson im Weißen Haus arbeitet. Mikeys Teammitglieder müssen keine Anzüge tragen. Er glaubt, dass das Tragen von Anzügen manche Programmierer unbehaglich fühlen lassen kann; schließlich geht es bei der Arbeit von Programmierern nicht hauptsächlich darum, mit Außenstehenden zu tun zu haben. Sie bevorzugen legere Kleidung, die es ihnen ermöglicht, sich schneller an die umgebende Arbeitsumgebung anzupassen und die Arbeitseffizienz zu verbessern, selbst wenn sie im Weißen Haus arbeiten.
Abschließende Gedanken
Vielleicht sind die oben aufgeführten Beispiele nur Einzelfälle, aber wir können nicht leugnen, dass ausländische Programmierer im Vergleich zur heimischen Programmierbranche in China niedrigere Eintrittsbarrieren, bessere Arbeitsumgebungen und einen breiteren Entwicklungsraum haben. Zuvor haben US-Medien sogar lautstark behauptet, dass die Informationssicherheitsabteilung der USA, wenn zwischen China und den USA ein Krieg ausbräche, Chinas Netzwerke sofort in die Steinzeit zurückversetzen könnte. Vielleicht ist das etwas übertrieben, aber es ist nicht unmöglich. Nach Angaben von mit der Sache vertrauten Quellen entwickelten sich die Dinge nach dem Militärtrainingskonflikt an der Longshan County Huangcang High School weiter: Die Website der Volksregierung des Kreises Longshan wurde gehackt, und ein Hacker namens "XiaoLan" hinterließ auf der Startseite eine Nachricht: "Wagt es die Propagandaabteilung eures Kreises, irgendein Schamgefühl zu haben?"
Man kann erkennen, dass chinesische Regierungswebsites sehr fragil sind, und die Zahl der gehackten Regierungswebsites ist mehr als ein oder zwei. Das ist nichts Neues. Kann man daraus schließen, dass solche Vorfälle gerade deshalb häufig vorkommen, weil die heimische Aufmerksamkeit für Computertechnologie unzureichend ist oder die Computerausbildung nicht offen genug ist?
Ehrlich gesagt, jeder, der auch nur ein wenig das Gefühl hat, dass "Aufstieg und Niedergang der Nation die Verantwortung jedes Einzelnen sind", würde sich politische Verbesserungen in der Online-Bildung erhoffen und sollte zumindest die Entwicklung im Inland produzierter Betriebssysteme nachdrücklich wertschätzen und unterstützen.