Soll ich zu Data Science gehen?

Der Rat, den ich immer gebe, wenn mich jemand fragt, wo ich anfangen soll, Data Science zu betreiben. Besser Softwareentwickler werden.



Dies ist meine persönliche und optionale Meinung. Gegenargumente in den Kommentaren sind willkommen.

Der Beruf eines Spezialisten ist jetzt im Trend. Ich behaupte nicht, dass die Wissenschaft der Daten zu den angesagtesten Tätigkeitsbereichen des 21. Jahrhunderts gehören wird, aber dies entwertet zu Unrecht einen anderen nützlichen und hochbezahlten Beruf - einen Softwareentwickler.

Oft erhalte ich Nachrichten von Hochschulabsolventen und nur von Personen, die ihren Beruf wechseln und fragen, wie sie in die Datenwissenschaft einsteigen sollen. Stattdessen rate ich ihnen, einfach in die IT zu gehen.

Mit Erfahrung in beiden Bereichen werde ich versuchen, Sie davon zu überzeugen, die richtige Wahl zu treffen.
EDISON Software - Webentwicklung
EDISON , -.


. , , , — .

, software engineering data science solve problems! ;-)

1. -


In der Softwareentwicklung gibt es um eine Größenordnung mehr Arbeitsplätze als in der Datenwissenschaft.

Hier einige Screenshots nach einer Suche in Google nach " Datenexperte " (" Datenwissenschaftler ") und " Softwareentwicklung " (" Softwareentwickler haben ").





7.616 wissenschaftliche Stellen im Vergleich zu 53.8893 in der Softwareentwicklung. Dies gilt auch für die USA und andere Länder.

Wenn Sie glauben, dass Glassdoor (ein Webdienst, mit dem Sie die Höhe der Gehälter überwachen und Bewertungen von Mitarbeitern über Unternehmen erhalten können), verdienen Datenwissenschaftler mehr Geld. Meine unbestätigte Hypothese lautet jedoch, dass Datenleerstände hauptsächlich auf sehr hochqualifizierte Mitarbeiter ausgerichtet sind.





Obwohl, wer argumentiert, wenn Ihnen eine Million in OpenAI angeboten wird - stimmen Sie ohne zu zögern zu.

2. Es besteht kein Konsens darüber, dass dies im Allgemeinen eine „Datenwissenschaft“ ist.


Die Unternehmensleitung hat oft eine vage Vorstellung davon, was der Ausdruck „Data Science“ bedeutet. Angesichts der spezifischen Einschränkungen im Unternehmen, die darin bestehen, dass es sich ein Unternehmen nicht immer leisten kann, die Rollenstruktur strikt einzuhalten, ist dies auch leicht möglich.

Dies bedeutet, dass die Verantwortlichkeiten eines „Datenexperten“ von Unternehmen zu Unternehmen sehr unterschiedlich sind.


Eine bedingte Skizze, die Sie möglicherweise abhängig von Ihren Geschäftsaufgaben benötigen. Im Spektrum zwischen der Lösung von Geschäftsproblemen und Forschung gibt es Berufe wie Software Engineer ⇒ Data Engineer ⇒ Machine Learning Engineer ⇒ Data Scientist

Obwohl man sich den idealen Rollenbereich zwischen einem Software Engineer und einem Datenspezialisten vorstellen kann, ist es unwahrscheinlich, dass dies im wirklichen Leben in der Referenz enthalten ist bilden. Dies gilt insbesondere für Startups, die den Skalierungsprozess durchlaufen, wenn sie gerade die Infrastruktur aufbauen.

Infolgedessen arbeiten die eingestellten Kandidaten an den aktuellen Problemen des Unternehmens und erfüllen nicht die Expertenrolle, für die sie im Allgemeinen eingestellt wurden.


Ich habe Zeugnisse von meinen Kollegen (Datenwissenschaftlern), dass sie als Softwareentwickler Backend-Code schreiben. Ich kenne andere „Datenforscher“, denen es gelungen ist, die finanziellen Probleme ihrer Unternehmen zu lösen.

Dies kann stark im Gegensatz zu Ihren Erwartungen stehen, insbesondere wenn sie unter dem Einfluss von Kaggle-Wettbewerben entstanden sind.

3. Die Einsamkeit des Langstreckenläufers nach den Daten


