
Angenommen, du möchtest dir einen bestimmten Platz in der Kampfkunstwelt erobern. Du könntest die Einsamen Neun Schwerter üben, um ein erstklassiger Meister zu werden, oder du könntest Medizin praktizieren und ein unvergleichlicher Wunderarzt werden. Beide haben Ansehen in der Kampfkunstwelt, und beide sind rar – der eine wegen seiner Tödlichkeit, der andere, weil jeder einen langen Weg mit unvorhersehbaren Wendungen vor sich hat.
Dasselbe gilt für Programmierer. Ob es um Wertsteigerung oder die Verbesserung der Ausdrucksfähigkeit geht, letztlich musst du in irgendeiner Umgebung einen gewissen Grad an Knappheit erreichen. Nur dann hat ein Mensch Wert. Knappheit wird von Kräften in zwei Dimensionen beeinflusst: Eine ist deine eigene Anstrengung, wie die zuvor erwähnte Wertsteigerung und Ausdrucksfähigkeit; die andere sind Veränderungen im weiteren Umfeld und deine Anpassung an diese Veränderungen. Dieses Kapitel konzentriert sich hauptsächlich auf Letzteres.
Was Knappheit dir bringen kann
Da Knappheit einen so großen Einfluss auf ein Individuum hat, was genau kann sie einem Menschen bringen? Betrachten wir ein einfaches Beispiel:
In Japan gab es einst eine solche Geschichte. Eine Person war bei einem Telekommunikationsunternehmen für die Wartung eines groß angelegten Systems verantwortlich. Obwohl sein Einkommen beträchtlich war, wurde er mit der Zeit mit seinem Gehaltswachstum unzufrieden und entschied sich schließlich zu gehen. Kaum war er gegangen, lief das groß angelegte System sofort mit ständigen Problemen. Hilflos blieb dem Telekommunikationsunternehmen nichts anderes übrig, als ihn mit einer hohen Position und großzügiger Bezahlung zurückzuholen. Man kann sich leicht vorstellen, dass das Unternehmen, um dieses Ziel zu erreichen, Bedingungen sowohl beim Einkommen als auch bei der Position angeboten haben muss, die diese Person nicht ablehnen konnte.
Dies ist ein typisches Beispiel für Knappheit in Aktion. Das groß angelegte System musste genutzt werden, weil es an eine riesige Nutzerbasis gebunden war, und gleichzeitig war die Wartung des Systems ohne diese Person unmöglich. Dadurch wurde seine Knappheit äußerst deutlich.
Das ist eigentlich ziemlich interessant, denn in diesem Fall war es schlechte Software, die den Wert und die Knappheit einer Person erzeugte. Obwohl das nicht ideal ist, sind solche Situationen nicht selten. Vom Markt aus betrachtet ist es egal, ob die interne Logik eines Programms klar ist oder ob es ausreichend Kommentare hat; er kümmert sich nur darum, ob die Sache gut funktioniert. Also kann Müllcode im aktiven Einsatz immer noch einen enormen Wert haben. Mit anderen Worten, kommerzielle Überlegungen haben einen noch größeren Einfluss auf die Knappheit.
Um zu verhindern, dass der obige Text falsch interpretiert wird, hier eine zusätzliche Anmerkung. Der obige Weg ist keiner, der besonders nachahmenswert ist. Denn für die oben beschriebene Person war sein Wert im Wesentlichen an ein bestimmtes System gebunden, was bedeutete, dass er nahezu keine Mobilität hatte. Dies würde die Leistungen einer Person einschränken und ein erhebliches Risiko für die Zukunft darstellen.
Wege zur Erhöhung der Knappheit
Um deine Seltenheit zu erhöhen, musst du normalerweise gleichzeitig an zwei Aspekten arbeiten: Der eine ist, dich selbst zu verbessern; der andere ist, den Trends der Zeit zu folgen. Sich selbst zu verbessern kann dich selten machen – das ist leicht zu verstehen. Aber ohne dich an die Trends der Zeit anzupassen, lässt sich diese Seltenheit möglicherweise nicht leicht verwirklichen. Im Jahr 2013 war jemand, der DOS-Programmierung beherrschte, zweifellos selten, aber das bedeutete nicht unbedingt Wert. Im Folgenden erklären wir Seltenheit aus diesen beiden Perspektiven.
1 Auf zum Hochland des Werts in der Programmierwelt
Der Investmentmeister Mr. Buffett sagte einmal etwas, das weite Verbreitung fand: Manche Unternehmen haben hoch aufragende Burggräben, und innerhalb der Burggräben bewachen wilde Krokodile, Piraten und Haie sie – das sind die Unternehmen, in die du investieren solltest. Dies beschreibt anschaulich das äußere Bild des hochwertigen Terrains.
Für Unternehmen kann ein Burggraben vieles sein: schwierige Technologie (Boeing-Flugzeuge), schwer zu durchbrechende Nutzerbindung (QQ), exklusive Ressourcen (PetroChina), einzigartige Unternehmenskultur (Apple) und so weiter.
Ein Burggraben verleiht einem Unternehmen einen unersetzlichen Wert. Von der Angebotsseite aus geht es darum, Knappheit im eigenen Wert des Unternehmens zu erzeugen: Man kann nicht ohne ihn auskommen, und man hat keine anderen Optionen. Dies ist hochwertiges Terrain. Wenn ein Unternehmen darauf steht, ist es relativ sicher. Genau deshalb versuchen große Unternehmen letztlich, eine bestimmte Ordnung und ein bestimmtes Ökosystem zu dominieren – nur so können sie Knappheit kontrollieren.
Die gleiche Logik gilt für Einzelpersonen. Knappheit selbst kann aus vielen Quellen entstehen – sie kann aus dem Timing entstehen oder aus der Höhe. Knappheit, die aus dem Timing abgeleitet wird, ist eher ein Zufall; sie ist leicht zu brechen und hat oft keinen bleibenden Wert. Im Verhältnis zur Lebenszeit eines Menschen ist das keine starke Stütze. Zum Beispiel: Erlang-Programmierer mögen relativ selten sein, aber eine reine Sprachbarriere ist nicht so hoch, wie die Leute denken. Gäbe es wirklich riesige Nachfrage, könnte die Welt in einem Monat mehrere Millionen Erlang-Programmierer gewinnen.
Wenn eine Person ihre eigene Knappheit kultiviert, muss sie wirklich einen Ort finden, der von Krokodilen, Piraten und Haien bewacht wird – das ist hochwertiges Terrain. Natürlich sind die Krokodile und Ähnliches kaum etwas, das man selbst freisetzen kann, was anders ist als bei einem Unternehmen. In diesem Punkt stehen Programmierer auf der Management-Schiene und diejenigen auf der technischen Schiene vor unterschiedlichen Entscheidungen und müssen unterschiedliche Maßnahmen ergreifen.
Für Programmierer auf der technischen Schiene gibt es im Allgemeinen zwei Wege, um hochwertiges Terrain der oben beschriebenen Art zu erreichen:
Der erste besteht darin, eine bestimmte Höhe zu erreichen und sich dann horizontal auszudehnen. Zum Beispiel: Programmiersprachen, (finanzielle) Geschäftslogik, Fremdsprachen, Netzwerkkenntnisse und so weiter können kombiniert werden, um ein hohes Terrain zu bilden. Der Programmierer mag bei Programmiersprachen nicht mit einem genialen Programmierer mithalten können, bei Geschäftslogik nicht mit einem Bankangestellten und bei Fremdsprachen nicht mit einem professionellen Übersetzer – aber jede zusätzliche Filterebene hebt die Höhe des Terrains um eine Stufe an und verwandelt sich letztlich in Knappheit.
Der zweite ist der Weg der durchgängigen Expertise. Manche Positionen erfordern möglicherweise keine starke Verbreiterung des eigenen Horizonts. Zum Beispiel Menschen, die an TTS- oder OCR-Algorithmen arbeiten – manche sind vielleicht nicht einmal mit Programmiersprachen sehr vertraut –, aber sie können echte Experten auf einem bestimmten Gebiet sein. Auch das ist eine Art hochwertiges Terrain. In dieser Richtung ist es, sobald man wirklich eine gewisse Höhe erreicht hat, nichts, das durch bloßes Anhäufen von Quantität übertroffen werden kann. Zum Beispiel: 100 oder irgendeine Anzahl mittelmäßiger Wissenschaftler als Äquivalent zu einem Einstein zu betrachten, ist zweifellos töricht.
Welche Richtung du auch einschlägst, das Endergebnis muss diesen Effekt erzielen: Du kannst etwas mit großem kommerziellen Wert vollständig bewältigen, und die meisten Menschen können es nicht bewältigen. Zum Beispiel:
- Ich kann die Entwicklung eines Mobiltelefons leiten, weil ich sowohl Software als auch Hardware verstehe und auch weiß, wie man ein gutes Produkt entwickelt. Wenn man es heute betrachtet: Wenn du wirklich fähig bist, könntest du das Smartisan-Problem lösen.
- Ich kann die OCR-Erkennungsgenauigkeit um 1% verbessern.
- Ich kann den Aufbau einer Website leiten, die Millionen gleichzeitiger Verbindungen unterstützt.
- Ich kann ein Team leiten, um das gesamte System für diese Bank fertigzustellen.
- … …
An diesem Punkt ist es am besten, sich nicht mit rein technischen Sichtweisen zu messen, wie „Ich bin gut in Java“, „Ich kann PHP verwenden“, „Ich kenne das TCP/IP-Protokoll“ und so weiter. Es ist nicht so, dass diese keinen Wert hätten, sondern vielmehr, dass diese Perspektive etwas niedrig angesiedelt ist. Erst wenn du eine Sache vollständig bewältigen kannst, kannst du direkt mit kommerziellen Interessen verknüpft werden, und erst dann kannst du wahre Knappheit haben.
Für Programmierer auf der Management-Laufbahn scheint es nur einen Weg zu geben, um hochwertiges Terrain der oben beschriebenen Art zu erreichen:
Man muss hart arbeiten, um Ergebnisse zu erzielen, an die sich die Menschen erinnern. Diese Ergebnisse können ein Produkt oder eine Art von Leistung sein. Wenn heute WeChat erwähnt wird, denken alle an Zhang Xiaolong. Das liegt daran, dass WeChat selbst in weniger als zwei Jahren 200 Millionen Nutzer anzog und einen sehr guten Ruf hatte – es war wahrhaftig ein Wunder.
Bezüglich hochwertigem Terrain gibt es eine typische Falle: Erfahrung, die keine Komplexität enthält und spezifisch für ein bestimmtes Unternehmen ist, wird oft fälschlicherweise für hochwertiges Terrain gehalten, ist es aber in Wirklichkeit nicht. Denn solange das Umfeld relativ offen ist, kann diese Art von Sache oft in kurzer Zeit gelöst werden. Zum Beispiel: Ein Unternehmen kann seine eigenen Prozesse definieren, und viele Dinge darin sind relativ vage, sodass Neulinge überall auf Hindernisse stoßen, wenn sie versuchen, ihnen zu folgen. Das kann Menschen leicht fälschlicherweise glauben lassen, dass die Beherrschung des Prozesses selbst einen hohen Wert hat. In Wirklichkeit wird dies jedoch durch unvollkommene Prozesse verursacht – es ist ein Zufall eines spezifischen Kontexts. Das erzeugt zwar Knappheit, ist aber im Grunde nicht übertragbar, und in den meisten Fällen ist es möglicherweise keine gute Wahl.
Zählt die Anforderungsentwicklung zu hochwertigem Terrain?
In eher agilen Organisationen sind Programmierer oft sehr nah an den Anforderungen. Doch bei traditionelleren Entwicklungsmethoden besteht oft eine Distanz zwischen den Personen, die Anforderungen bearbeiten, und den Programmierern. Personen, die Anforderungsentwicklung betreiben, sind möglicherweise nicht gut darin, Programme zu schreiben, und Personen, die Programme schreiben, sind möglicherweise nicht gut darin, Anforderungen zu schreiben.
Zählt die Anforderungsentwicklung also zu hochwertigem Terrain?
Viele reine Programmierer könnten das Gefühl haben, dass reine Dokumentationsarbeit keine technische Substanz hat und dass jeder sie schreiben könnte, sodass sie vielleicht denken, dass sie nicht als hochwertiges Terrain zählt. Aber aus Sicht des kommerziellen Werts: Wenn eine Person das Geschäft einer bestimmten Branche gründlich versteht (Technologie zu kennen ist sogar noch besser), dann ist es wahrhaftig hochwertiges Terrain.
Hier ist eine Analogie: Tmall stellt nur die Plattform bereit, und verschiedene Händler verkaufen darüber Waren. Hat Tmall also einen Wert? Natürlich. Die Tmall-Umsätze am 11/11 überstiegen 10 Milliarden Yuan, mehr als am Black Friday in Amerika. Wie könnte es da bloß an Wert mangeln?
Warum hat Tmall dann einen Wert? Weil in den Augen der Endkunden zuerst Tmall kommt und dann die verschiedenen Händler. Tmall monopolisiert den Einstiegspunkt, deshalb ist Tmall wertvoller.
Die Beziehung zwischen Anforderungen und Entwicklung ist ähnlich. Wenn eine Person die Anforderungen für ein Produkt bearbeitet, repräsentieren in den Augen Außenstehender die Anforderungen, die diese Person erstellt, das Produkt. Nur durch das Produkt kann man die Beiträge der Programmierer sehen. Die Denkweise Außenstehender beginnt beim Anforderungsentwickler und geht dann zu den Programmierern.
Eine der extremeren Praktiken ist es, den Anforderungsentwickler das gesamte Projekt leiten zu lassen, während alle anderen Mitarbeiter unter der Leitung des Anforderungsentwicklers arbeiten.
An diesem Punkt ist Haarspalterei bedeutungslos. Zum Beispiel könnten manche denken, dass es ohne Programmierer kein Produkt gäbe – das ist genauso bedeutungslos wie die Behauptung, dass es ohne Händler kein Tmall gäbe. In Wirklichkeit haben beide Wert. Was wir hier diskutieren, ist einfach, ob dies als ein Stück hochwertigen Terrains zählt.
2 Der Technologiewelle vorausgehen oder sich in ihr bewegen
In der IT-Welt wechseln die Banner an den Stadtmauern extrem schnell die Hände, und jede Veränderung führt effektiv dazu, dass eine Technologie aufsteigt oder eine andere untergeht.
Damals nahm die Entwicklung von WPS97 sehr viel Zeit in Anspruch. Baidu Baike beschreibt es wie folgt: Windows hatte viele neue Dinge; bevor wir uns überhaupt damit vertraut machen konnten, hat Microsoft erneut ein Upgrade durchgeführt. Viele technische Materialien waren ebenfalls schwer zu finden. Microsoft kontrollierte Windows, während wir bei allem selbst von Null anfangen mussten, was dazu führte, dass WPS97 nur unter Schwierigkeiten entstand. Hätte WPS97 1995 veröffentlicht werden können und direkt mit Word 6.0 konkurrieren können, hätte Word 6.0 keine Chance gehabt.
Dies dokumentiert anschaulich die Knappheit, die durch den Aufstieg einer neuen Technologie entsteht. Daran lässt sich auch nebenbei erkennen, dass Unternehmen 1995 verzweifelt hochqualifizierte Windows-Entwickler suchten. Diese Knappheit wurde durch technologische Veränderungen hinter Industriezyklen verursacht. Heute können selbst Programmierer, die gerade in die Branche einsteigen, mit Suchmaschinen die meisten Probleme der Windows-Programmierung lösen.
Wenn man vor solchen technologischen Trends steht, ist es angemessener, neue Technologien auf Basis der Realität mutig anzunehmen.
Realitätsnah zu sein bedeutet, die Übertragbarkeit von Fähigkeiten zu berücksichtigen, die untrennbare Natur von Praxis und Lernen zu bedenken, neue Technologien auszuwählen, von denen man glaubt, dass sie gute Perspektiven haben, und Zeit in sie zu investieren. Aber hier gibt es eine Falle: Wenn von neuer Technologie die Rede ist, denken viele vielleicht an eine neue Programmiersprache, aber Programmiersprachen sind zu grundlegend, mit zu niedrigen Einstiegshürden, und sind kein ausreichend großes Betrachtungsfeld. Wenn Ihre Perspektive auf diesen Maßstab beschränkt ist, sehen Sie zu viele Dinge und finden es schwer, sich zu fokussieren. An diesem Punkt müssen Sie die Einheit Ihrer Betrachtung angemessen vergrößern. Im Englischen wird üblicherweise der Begriff Tech Stack verwendet, um diese Gruppe von Technologien zu beschreiben.
Zum Beispiel: LAMP(Linux+Apache +MySQL+Perl/PHP/Python) kann eine Betrachtungseinheit sein; Windows-Programmierung + ASP.NET kann ebenfalls eine Betrachtungseinheit sein; und verschiedene Dinge im Zusammenhang mit Big-Data-Verarbeitung können ebenfalls eine Betrachtungseinheit sein.
Wenn wir zehn Jahre zurückblicken, stellen wir fest, dass es zuerst die Blütezeit der PC-Client-Programme gab, dann den Aufstieg des Internets und schließlich das Aufblühen mobiler Clients. Bis heute sind mobile Clients und das Internet zweifellos attraktiver als traditionelle PC-Clients. Im Cloud-Zeitalter sind die beiden Tech-Stacks mit relativ klaren Grenzen eine Reihe von Technologien auf Basis von Closed Source (hauptsächlich von Microsoft bereitgestellt) und eine Reihe auf Basis von Open Source. Wenn einer dieser Tech-Stacks allmählich einen Vorteil gewinnt, werden zweifellos diejenigen, die Erfahrung im entsprechenden Tech-Stack gesammelt haben, seltener sein.
Obwohl die beiden derzeit keinen offensichtlichen Unterschied zu haben scheinen, glaube ich persönlich in diesem Punkt, dass der Open-Source-Tech-Stack in Zukunft allmählich die Oberhand gewinnen wird. Auf Quora(quora.com) und High Scalability(highscalability.com) finden wir die technischen Architekturen der meisten aufstrebenden ausländischen Web-2.0-Websites mit einem Marktwert von über 1 Milliarde USD, wie Flickr, Pinterest, Instagram usw. Wenn Sie diese technischen Architekturen aufmerksam lesen, werden Sie eine grundlegende Gemeinsamkeit feststellen: Sie alle basieren auf Open-Source-Technologien.
Hinter dieser einhelligen Wahl steht eine gewisse Zwangsläufigkeit. Wenn Sie ein gewisses Maß an Anpassung wünschen und nicht bereit sind, hohe Kosten zu tragen, ist der Open-Source-Tech-Stack nahezu die einzige Wahl. Besonders wenn Open-Source-Technologien immer mehr Erfolgsbeispiele vorweisen, wird dieser Vorteil zunehmend offensichtlich.
Wenn ich mich zwischen dem Client (iOS, Android, WinRT) und dem Internet entscheiden müsste, glaube ich persönlich, dass das Internet mehr Vorteile hat als der Client.
Die Risiken, die mit dem Abebben der Technologie einhergehen
Viele Leute sagen, dass Microsoft in den 10 Jahren von 2002 bis 2012 fast nichts erreicht hat, und sie sprechen auch darüber, dass man aus Aktienperspektive, wenn man vor 10 Jahren Microsoft-Aktien gekauft hätte, bis jetzt nur 30–40 % verdient hätte, während man, wenn man Apple-Aktien gekauft hätte, mehr als das Dreifache verdient hätte. Wenn ich persönlich gelegentlich abschweife, denke ich nicht nur an dies, sondern eher daran, dass, wenn Microsoft weitere 10 Jahre verliert, dann nicht nur Microsoft untergehen wird, sondern auch die verschiedenen Unternehmen und Einzelpersonen, die an Microsoft gebunden sind, einschließlich vieler erfahrener Windows-Programmierer.
In der PC-Welt ist Microsoft zweifellos der Oberherr. Aber wenn die PC-Ära vorbei ist, dann wird dieser Oberherr, wenn ihm die erfolgreiche Transformation nicht gelingt, zweifellos mit ihr begraben werden. Zu diesem Zeitpunkt werden unzählige Menschen, die ihr halbes Leben der Microsoft-Plattform gewidmet haben, noch da sein – wohin sollen sie gehen?
Der Aufstieg einer Technologiewelle macht viele Menschen auf ihrem Kamm zu schillernden Stars, und das Abebben einer Welle nimmt ebenso den Glanz einiger mit ihr verbundener Menschen mit. Der Unterschied ist, dass Ersteres spektakulär und mitreißend ist, während Letzteres still und leise ist.
In einer solchen Situation ist die einzige wirkliche Wahl tatsächlich, mit der Zeit Schritt zu halten.
Prüfe deine eigene Knappheit
Es ist sehr schwierig, die eigene Knappheit aus der Perspektive gesellschaftlicher Bedürfnisse zu untersuchen, weil die relevanten Daten immer sehr fehlen. Aber es gibt eine einfache Methode, mit der ein Mensch schnell seine eigene Knappheit erkennen kann: Angenommen, ein frischgebackener Absolvent strengt sich beim Lernen sehr an; wie lange würde es dauern, bis er deine Arbeit übernehmen kann? Wenn zum Beispiel ein Absolvent dich in ein oder zwei Jahren allein durch harte Arbeit ersetzen kann und du bereits auf die 30 zugehst, dann ist es um deine Knappheit sicherlich sehr schlecht bestellt.
Im Gegenteil: Wenn selbst ein sehr fleißiger Absolvent fünf Jahre braucht, um dein technisches Niveau zu erreichen, und dich ohne spezifische Möglichkeiten niemals ersetzen kann, dann wird es um deine Seltenheit selbst dann sehr gut bestellt sein, wenn du bereits 30 bist. Die „Möglichkeiten“ hier können sich auf bestimmte besondere Praxis-Chancen beziehen.
Wenn du deine Seltenheit relativ systematisch einschätzen willst, musst du die folgenden Fragen der Reihe nach berücksichtigen:
- Steht die Technologie, die du beherrschst, kurz davor, veraltet zu sein?
Die Technologie-Welle eliminiert immer wieder periodisch verschiedene Technologien, und die Ziele der Eliminierung unterscheiden sich zu verschiedenen Zeitpunkten. Obwohl einige nicht vollständig eliminiert werden, sind sie zumindest nicht mehr so glorreich wie einst. Mit 2013 als Grenze und einem Rückblick auf 10 Jahre gehören zu solchen Technologien: Flash, MFC, Delphi usw.
Um gegenüber Technologietrends sensibel zu bleiben, ist es sehr wichtig, regelmäßig die Architekturen anderer Leute zu lesen.
Natürlich beziehen sich Technologien, die veraltet sein könnten, nicht nur auf Allzwecktechnologien, sondern auch auf alte Systeme, die durch neue Lösungen ersetzt werden könnten. Zum Beispiel: Viele Unternehmen nutzten einst Lotus Notes für das Wissensmanagement, aber heute verwenden nur wenige solche Systeme.
- Wie viele Menschen genau besitzen die Fähigkeiten, die du beherrschst?
Wenn du diesen Punkt untersuchst, solltest du, wie zuvor beschrieben, eher aus der Perspektive des Unternehmens als aus der Perspektive des Einzelnen denken. Einfach zu wissen, wie man eine bestimmte Sprache oder ein bestimmtes Framework auf diesem Niveau verwendet, ist sicherlich nicht selten. Zum Beispiel: Allein ASP.net zum Entwickeln von Webseiten zu verwenden, hat fast keine hohe technische Hürde, aber eine beträchtliche Beherrschung des Datenbankdesigns und die Fähigkeit, die Systemleistung durch Lastverteilung, Caching und andere Mittel effektiv sicherzustellen, können deine Seltenheit eine Stufe erhöhen.
Artikel von:http://blog.csdn.net/leezy_2000/article/details/38278309