Die besten Online Communities für Entwickler
Eine technologische Community ist einer der aufregendsten Orte für einen Softwareentwickler. Sie bietet ihm die Möglichkeit auf Entfernung zu arbeiten und mit anderen zu interagieren, an den eigenen Programmier-Skills zu feilen und einen ganzheitlichen Blick auf die Thematik zu bekommen. Egal, ob du ein Nachwuchs-Softwareentwickler bist oder dich einfach für Technologie begeisterst – nachfolgend stellen wir dir die besten online Softwareentwicklungs-Communities vor, denen du dich anschließen kannst. Sie werden dir dabei helfen deine technischen Fähigkeiten und Kenntnisse so zu verfeinern, dass du schließlich zu einem Geek mit Weltklasse-Talent wirst!
Stack Overflow
Ins Deutsche übersetzt heißt Stack Overflow so viel wie “Stapelüberlauf”. Es handelt sich dabei um eine im August 2008 gegründete Internetplattform, welche mittlerweile 8 Millionen Mitglieder zählt. Hier können registrierte User Fragen zu den Themenbereichen Softwareentwicklung stellen und erhalten darauf Antworten von anderen Nutzern. Sowohl die Fragen als auch die Antworten sind für jedermann auch ohne Anmeldung sichtbar. Der von den Usern eingestellte Content unterliegt der Creative-Commons-Lizenz “Namensnennung-Weitergabe unter gleichen Bedingungen”. Stack Overflow ist nicht bloß der Ursprung, sondern auch die größte Website des Stack-Exchange-Networks, welches inzwischen zahlreiche Q-A-Seiten enthält.
Es besteht die Möglichkeit die gegebenen Antworten der Nutzer zu bewerten und sich diese auch nach ihrer Bewertung sortiert anzusehen. Außerdem können die Fragesteller die jeweiligen Antworten als “beste Lösung” für das eigene Problem kennzeichnen. Diejenigen Nutzer, deren Antwort als gut bewertet wurde, bekommen Ansehenspunkte bzw. reputation points.
Geht man nach den gesetzten Tags, betreffen die bislang 15 Millionen Fragen und 23 Millionen Antworten hauptsächlich die Themen Java, JavaScript, PHP sowie C#.
Stack Exchange
Als Netzwerk von Frage-Websites, deckt Stack Exchange unterschiedliche Fachthemen ab. Auch hier geht es darum, dass Nutzer der Community Fragen zu bestimmten Problemen stellen können, die dann im Idealfall von anderen Usern zufriedenstellend gelöst werden. Die populärste Website innerhalb von Stack Exchange ist die oben bereits besprochene Community Stack Overflow.
Gegründet wurde Stack Exchange 2008 von Jeff Atwood und Joel Spolsky. Ein Jahr später stellten die beiden die Stack Exchange 1.0 platform auf die Beine, ein Tool, mit dessen Hilfe Drittanbieter ähnliche Seiten wie Stack Overflow erstellen konnten. Zunächst fand diese Form des White Labels nicht wirklich Anklang. Erst als Stack Exchange 2.0 – die Themen für neue Fachseiten wurden mithilfe von Algorithmen und Userkontakt gesammelt – im November 2010 veröffentlicht wurde, stellte sich allmählich der Erfolg ein. Vorerst testete Stack Exchange das Konzept mit den Seiten writing, physics und maths und ging danach mit 33 verschiedenen Websites online.
Stack Exchange zeichnet sich insbesondere durch sein Belohnungssystem aus. Diejenigen Benutzer, die Fragen stellen, diese beantworten und dafür auch gute Bewertungen von anderen Usern erhalten oder gar für ihre Antworten ausgezeichnet werden, erhalten interne Belohnungspunkte, womit auch ihre Reputation in der Community steigt. Doch damit ist ihre Stellung noch lange nicht gesichert, denn durch negative Bewertungen können sie genauso an Reputation einbüßen. Erreicht der Benutzer eine bestimmte Punkteanzahl, erhält er sog. awards und privilege. Während die Auszeichnung mit einem “award” eher eine kosmetische Ehrung im Profil darstellt, profitiert der User von zusätzlichen Seitenrechten, wenn er mit den “privileges” ausgezeichnet wird. Damit erhält er zusätzliche Editier-, Schutz-, Kommentarrechte usw.
GitHub
Bei GitHub handelt es sich um einen Onlinedienst, der auf seinen Servern Software-Entwicklungsprojekte bereitstellt. Entwickelt wurde GitHub von Scott Chacon, PJ Hyett, Chris Wanstrath und Tom Preston-Werner mittels Erlang und Ruby on Rails. Das Projekt startete im Februar 2008.
2018 kaufte Microsoft GitHub für umgerechnet 6,4 Milliarden Euro. Die Übernahme wurde von Software-Entwicklern sehr kritisiert, da man eine ähnliche negative Entwicklung wie beim Netzwerk LinkedIn befürchtete, welches zum Jahresende 2016 von Microsoft übernommen wurde. Von der EU-Kommission hingegen wurde die Übernahme ohne Auflagen genehmigt.
Auf GitHub steht der Nutzer mit seinen Quelltext-Datenbanken (Repositories) im Zentrum, nicht aber das Projekt als eine Quellcodesammlung. Dies unterscheidet GitHub von anderen Dienstleistern wie etwa SourceForge. Besonders propagiert wird das Erstellen sowie Zusammenführen von den “forks”, also Abspaltungen. Letztere vereinfachen die Mitentwicklung bei Fremdprojekten: Das Repository muss zunächst abgespaltet werden, um einen Beitrag beizusteuern. Danach werden die Änderungen, die zu übernehmen sind, hinzugefügt und der ursprüngliche Besitzer wird gebeten die Änderungen zu übernehmen (pull request). Da sämtliche Schritte ebenso über die Weboberfläche durchgeführt werden können, ist im Vergleich zu anderen Entwicklerplattformen die Handhabung von GitHub speziell für Anfänger simpel.
Nach kostenloser Registrierung können öffentlich einsehbare, aber auch private bzw. nicht-öffentliche Repositories erstellt werden.
Das Design von GitHub blieb über Jahre gleich, was sich jedoch im Juni 2013 änderte. In der neuen Oberfläche tritt der Software-Quelltext stärker in den Vordergrund. Zu den wichtigen Neuerungen gehört ebenfalls eine visualisierte Statistik, aus welcher die diversen verwendeten Programmiersprachen sowie ihr Anteil am Projekt ersichtlich sind.
Gemessen an der Anzahl der Commits oder auch Schreibzugriffe war 2011 GitHub bei Open-Source-Software der beliebteste Dienst. GitHub zählt über 10 Millionen registrierte User und verwaltet, sage und schreibe, 26,3 Millionen Repositories. Seit Mitte 2012 können auf GitHub auch komplette Webseiten bereitgestellt werden.
Google Developers
Vormals unter dem Namen Google Code bekannt, ist Google Developers eine Bündelung aus mehreren Online-Diensten der Google LLC für Programmierschnittstellen, Softwareentwicklungswerkzeuge sowie technische Ressourcen. Die Community beinhaltet ebenso Dokus für Google Entwicklungstools und API wie auch Blogs für Google Developer-Produkte und Gruppen, in denen sich die Nutzer austauschen können.
Google bietet Entwicklern Programmierschnittstellen für die meisten Endbenutzerprodukte wie etwa YouTube, G Suite oder Google Maps. Zudem offeriert die Plattform ebenfalls folgende Produkte direkt für Entwickler.
Die Google App Engine ist ein Dienst, mit welchem Webanwendungen gehostet werden können. Sie unterstützt diverse Programmiersprachen und verfügt über eine Java-Laufzeitumgebung, mit welcher Anwendungen unter Benutzung bekannter Java-Technologien wie den Java servlets, JVM, der Java Programmiersprache sowie jeder anderen Sprache, welche einen JVM-basierenden Interpreter oder Compiler nutzt, erstellt werden. Außerdem wird eine dedizierte Python-Laufzeitumgebung samt Standardbibliothek und Interpreter zur Verfügung gestellt.
Ferner ist die Erstellung von AJAX-Webanwendungen mittels Java mit dem Google Web Toolkit möglich. Das Toolkit unterstützt das Debugging sowie die Client-Server-Entwicklung in der Java IDE. Im darauffolgenden Deployment-Schritt wird die funktionierende Java-Anwendung vom Toolkit in ein JavaScript-Äquivalent übersetzt.
Die Versionsverwaltung für Open Source Anwendungen geschieht über Google Code. Der Dienst kann für sämtliche OSI-genehmigte Open Source Projekte genutzt werden. Bis zu 25 Projekte können von einer Person erstellt werden. Darüber hinaus gibt es Beschränkungen hinsichtlich der Anzahl an Projekten, die an einem Tag erstellt werden dürfen, die Projektgröße ist standardmäßig auf 200 MB begrenzt, kann allerdings bis höchstens 5 GB aufgestockt werden.
Google Plugin for Eclipse, kurz GPE, enthält eine Reihe von Entwicklertools für Java-Entwickler zur Erstellung und Verteilung von Cloud-Anwendungen. GPE hilft Entwicklern bei der Erstellung komplexer Ajax-Anwendungen mithilfe des Google Web Toolkits. Die Optimierung der Geschwindigkeit erfolgt durch den Speed Tracer. Zudem gibt es eine direkte Schnittstelle zur App Engine.
Für diejenigen Entwickler, die an Googles Entwicklungstechniken interessiert sind, gibt es die Google Developer Groups (GDGs). Ein GDG kann sich aus mehreren Klassen zusammensetzen: das können einige wenige Entwickler sein, die zusammentreffen, oder aber auch sog. “Tech talks” sowie große Hackathons. Mittlerweile gibt es weltweit über 600 GDGs.
Developers Facebook
Diese Plattform ist der von Google Developers sehr ähnlich. Developers Facebook erlaubt den Bau von Apps unter Benutzung der Plattform-eigenen API und macht sogar die Implementierung dieser Apps auf Facebook möglich. Die Softwareentwickler können hier zusammenarbeiten, wodurch sich natürlich ihre eigenen Softwareentwicklungs-Skills entscheidend verbessern können.
Developers Facebook bietet den Entwicklern zahlreiche Tools: Darunter den Graph API Explorer, mit welchem API-Aufrufe getestet, erstellt und authentifiziert und Antworten debugged werden können. Oder etwa den Sharing Debugger, mit dessen Hilfe man sich ansehen kann, wie ein Inhalt aussehen wird, wenn er auf Facebook geteilt wird. Mit dem Access Token Debugger können detaillierte Informationen zu einem Zugriffsschlüssel angesehen werden. Darüber hinaus werden Entwicklerwerkzeuge wie etwa das API Upgrade Tool, Moderations-Tool für Kommentare, App Ads-Hilfstool, Objektbrowser, App-Sicherheits-Check, Certificate Transparency Monitoring usf. angeboten.
Freecodecamp
Freecodecamp ist eine gemeinnützige Organisation, welche aus einer interaktiven Webplattform für Lernzwecke, Chatrooms, einem Online-Community-Forum sowie lokalen Organisationen besteht, deren Ziel es ist Lernenden die Webentwicklung zugänglich zu machen. So werden beispielsweise den Studenten in Tutorials HTML, CSS und JavaScript näher gebracht. Es werden auch Projekte vergeben, die entweder im Alleingang oder in Paaren auszuführen sind. Nach Erledigung all dieser Aufgaben, werden Studenten am Bau von Webapplikationen beteiligt.
Die Organisation wurde im Oktober 2014 gegründet und gehört zur Free Code Camp Inc. Der Begründer der Plattform ist Quincy Larson, ein Softwareentwickler, der gleich nach dem Abitur mit dem Programmieren begann und FreeCodeCamp mit dem Hintergedanken schuf, Studenten in ihrer Entwicklung hin zu Profi-Softwareentwicklern zu begleiten.
Das ursprüngliche Curriculum beinhaltete MongoDB, AngularJS, Node.is und Express.is und nahm in etwa 800 Stunden in Anspruch. Viele Lehreinheiten bestanden einfach aus Links zu kostenlosem Material auf anderen Plattformen, zum Beispiel Stanford, Code School oder Codecademy. Für den Abschluss des Lehrgangs erhielten die Studenten Zertifikate. Im Januar 2016 wurde das Curriculum abgeändert und erweitert. Der Gebrauch von externen Quellen wurde eingeschränkt und der Lehrgang auf geschätzte 2.080 Stunden ausgedehnt.
Derzeit wird die Freecodecamp-Plattform von circa 350.000 Entwicklern pro Monat aus über 160 Ländern genutzt. Die Community bietet auch die Möglichkeit persönlicher Treffen. Auch in den Medien taucht Freecodecamp immer wieder als ein Weg zur Einführung ins Programmieren und als Vorbereitung für den Beruf als Programmierer auf.