Die meisten Unternehmen benötigen einfach nicht so viele Datenexperten wie Softwareentwickler. Andere Unternehmen haben bisher nur ihren ersten (und vorerst einzigen) Datenspezialisten eingestellt.

Aus diesem Grund arbeiten viele Datenforscher alleine, auch wenn sie mit den Entwicklern am selben Tisch sitzen.

Dies kann es schwierig machen, Feedback und eine zweite Meinung zu erhalten. Softwareentwickler verstehen die prädiktive Modellierung entweder überhaupt nicht oder sind zu beschäftigt mit völlig anderen Problemen.

Im Gegenteil, einer der Vorteile des Softwareentwicklungsteams ist die Fähigkeit, Kollegen immer zu sagen: „Ich glaube, dass Sie ABC in XYZ implementieren müssen. Ihre Meinung? ".

Seien Sie also mental darauf vorbereitet, Probleme mit sich selbst oder ... mit einer Gummiente zu besprechen.

4. Data Science hat einen ausgeprägten Forschungscharakter


Seien Sie auf unangenehme Gespräche mit dem Management zu dem Thema vorbereitet, dass das, woran Sie 2 Wochen lang gearbeitet haben, nicht verwendet wird.

Die Arbeit an lösbaren und unlösbaren Problemen ist einer der grundlegenden Unterschiede zwischen Softwareentwicklung und KI.

Angesichts der Fehler und Einschränkungen, die mit der Softwareentwicklung verbunden sind, haben Sie vor Beginn zunächst eine Vorstellung davon, was machbar ist und was nicht. Sie können nicht dasselbe über maschinelles Lernen sagen. Ob sich das Modell als effektiv herausstellen wird, ist bis zu seiner Implementierung nicht bekannt.

5. Das Geschäft ist noch nicht bereit für AI


Selbst in einer Zeit, in der fast jedes große Unternehmen künstliche Intelligenz einführt, verfügen die meisten von ihnen nicht über die richtige Infrastruktur, um dies zu unterstützen.

Einer meiner Freunde, der Leiter der Abteilung Data Science in einem sich intensiv entwickelnden Startup, teilte kürzlich seine Startup-Weisheit mit einem Glas Kaffee:

Zuerst identifizieren Sie das Problem, bauen dann die Infrastruktur auf und ziehen erst dann Datenexperten an. Und das alles sehr schnell. (Nicht wörtlich)

Eine andere Freundin von mir, eine Datenwissenschaftlerin in einem bekannten Unternehmen, beklagte sich kürzlich in einem Gespräch, dass sie gezwungen sei, ein Modell für künstliche Intelligenz auf Big Data auf ihrem Laptop und nicht in der Cloud zu trainieren.

Wenn einige spezifische Probleme an dem neuen Ort, an dem Sie gekommen sind, nicht gelöst wurden oder das Unternehmen nicht bereit ist, Data Science in seine Prozesse einzuführen, machen Sie sich bereit, an der Grenze seiner Stärke etwas Wertvolles zu schaffen.

6. Software Engineering vermittelt allgemeine Fähigkeiten


Ein Junior Software Engineer zu werden ist wie ein MBA in Technologie. Sie werden ein bisschen von allem lernen.

Sie lernen Datenbanken, Cloud-Technologie, Bereitstellung, Sicherheit und das Schreiben von sauberem Code kennen.

Sie lernen, wie Sie die Software-Assembly verwalten, indem Sie Ihren Scrum-Leiter, Senior-Entwickler oder Projektmanager beobachten. Sie erhalten Mentoring.

Wenn Sie sich in einem Unternehmen mit einem etablierten Team von Ingenieuren befinden, ist fast garantiert, dass Sie Ihre Fähigkeiten schnell verbessern und maskierte Gesamterfahrungen sammeln.

7. Softwareentwicklung als Aktivität ist viel flexibler.


Mit einer ganzheitlicheren Erfahrung mit Technologie bietet die Softwareentwicklung mehr Optionen, wenn Sie entscheiden, dass es Zeit ist, etwas zu ändern.

DevOps, Sicherheit, Schnittstelle, Backend, verteilte Systeme, Business Intelligence, Data Engineering, Data Science ...

