Database
 sql >> Datenbank >  >> RDS >> Database

Anatomie einer Rolle in der Softwareentwicklung:Data Scientist

Als ich vor zwölf Jahren die ersten Artikel für „Cracking the Code:Breaking Down the Software Development Roles“ schrieb, traf ich eine bewusste und vielleicht umstrittene Entscheidung, den Datenbankadministrator oder einen Datenbankarchitekten nicht als Teil der Rollen aufzunehmen. Die Entscheidung wurde getroffen, weil es nur wenige Organisationen gab, die sich mit dem Datenumfang befassten, der diese dedizierte Rolle im Softwareentwicklungsprozess erforderte. Der Lösungsarchitekt könnte sich um die Notwendigkeit der Organisation kümmern, die Datenstruktur als Teil ihrer Gesamtrolle zu entwerfen. Allerdings ist die Welt der Daten seitdem größer geworden.

Große Daten

Heute sind wir mit mehr Volumen, größerer Geschwindigkeit und dynamischer Vielfalt der Datenquellen konfrontiert, die wir verarbeiten. Wir sprechen nicht von den typischen relationalen Datenbanken, die seit Jahrzehnten beliebt sind. Die Erweiterung von Daten erfordert eine Reihe von Techniken und Fähigkeiten, die sich von historischen Herangehensweisen an Daten unterscheiden, die wir bisher verwendet haben.

Multithreading unserer Datenverarbeitung ist eine Verbesserung der Singlethreading-Ansätze zur Datenverarbeitung, die die Datenverarbeitung in den 1980er Jahren populär gemacht haben; Aber selbst diese Ansätze, die auf einem einzelnen Computer mit mehreren Ausführungs-Threads beruhen, brechen zusammen, wenn die zum Extrahieren von Bedeutung erforderliche Verarbeitungsmenge die Kapazität einer einzelnen Maschine übersteigt.

Der Aufstieg von Service-based Computing

Im Jahr 1999 konnten Benutzer zu Hause ihre freien Rechenzyklen auf ihren Computern für die Suche nach außerirdischer Intelligenz durch das Projekt [email protected] spenden, das von der UC Berkeley durchgeführt wurde. Dies war nicht der erste Einsatz von weit verteiltem Computing oder Grid-Computing, aber es ist das Projekt, das die Fantasie von Internetnutzern auf der ganzen Welt anregte. Plötzlich hatten sie die Möglichkeit, diejenigen zu sein, die „ET“ fanden. Während der Konstruktion verteilte das Projekt riesige Datenmengen zur Verarbeitung an viele Computer, die Berechnungen an den Daten durchführten, um zu sehen, ob es interessante Bits gab, die wahrscheinlich nicht nur Hintergrundrauschen waren. [email protected] war nur eines der Distributed-Computing-Projekte, die das Bewusstsein für die Art von Problemen schärften, bei denen ein einzelner Computer nicht ausreichen würde.

IBM, Microsoft und andere bieten jetzt Computing- und maschinelle Lerndienste an, um Organisationen dabei zu helfen, mit den von ihnen erfassten Daten umzugehen und sie zu interpretieren, sodass sie keine Armee engagierter Freiwilliger mobilisieren müssen. Die Plattformen zielen darauf ab, die Rechenleistung und das maschinelle Lernen bereitzustellen, die erforderlich sind, um die in den Datenmengen verborgenen Informationen zu extrahieren. Anstatt dass Unternehmen ihre eigenen Rechenzentren mit dedizierten Rechenressourcen aufbauen und bereitstellen müssen, können die Ressourcen zum Umwandeln von Daten in Informationen und Bedeutung gemietet werden.

Es geht nicht um die Daten, es geht um die Erkenntnisse

Auch wenn die Menge an Daten, die wir erfassen, atemberaubend ist, sind es nicht die Daten, die interessant sind. Interessant ist, was die Daten Ihnen sagen können – wenn Sie in der Lage sind, sie zu analysieren. Die einzelnen Messwerte zur Leistung eines Motors sind nicht wichtig, aber die Fähigkeit vorherzusagen, wann der Motor gewartet werden muss oder wahrscheinlich ausfällt – das ist wichtig.

