Studierende haben während ihrer Studienzeit vielleicht diese Frage: Was soll ich in Zukunft beruflich machen?
Wenn Sie Informatik studieren und in Zukunft in die Software- und Internetbranche einsteigen möchten, herzlichen Glückwunsch. Das ist eine gute Branche mit hohen Gehältern. Sie müssen sich nicht auf Beziehungen verlassen; alles wird durch Fähigkeiten entschieden, und Sie brauchen keinen gut vernetzten Vater.
Der Nachteil ist, dass diese Branche extrem schwere geistige und körperliche Arbeit erfordert und Überstunden an der Tagesordnung sind.
Die nächste Frage ist: Welche Richtungen gibt es heute in der Software und im Internet? Siehe die Erklärung unten:
1. Zuerst: Woher kommen die Anforderungen?
1.1 Kundenprojekte
Wenn Sie an einem Kundenprojekt arbeiten, kommen die Anforderungen natürlich vom Kunden. Natürlich sind Kunden in der Softwareentwicklung typischerweise völlige Anfänger (was allerdings nicht absolut gilt – ich habe eine sehr kleine Anzahl von Kunden gesehen, die hervorragende Softwaretalente sind). Es fällt ihnen oft schwer, ihre tatsächlichen Geschäftsanforderungen klar zu beschreiben. An diesem Punkt muss jemand groß auftreten: der Business-Analyst. In großen Unternehmen ist der Business-Analyst eine eigene Rolle; in kleinen Unternehmen muss der Projektmanager oder ein Schlüsselentwickler in den sauren Apfel beißen und sie übernehmen. Der Business-Analyst muss die Anforderungen klar aufbereiten und sie den Architekten zur Konzeption übergeben.
Wenn ein Business-Analyst lange in einer bestimmten Branche arbeitet, wird er zum Business-Experten. Wenn Sie beispielsweise an Kernsystemprojekten für alle großen inländischen Banken gearbeitet haben, kann Ihre Vertrautheit mit dem Bankgeschäft sogar die bestimmter Bankmitarbeiter übertreffen. Dann sind Sie äußerst wertvoll – Sie können nicht nur Geschäftsprozesse analysieren, sondern Banken auch dabei helfen, ihr Geschäft zu optimieren. Ist das nicht großartig?
F: Muss ein Business-Analyst Technik verstehen?
A: Es ist am besten, ein wenig davon zu verstehen. Die Dinge, die Sie analysieren, sollen von Programmierern umgesetzt werden. Wenn Sie bestehende Technologie nicht berücksichtigen und nur blind den Nutzern nach dem Mund reden, werden Sie von den Programmierern garantiert zu Tode verwünscht.
Wenn Sie ein Business-Experte sind, der aus einem Programmierer hervorgegangen ist und über hervorragende technische Fähigkeiten verfügt, dann können Sie sich einfach zurücklehnen und Geld zählen.
1.2 Unternehmensprodukte
Wenn Sie an einem Produkt arbeiten, wie WeChat, QQ, Taobao, World of Warcraft, ZT Online oder Fantasy Westward Journey, werden die Anforderungen tatsächlich von Personen in Ihrem eigenen Unternehmen festgelegt.
Es gibt jetzt einen angesagten Beruf, um diese Anforderungen zu definieren: Produktmanager. Zum Beispiel ist Zhang Xiaolong der Super-Produktmanager von WeChat, und Shi Yuzhu ist der erfahrene Produktmanager von ZT Online.
Produktmanager entwerfen Produkte hauptsächlich auf Basis von Nutzerpsychologie und Nutzererfahrung, damit alle sie gerne nutzen. Gute Produktmanager sind derzeit sehr gefragt und gelten zudem als seltene Talente.
F: Muss ein Produktmanager Technik verstehen?
A: Ja. Am besten ist man vom Programmierer aufgestiegen und kennt die Schwierigkeit von Produktdesign und -umsetzung. Andernfalls, wenn du dich nur um deine eigene Zufriedenheit kümmerst, wirst du von den Programmierern ebenfalls zu Tode verflucht.
2. Design und Entwicklung
2.1 Architekt
Es klingt nach einer sehr beeindruckenden Position, erfordert aber große technische Stärke und eine tiefe technische Erfahrung.
Das Wachstum eines Architekten erfordert Erfahrung, technologische Breite und angemessene Tiefe.
Elegante, flexible und skalierbare Architekturen zu entwerfen, ist die Hauptaufgabe des Architekten.
Man kann nicht einfach nur die neuesten oder angesagtesten Technologien verfolgen; man muss auch die Fähigkeiten des bestehenden Teams und die Reife der Technologien berücksichtigen.
Personalbedarf: ★
Schwierigkeitsindex: ★★★★★
2.2 Web-Backend-Programmierer
Backend-Programmierer implementieren hauptsächlich die Geschäftslogik und stellen APIs bereit, die das Frontend nutzen kann.
Java ist sicherlich am häufigsten verbreitet, aber es gibt auch relativ Nischen-Technologien wie Python, Ruby on Rails usw. Außerdem gibt es PHP, das einfach und unkompliziert ist und häufig von kleinen und mittleren Websites verwendet wird. Für welche auch immer Sie sich entscheiden, es ist nicht allzu schwer zu lernen.
Der Personalbedarf in diesem Bereich ist relativ groß.
Personalbedarf: ★★★★★
Schwierigkeitsindex: ★★★
2.3 Web-Frontend-Programmierer
Hauptsächlich JavaScript, CSS, jQuery usw. In den letzten Jahren wurde der Benutzererfahrung auf Browserseite mehr Aufmerksamkeit geschenkt, und die Browserseite ist zunehmend aufwendiger geworden, daher ist sie auch sehr beliebt.
Personalbedarf: ★★★★★
Schwierigkeitsindex: ★★★
2.4 Mobile-Programmierer
Hauptsächlich Android und iOS. Aufgrund der Entwicklung des mobilen Internets ist dieser Bereich derzeit sehr gefragt, mit riesiger Nachfrage. Relativ gesehen hat iOS eine höhere Einstiegshürde, es gibt weniger Programmierer, aber die Gehälter sind etwas höher.
Personalbedarf: ★★★★
Schwierigkeitsindex: ★★★★
2.5 Systemprogrammierer
Manche Anforderungen sind einfach; manche sind sehr komplex und erfordern die Unterstützung einer massiven Anzahl von Nutzern und massiver Parallelität, wie Taobaos Double 11 und das Greifen von Roten Umschlägen zum Frühlingsfest bei WeChat.
Es erfordert Cloud-Computing, Virtualisierung, verteilte Verarbeitung und Unterstützung für die horizontale Skalierung von Systemen.
Für massive Datenmengen müssen Sie außerdem Big-Data-Analysen durchführen, um wertvolle Informationen zu extrahieren, beispielsweise mit Hadoop.
Weil es die kundenspezifische Entwicklung von Betriebssystemen, Datenbanken und serverseitigen Systemen und sogar den Aufbau eines eigenen Stacks erfordert, haben kleine Unternehmen in der Regel nicht die technische Fähigkeit dafür. Vor allem Unternehmen wie BAT machen das.
Der Personalbedarf ist nicht sehr groß. Für Programmierer ist es notwendig, sich sehr intensiv mit einem Fachgebiet zu beschäftigen, und die Technologie ist relativ stabil.
Personalbedarf: ★★
Schwierigkeitsindex: ★★★★★
2.6 Sicherheit
Im Internetzeitalter können Ihre Informationen gestohlen werden, wenn Sie nicht aufpassen, deshalb wird Sicherheit immer wichtiger.
Daher reicht es nicht aus, nur Funktionen zu implementieren und Leistungsanforderungen zu erfüllen. Viele Unternehmen, insbesondere BAT, legen großen Wert auf Sicherheit.
Diese Richtung erfordert ebenfalls ein tiefgehendes Studium der Technologie.
Personalbedarf: ★★
Schwierigkeitsindex: ★★★★★
3. Testen
Dies erfordert keine sehr hohen technischen Fähigkeiten, aber man braucht dennoch testbezogenes Wissen, die Fähigkeit, Testfälle zu entwerfen, Testdaten vorzubereiten und Tests auszuführen.
Da agile Entwicklung populär ist, wird von Testern auch erwartet, dass sie Entwicklungswissen verstehen oder zumindest einige automatisierte Skripte schreiben können.
Viele Frauen wechseln später in Testpositionen. Ich denke, das liegt hauptsächlich daran, dass Frauen sorgfältiger sind.
Bei IBM sah ich eine sehr hervorragende Testerin: Sie erledigte nicht nur die oben genannte Arbeit brillant, sondern beteiligte sich auch an Design- und Entwicklungsdiskussionen. Sie brachte oft Probleme aus Testperspektive zur Sprache, an die nicht einmal Entwickler gedacht hatten, was enorm dazu beitrug, die Softwarequalität zu verbessern.
4. Datenbankadministrator
Fast alle Projekte erfordern Datenbankunterstützung. Bei großen oder sehr großen Projekten gibt es eine Position namens DBA. Diese Person ist äußerst versiert in Datenbankwissen, verwaltet die Datenbank im Alltag, hilft dem Entwicklungsteam bei der Datenbankgestaltung während der Entwicklung, identifiziert Leistungsengpässe und führt Leistungsoptimierungen durch.
5. Grafikdesign / Dokumentation
Grafikdesigner:Das bedeutet, die Benutzeroberfläche zu verschönern. Normalerweise erstellt der Grafikdesigner zuerst Benutzeroberflächen-Prototypen, alle diskutieren und überarbeiten sie, und nach der Bestätigung erzeugt der Grafikdesigner verschiedene UI-Elemente wie Icons, Schaltflächen usw.
Mittlerweile gibt es bestimmte technische Anforderungen an Grafikdesigner. Sie entwerfen nicht nur Benutzeroberflächen, sondern erstellen auch HTML-Vorlagen. Daher müssen Grafikdesigner HTML, CSS und sogar etwas JavaScript kennen.
Nachdem Programmierer die HTML-Vorlage erhalten haben, fügen sie einfach Business-Code darauf hinzu.
Dokumentationsautor:Bei kleinen Projekten macht das meist jemand nebenbei; bei großen Projekten oder Produkten ist jemand Vollzeit mit dem Schreiben von Dokumentation beschäftigt. 2003 habe ich an einem Projekt für die Shanghai Stock Exchange teilgenommen und ein Word-Dokument gesehen, das von einem speziellen Dokumentationsautor geschrieben wurde. Es war so professionell, so exquisit, dass es vollständig veröffentlichungsreif war.
Ich habe es abgeschrieben und wollte selbst einen Abklatsch anfertigen, aber ich konnte es nicht einmal nach dem Beispiel nachbauen.
6. Projektmanagement
Das Projekt hat bereits begonnen, und eine Gruppe von Leuten – Business-Analysten, Architekten, Entwickler, Tester und so weiter – stürzt sich wie hungrige Wölfe auf das Futter und ist entschlossen, das Projekt zu zerreißen.
Aber wie können so viele Leute zusammenarbeiten? Wie managt man sie? Kann der Zeitplan wie gefordert eingehalten werden? Hier kommt der Projektmanager ins Spiel.
Ein Projektmanager führt, offen gesagt, alle bei der Durchführung des Projekts. Es geht hauptsächlich um den Umgang mit Menschen, die Koordination von Beziehungen in allen Bereichen und darum, dass das Projekt reibungslos vorankommt.
F: Muss ein Projektmanager Technik verstehen?
A: Natürlich. Am besten hat man einen Entwicklungshintergrund; sonst versteht man nicht, wovon diese Programmierer reden. Man bleibt nur an der Oberfläche, kann nicht tief in das Projekt eindringen, und andere respektieren einen nicht. Man wird das Team definitiv nicht gut führen.
7. Betrieb
Wenn Sie Ihr eigenes Produkt entwickeln, stoßen Sie direkt nach Abschluss der Entwicklung sofort auf ein Problem: Wie vermarktet man es?
Im Internetzeitalter ist die Welt fair und der Wettbewerb extrem hart. Eine gute Software, eine App oder eine Website – ohne Operations, egal wie gut Ihre Technik ist, funktioniert es nicht.
Operations bedeutet im Wesentlichen, Wege zu finden, dein Produkt bekannt zu machen und es von Menschen nutzen zu lassen. Es steckt viel Tiefe darin. Zum Beispiel: Wie schreibt man ein Advertorial? Wie vermarktet man auf sozialen Netzwerken, WeChat und Weibo? Wie führt man Statistiken, Analysen und präzises Targeting durch?
In dieser Hinsicht war Xiaomi vor 2014 definitiv ein Vorbild. Lei Juns Sieben-Zeichen-Formel – Fokus, Extrem, Mundpropaganda, Geschwindigkeit – und Li Wanqiangs „Partizipation“ sind allesamt Klassiker.
Gute Talente für Internet-Operations sind extrem selten und natürlich sehr gefragt.
Wenn du dich nicht für Programmierung interessierst, kannst du dir ruhig diese Richtung ansehen.
Nachdem ich so viel über Karriererichtungen gesprochen habe, wirst du feststellen, dass die große Mehrheit ein gewisses Technikverständnis erfordert. Was ich eigentlich sagen will, ist:
Wenn du gerade erst anfängst zu arbeiten, kannst du ruhig als Programmierer beginnen und dann nach und nach eine Richtung suchen, die dich interessiert.
Von: Code Farmer Rising (WeChat-ID: coderising)
Autor: Liu Xin