Wie hat Mark Zuckerberg, Jeff Bezos, Larry Page das Programmieren gelernt?

4 Antworten

Nun erstmal sollte man sich bewusst machen, dass keiner von denen ein Genie oder eine Größe in der Softwareentwicklung war. Sie hatten einfach Ideen oder haben diese adaptiert und das mit einem guten Timing, einer Portion Glück und haben schnell die richtigen Leute dazu geholt, damit dieser Erfolg möglich war.

Die Leute selbst waren alle an der Uni. Das war im Falle von Mark Zuckerberg und Larry Page auch wichtig. Dort entstanden die Ideen, dort wurden erste Versionen erstellt, dort haben sie Kontakte geknüpft und Freunde gehabt mit denen sie das auf die Beine gestellt haben.

Das soziale Umfeld war hier wohl wichtiger als das Gelehrte oder technische Möglichkeiten.

Ob du das nun anhand von Kursen im Web lernst, wie freeCodeCamp oder ähnliche, über Youtube Videos, Bücher oder innerhalb einer Ausbildung wie den Fachinformatiker für Anwendungsentwicklung ist da erstmal was das Programmieren angeht egal. Da solltest du das nehmen, was dich am ehesten anspricht und womit du am besten lernen kannst.

Ansonsten für soziale Netzwerke sind natürlich die Websprachen wichtig, sprich im Frontend erstmal HTML, CSS und JavaScript, dort kommen dann vermutlich auch Frameworks und Libraries für hinzu, sei es Bootstrap, React oder Angular.

Dann kommt noch das Backend, quasi die Serverseite. Hier ist mit node.js auch etwas in Form von JavaScript möglich aber auch PHP hat noch eine riesige Verbreitung und vermutlich die meisten Tutorials, es lassen sich aber auch viele weitere Sprachen verwenden. Und auch hier haben wir wieder Frameworks wie Laravel und genauso wie bei JavaScript entsprechendes Tooling, Paketverwaltungen usw. sei es nun Composer, npm, etwas wie Webpack oder gulp.

Weiter ist vor allem die Datenbank wichtig für ein soziales Netzwerk. Meist haben wir eine normale relationale SQL Datenbank, wo Sachen persistent gespeichert werden. Davor gibt es für die Geschwindigkeit i.d.R. entsprechendes Caching in einem Key/Value Store, sei es nun memcache(d), Redis oder ähnliches.

Bei Größen wie Facebook und co. kommt auch noch viel Architektur dazu. Loadbalancing, Replicas, Backupserver, CDNs und was weiß ich.

Natürlich brauch es auch weiteres Wissen. Das alles will ja geplant sein, sicher brauch es auf den Servern auch ein paar Cronjobs, der Code kommt in eine Versionsverwaltung wie GIT.

In deine Entwicklungsumgebungen musst du dich natürlich auch einarbeiten. Ggf. sind das für das Frontend, das Backend und SQL verschiedene. Wenn wir dann noch Videos und Sounds haben, dann kommt natürlich hier noch etwas zu zu den Übertragungsmedien und Streams.

Und auch UI und UX Design sind ein wichtiger Aspekt, genauso wie Sicherheit und Datenschutz, gerade in einem sozialen Netzwerk.

Und was flüssig programmieren können angeht, flüssig ist das nie. Am Anfang steht ein Problem, meist ein sehr großes. Was in seine Teilprobleme zerlegt wird, an die man sich langsam ranarbeitet. Viel kommt auch erst mit Erfahrung. Gerade größere Projekte und mit anderen zusammenarbeiten muss man lernen. Hier wird man ebenfalls viele Fehler machen, kaum eine Codebase fängt sauber an und bleibt es. Du wirst Sachen wie Legacy Code kennen lernen, Refactoring, Test Driven Development etc. pp.

Also wenn dich das Ganze wirklich interessiert, ich persönlich würde heute wohl mit freeCodeCamp anfangen. Erstmal die Basics zu HTML, CSS und dann JavaScript.

Danach würde ich mich wohl an PHP und MariaDB machen, ist kompatibel zu MySQL, jedoch komplett frei, während MySQL immer stärker in die kommerzielle Richtung geht mit Oracle.

Bis du die Sachen drauf hast bist du auch alt genug für eine Ausbildung oder ein Studium. Da bietet sich dann entsprechend der Fachinformatiker für Anwendungsentwicklung an oder ein Informatikstudium, wobei du hier wenig Praxis lernen wirst und dir die nebenbei beibringen musst, da das Studium eher Mathematik und Theorie ist.

Weiter solltest du dir bewusst sein das keiner dieser Leute, auch nicht alle zusammen ein soziales Netzwerk der Größe und des Umfangs erstellen könnten, wie wir sie heute kennen. Vermutlich nicht einmal in hunderten oder tausenden Jahren. Das sind mittlerweile riesige Firmen mit tausenden von Mitarbeitern, die zum Großteil viele Jahre Berufserfahrung haben und zu den besten ihres Bereiches gehören und da gibt es Spezialisten für die jeweiligen Bereiche und keinen der alles können muss, denn dafür ist die Lebzeit schlicht viel zu kurz.

Woher ich das weiß:Berufserfahrung – Softwareentwickler/Projektleiter seit 2012

Mark Zuckerberg

An der Harvard University

Jeff Bezos

An der Princeton University

Larry Page

An der Stanford University

Erkennst du ein Muster? ;)

Um "Social Networks" zu programmieren, sollte man fit in der Webentwicklung sein, das heißt:

  • HTML
  • CSS (und dann LESS/SASS)
  • JavaScript ( + Frameworks)
  • irgendwas im Backend: PHP, Python + Django, Java, C#, JavaScript + node.js ...
  • irgendwas Datenbankmäßiges, z.B. MySQL

mrhashpipeotto  30.12.2015, 19:16

wichtig sind auch erfahrungen mit serversysteme inkl (netzwerk-) protokolle (linux, http,tcp, ssl usw... ) und alles was dazu gehört 

1

Es gibt gute Bücher für Kinder. Die alten Bücher über alte Sprachen sind veraltet. Da lernst du nichts sinnvolles. Wenn du dich reinhängen willst ist im Internet genügend zu finden. Übrigens sprechen alle perfekt englisch. Vergiss nicht auch das zu lernen.

Damals wurde noch mit Basic gelernt, das war fast das einzige was es gab und das einfachste. Mittlerweile musst du für Netzwerke, Datenbanken anlegen (MySQL), HTML/HTML5, und sowas kann mehrere Jahre dauern... Dazu ist Facebook ursprünglich nur ein Netzwerk für eine Uni gewesen. Daran haben mehrere Leute mitgearbeitet.