Datenwissenschaftler konzentrieren sich nicht auf die Datenspeicherung, wie es die Datenarchitekten und Datenbankadministratoren waren. Stattdessen konzentrieren sie sich auf die Umwandlung von Daten in Informationen und letztendlich in Erkenntnisse, die das Unternehmen nutzen kann, um bessere Entscheidungen zu treffen. Das bedeutet, nach neuen Ansätzen zu suchen, um die Daten so zu analysieren, dass interessante Einblicke gewonnen werden, die das Unternehmen zu seinem Vorteil nutzen kann.

Auf Sets und Statistiken stehen

Der traditionelle Softwareentwicklungsprofi ist mit einem prozeduralen Ansatz zur Lösung von Problemen vertraut. Entwickler, Leads und Architekten sind in den Methoden und Vorteilen der prozeduralen Konstruktion gut geschult. Prozedurale Ansätze sind wie die Automatisierung eines unglaublich pflichtbewussten, aber nicht originellen Arbeiters. Dem Computer wird mitgeteilt, welche Schritte (Prozedur) in welcher Reihenfolge und unter welchen Bedingungen er die Operation wiederholen oder auf mehrere Pfade aufteilen soll. Allerdings arbeiten Data Scientists nicht nur mit prozeduralen Ansätzen, sondern auch mit mengenbasierter Logik. Der Denkstil unterscheidet sich, weil er nach Lücken und Schnittpunkten sucht. Es funktioniert auf der Grundlage von Gleichheits- und Ungleichheitsbeziehungen zwischen verschiedenen Informationssätzen.

Auch wenn einige Entwickler bei ihrer Arbeit auf mengenbasierte Logik gestoßen sind, müssen Data Scientists sicher und fließend in der Lage sein, Mengen von Informationen zu manipulieren.

Darüber hinaus benötigt der Datenwissenschaftler im Gegensatz zu anderen Rollen im Lebenszyklus der Softwareentwicklung spezielle Fähigkeiten außerhalb des Bereichs der Softwareentwicklung. Da Data Scientists nach Erkenntnissen über Beziehungen zwischen verschiedenen Datenbits suchen, benötigen sie eine solide statistische Grundlage, um statistische Werte wie Korrelationen suchen und generieren zu können, um die von ihnen gestellten Fragen zu beantworten und ungenaue Beziehungen zwischen verschiedenen Datensätzen zu finden.

Wohin geht die Position überhaupt?

Das Datenwachstum hat den Wendepunkt erreicht. Ob es sich um die Analyse sozialer Netzwerke, den Klickverlauf oder Kaufdaten handelt, Unternehmen sehen in den Daten, die in ihren Datenbanken gespeichert sind, einen echten geschäftlichen Wert, und Data Scientists sind der Schlüssel, um das Potenzial dieser Daten freizusetzen.

Um diesen Wert zu erfassen, müssen die Mitarbeiter eingestellt werden, die über die Fähigkeiten verfügen, die Verarbeitungsalgorithmen mit den Daten zu verbinden und die Rechenleistung zu nutzen, um diese Ergebnisse zu erzielen.

Das Gute, das Schlechte und das Hässliche

Die Datenwissenschaft explodiert gerade mit dem Aufkommen von Geräten für das Internet der Dinge, die alle Arten von Daten von allen möglichen Orten aufzeichnen. Das bedeutet große Chancen – und mehr als ein paar Herausforderungen. Hier sind nur einige dieser Herausforderungen:

  • Gut: Es gibt großartige Möglichkeiten, neue Wege zu finden, Erkenntnisse aus Daten zu extrahieren.
  • Gut: Rechen- und Speicherressourcen können in großen Mengen erworben werden.
  • Gut: Datenwissenschaftler sind stark gefragt und werden es wahrscheinlich noch einige Zeit bleiben.
  • Schlecht: Da sich Algorithmen und Ansätze weiterentwickeln, werden Sie sich immer veraltet fühlen.
  • Schlecht: Alle Daten müssen bereinigt werden, und ein erheblicher Teil der Zeit wird für diese Arbeit aufgewendet.
  • Hässlich: Versuch und Irrtum bedeuten viele „Misserfolge“ und wenige Triumphe.

Fazit

Die Rolle des Datenwissenschaftlers hat einen schnell wachsenden Bedarf und andere Fähigkeiten. Wenn Ihnen der Statistikunterricht gefallen hat und Sie gerne Muster finden, die andere nicht sehen können, ist dies vielleicht das Richtige für Sie.