Ich kenne viele Entwickler, die von der Softwareentwicklung zur Data Science gewechselt sind. Wenn Sie sich Stellenbeschreibungen für Data Science ansehen, werden Sie sofort feststellen, dass sie viele Fähigkeiten erfordern, die durch die Softwareentwicklung generiert werden.


Wenn Sie E2E-Projekte erstellen können, können Sie auch mehr als nur ein Modell für den Kaggle-Wettbewerb erstellen. Sie können dieses Modell übernehmen, erstellen, Autorisierung und elektronische Zahlungen konfigurieren und dann Geld verdienen. Dies ist Ihr eigenes Startup.

Ich werde niemals sagen, dass Data Science außerhalb ihres Anwendungsbereichs nutzlos ist. Entscheidungen auf der Grundlage von Big Data zu treffen, ist in unserer Zeit einfach ein Killer. Dies wird aber auch dazu führen, dass datenwissenschaftliche Methoden in anderen Arbeiten immer mehr nachgefragt werden, da sich das Geschäft immer mehr auf Big Data konzentriert.

8. Maschinelles Lernen wird ein gängiges Werkzeug für Softwareentwickler.


Wenn KI bequemer und benutzerfreundlicher wird, werden Softwareentwickler damit beginnen, ihre Probleme zu lösen.

Ich kann (am Nachmittag) einem Entwickler beibringen, sklearn-Klassifikatoren zu erstellen. Dies bedeutet nicht, dass mein Padawan das nächste AlphaGo erstellen wird, aber es gibt ihm eine Alternative zur fest codierten bedingten Logik, die auf Benutzereingaben basiert.

Big-Data-Spezialisten verfügen über spezielle Kenntnisse wie Statistiken und haben eine besondere Vorstellung davon, wie Modelle funktionieren. DevOps- und Sicherheitsingenieure verfügen jedoch auch über ihr eigenes Fachwissen.

Ich würde sagen, dass es hier nicht darum geht, wie sich Fähigkeiten unterscheiden, sondern dass einige seltener und andere häufiger eingesetzt werden. Ein erfahrener Ingenieur wechselt schneller zwischen Spezialisierungen um Größenordnungen, während ein Anfänger von Grund auf lernt.

Obwohl ich nicht denke, dass wir eine vollständige Verschmelzung von Data Science mit Softwareentwicklung sehen werden. Vielmehr wird Data Science zu einem weiteren Fachgebiet in der Softwareentwicklung.

9. AI wird in absehbarer Zeit keine Softwareentwickler ersetzen


Egal wie dumm es jetzt klingt, 2014 begann ich mit der Entwicklung von Software, aus Angst, dass KI jede andere Arbeit überflüssig machen würde.


Und doch sind wir der technischen Zukunft seitdem nicht wirklich nahe gekommen. Die Einführung von Technologien erfolgt nur langsam, und wir sind weiter von einer starken KI entfernt, als Sie sich vorstellen können.

Im Vergleich zu anderen Berufen ist maschinelles Lernen noch weiter von der Automatisierung der Softwareentwicklung entfernt. Obwohl wir Startups haben, die coole Produkte erstellen, wie z. B. Code-Vervollständigung mit AI-Unterstützung, ist die Codierung selbst keine echte Aufgabe. Die vorliegende Arbeit besteht darin, Probleme mithilfe von Technologie zu lösen.

Im Zeitalter der Prä-Singularität wird die Fähigkeit, Programme zu schreiben, noch lange Zeit eine wertvolle und hochbezahlte Fähigkeit bleiben.

Fazit


Erstens ist dies alles in erster Linie meine IMHO. Zweitens ist mir bewusst, dass ich Datenwissenschaftler, Ingenieure für maschinelles Lernen und Entwickler künstlicher Intelligenz in einem Haufen zusammengefasst habe - und ich verstehe den Unterschied zwischen ihnen perfekt. Trotzdem lohnt es sich, diese Argumente sorgfältig zu prüfen, denn dies ist Ihr Leben und Ihre Karriere.

Nimm das, was ich gesagt habe, nicht zu ernst. Ich würde es vorziehen, wenn Sie dieses Problem untersuchen und Ihre eigene Entscheidung treffen. Dies ist Teil der Arbeit eines jeden Datenexperten im Allgemeinen :)

Am Ende bezahlen sie uns hauptsächlich für die Lösung von Problemen.

Übersetzungen im Edison Blog:


All Articles