Wie man ein guter Programmierer wird
Aktualisierung: Eine Liste mit tollen Podcasts zum Programmieren für unterwegs wurde hinzugefügt.
Jetzt, besser als je zuvor, ist die Technologie zu einem der grundlegendsten Bestandteile für Innovationen in allen Branchen geworden. Dies führte zu einer großen Nachfrage nach Programmierern und Entwicklern auf der ganzen Welt. Das Schöne an der Technologie ist, dass sie sehr zugänglich ist…
Du musst kein Raketenwissenschaftler sein, um ein guter Programmierer zu sein.
Es mag schwer erscheinen, aber die Wahrheit ist… Es kann einfacher sein, als du denkst. Du musst nur lesen, üben und dich etwas anstrengen. Aber… ist es nicht das, was du täglich tust?
Das Wichtigste zuerst. Bevor du überhaupt anfängst, dir den Kopf über ein Semikolon zu zerbrechen (vielleicht verstehst du das jetzt noch nicht, aber glaub mir, du wirst es später verstehen 😂 ), brauchst du ein gutes Grundwissen in Informatik und einen guten Texteditor. Auch wenn es eine ganze Menge davon gibt, werde ich dir die angesagtesten nennen.
Bring dir selbst Informatik bei
Diese Website bietet dir einen guten Ausgangspunkt, um etwas über Informatik und Programmierung zu lernen. Sie deckt eine Menge wichtiger grundlegender Themen ab und hilft dir, einen guten Hintergrund über CS zu bekommen.
Git
Git ist ein Versionskontrollsystem, um…Nun, Versionen deines Codes zu verwalten. Es erlaubt dir, zu einer anderen Version zurückzukehren, wenn du etwas änderst und in der neuen Version etwas schief läuft. Diese Website ist ein guter Ort, um mit dem Lernen von Git zu beginnen.
Github
Dies ist eine sehr wichtige Ressource. Fast jede Programmierfirma verlangt, dass Sie Erfahrung mit irgendeinem Versionskontrollsystem haben. GitHub ist ein webbasierter Hosting-Dienst für die Versionskontrolle mit Git. Er wird hauptsächlich für Computercode verwendet. Er bietet alle Funktionen der verteilten Versionskontrolle und der Quellcodeverwaltung von Git und fügt darüber hinaus eigene Funktionen hinzu. Es ermöglicht Ihnen auch die Zusammenarbeit mit anderen Programmierern. Sie können es auch als statisches HTML-Hosting verwenden, um die Dateien Ihres persönlichen Projekts zu speichern. Sie können sogar eine Website von Github aus betreiben.
Bitbucket
Bitbucket ist dasselbe wie Github, nur ohne die soziale Plattform. Ein weiterer großer Unterschied zwischen den beiden ist, dass man bei Bitbucket private Repositories erstellen kann, während man bei Github für diese Funktion bezahlen muss. Sie können Bitbucket auch als statisches HTML-Hosting verwenden, um die Dateien Ihres persönlichen Projekts zu speichern. Sie können sogar eine Website von Bitbucket aus bereitstellen.
Lernen Sie den Befehl
Die Befehlszeile ist der Ort, an dem die meiste Magie passiert. Es ist also wirklich wichtig, sich ein paar Kommandozeilen-Kenntnisse anzueignen.
Die Texteditoren:
Das gute alte Sublime. Meiner Meinung nach ist dieser Editor einer der besten, die es gibt. Er hat eine Menge Plugins und Code-Snippets. Außerdem ist er sehr zuverlässig in Bezug auf Leistung und Produktivität. Ich benutze ihn immer noch, aber ich liebe es, neue Dinge auszuprobieren, deshalb bin ich kürzlich zu Visual Studio Code gewechselt. Unterstützt auf: Windows, Mac OS und Linux
Visual Studio Code
Visual Studio Code wurde von Microsoft entwickelt, und obwohl es recht neu ist, hat es seinen Weg zu den Top-Texteditoren des Jahres 2017 gefunden. So gut, dass ich am Ende von Sublime Text wechseln und ich muss sagen, es ist eine ziemlich erstaunliche Text-Editor. Bis jetzt habe ich es nicht bereut. Unterstützt auf: Windows, Mac OS und Linux
Atom
Dieser Texteditor von Github war meine erste Wahl. Er ist wirklich wunderschön und lässt sich sehr einfach einrichten. Das Einzige, was mich dazu gebracht hat, wieder zu Sublime zu wechseln, ist die Tatsache, dass er manchmal ziemlich langsam ist und jedes Mal abstürzt, wenn ich eine minifizierte Datei öffne. Aber insgesamt ist es ein guter Texteditor. Unterstützt auf: Windows, Mac OS und Linux
Notepad++
Notepad++ ist ein einfacher Texteditor mit den Funktionen, die man braucht, um ein anständiges Programm zu schreiben. Manche Leute bevorzugen ihn wegen seiner Einfachheit. Ich persönlich finde, dass ich mit kühneren Texteditoren wie VS Code oder Sublime produktiver bin. Unterstützt auf: Windows
VIM
Hacker, das ist etwas für dich. Dieser Texteditor ist etwas technischer und erfordert mehr Konfiguration. Er wird standardmäßig auf Mac OS und den meisten UNIX-basierten Systemen mitgeliefert. Unterstützt auf: Mac OS, Linux und seit kurzem auch Windows
Vergessen Sie nicht: Sie können immer den Texteditor Ihrer Wahl verwenden. Dies sind nur die besten, basierend auf Trends und meiner Erfahrung.
Nach diesen Ausführungen sind hier ein paar Lernressourcen, die Ihnen helfen werden, Ihre Programmierfähigkeiten zu entwickeln:
Free Code Camp ist ein kostenloser Programmierlernpfad für Webentwickler und Full-Stack-Entwickler. Dies ist eine der ersten Ressourcen, die ich zu Beginn meiner Webentwicklungskarriere genutzt habe. Und es hat mir sehr gut gefallen. Sie stellen dir sogar echte, gemeinnützige Projekte zur Verfügung, um deine Fähigkeiten zu verbessern.
Code Academy
Code Academy ist tatsächlich eine der besten Ressourcen für den Anfang. Es bietet eine allgemeine grundlegende Programmiererfahrung. Es hat auch einen Live-Text-Editor direkt auf der Lektionsseite, so dass Sie während des Lernens üben können.
Ruby Monk
Ruby Monk ist ein sehr gutes Einsteiger-Tutorial, um Ruby zu lernen. Es bietet einen einfachen, geradlinigen Kurs für Anfänger und ist wirklich leicht zu folgen.
CodeWars
Code Wars ist eine wirklich coole Art, Programmieren zu lernen. Es bietet dir die Möglichkeit, deine Fähigkeiten zu verbessern, indem du mit anderen Leuten an echten Code-Herausforderungen teilnimmst.
Railsforzombies.org
Das ist eine weitere coole Art, Programmieren zu lernen, obwohl ich empfehle, einige Grundkenntnisse über Ruby zu haben, bevor du diese Seite ausprobierst. Diese Website ermöglicht es Ihnen, Ruby mit einem interaktiven Spiel zu lernen.
CodeSchool
CodeSchool bietet eine große Auswahl an Kursen mit einem Lernpfad, der es Ihnen ermöglicht, je nach Ihren Interessen zu entscheiden, welchen Weg der Programmierung Sie einschlagen möchten.
Egghead.io
Diese Ressource ist eine meiner Favoriten. Sie konzentriert sich mehr auf Webentwicklungstechnologien. Sie bietet wirklich hochwertige Programmier-Tutorials und Kurse, um die Javascript-Kenntnisse zu verbessern.
Udacity
Ich habe Udacity nur ein paar Mal benutzt, aber ich habe viel darüber gelesen und es ist ziemlich toll. Sie bieten kostenlose Kurse für Anfänger und so genannte „Nanodegrees“ an. Nanodegrees sehen ziemlich vielversprechend aus, sie sind im Grunde eine kuratierte Liste von Anfänger- bis Fortgeschrittenenkursen zu einem bestimmten Thema. Zum Beispiel deckt der Full Stack Web Developer Nanodegree alles ab, von der Front-End-Webentwicklung bis zur Back-End-Webentwicklung. Ich muss darauf hinweisen, dass diese Nanodegrees in Zusammenarbeit mit großen Unternehmen wie Google, Amazon, IBM und anderen erstellt werden. Ich weiß nicht, ob diese Kurse wirklich ihr Geld wert sind (denn sie sind teuer), aber ich habe vor, einen zu belegen, und wenn ich dazu komme, werde ich auf jeden Fall einen Artikel darüber schreiben.
Udemy
Das hätte ich fast vergessen. Udemy ist vielleicht eine der beliebtesten Lernplattformen. Es gibt dort über 15.000 Kurse, und die sind in der Regel ziemlich billig. Diese Ressource ist ziemlich gut, wenn man es eilig hat und eine bestimmte Fähigkeit schnell lernen muss. Ich habe diese Ressource während meines Studiums häufig genutzt (derzeit gibt es über 80 Kurse). Auch wenn ich zugeben muss, dass ich nicht jeden einzelnen davon abgeschlossen habe 😂.
Devslopes
Devslopes begann als Kickstarter-Kampagne und ich verliebte mich sofort in sie. Es bietet eine Vielzahl von qualitativ hochwertigen Programmierkursen mit Projekten, die man für sein Portfolio verwenden kann. Als früher Unterstützer bekam ich die Chance, zu ihrem Projekt beizutragen, und im Gegenzug habe ich lebenslangen Zugang zu allen Kursen und Versionen, die sie veröffentlichen, und zwar kostenlos. Wenn Sie diese Vergünstigung haben möchten, können Sie sie vielleicht bekommen, denn Devslopes 2.0 steht kurz vor der Markteinführung und es gab eine Werbeaktion dafür. Ich bin mir nicht sicher, ob es noch verfügbar ist. Aber es ist eines der besten Angebote, die ich habe. Wissen ist schließlich unbezahlbar.
Treehouse
Frank gesagt, habe ich das vorher nie in Betracht gezogen, aber nachdem ich von Tomáš Vorel vorgeschlagen wurde und wochenlang auf Facebook & Youtube-Werbung auftauchte, beschloss ich, es zu versuchen. Ich muss sagen, dass diese Lernressource sehr gut organisiert ist und ich die Lehrmethoden absolut liebe. Sie haben immer eine visuelle Darstellung der Themen und ich liebe visuelle Inhalte.
BrainFood
Ja, man muss immer noch lesen, wenn man wirklich gut werden will. Das ist der traditionellste und manchmal auch der effektivste Weg, neue Fähigkeiten zu erlernen.
Dies ist eine Liste von Büchern, die ich als nützlich empfunden habe:
Dieses Buch ist vielleicht ein bisschen „langweilig“, aber es deckt die Grundlagen der Informatik und der Algorithmen ab. Dieses Buch ist ein Muss, wenn man wirklich verstehen will, wie Code und Algorithmen funktionieren.
Cracking the Coding Interview
Dieses Buch gibt einen allgemeinen Überblick über Programmierfragen, die einem bei einem Vorstellungsgespräch gestellt werden könnten. Und wie man sie angeht.
Die Innovatoren: Wie eine Gruppe von Hackern, Genies und Freaks die digitale Revolution schuf
In diesem Buch geht es mehr um die Geschichte von Innovation und Technologie. Es behandelt im Grunde alle Menschen, die auf die eine oder andere Weise zur Technologie beigetragen haben, die die heutige Innovation Wirklichkeit werden ließ.
Learn Python the Hard Way
Dieses Buch ist im Grunde ein Arbeitsbuch. Man lernt beim Üben. Es gibt Ihnen Herausforderungen, die Sie täglich üben können. Es behandelt die grundlegenden Themen von Python.
Soft Skills: Das Handbuch für das Leben des Entwicklers
Das Handbuch für das Leben des Softwareentwicklers ist ein einzigartiger Leitfaden, der Techniken und Praktiken für ein zufriedeneres Leben als professioneller Softwareentwickler bietet. Der Autor geht darin auf eine breite Palette wichtiger „weicher“ Themen ein, von Karriere und Produktivität über persönliche Finanzen und Investitionen bis hin zu Fitness und Beziehungen, alles aus der Sicht eines Entwicklers.
Beteiligen Sie sich an der Gemeinschaft
Dies ist einer der wichtigsten Teile, um ein guter Entwickler zu werden. Die meisten Leute übergehen diesen Teil, weil sie denken, dass er nutzlos ist, aber die Wahrheit ist, dass er sehr viel hilft. Sie werden erstaunt sein, wie viel Sie in ein oder zwei Stunden im Gespräch mit anderen Entwicklern lernen können. Um Ihnen ein Beispiel zu geben: Bei meinem ersten Treffen hatte ich die Gelegenheit, einen der Entwickler von Advanced Custom Fields kennenzulernen (ein weltweit anerkanntes WordPress-Plugin für Entwickler), das ich sehr oft benutze. Und ich habe es auch geschafft, ein Mitarbeiter für die Wordcamp Miami 2018 WordPress-Konferenz zu werden.
Mit diesen Worten, hier sind einige der Plattformen, die ich für Meetups und Konferenzen verwende:
Mit dieser App können Sie nach Coding-Konferenzen in der Nähe suchen.
Meetup
Mit dieser App können Sie nach Programmierkonferenzen in Ihrer Nähe suchen.
Co-Working-Spaces
Sie können ganz einfach einen Co-Working-Space in Ihrer Nähe finden, indem Sie einfach nach „Co-Working-Space <Ihre Stadt>“ suchen. In Co-Working-Spaces können Sie Ihr Wissen mit anderen Entwicklern teilen und erhalten echtes Feedback zu Ihrer Codebasis.
Playgrounds
Playgrounds sind im Grunde virtuelle Editoren, mit denen Sie unterwegs üben können, ohne Ihren Laptop oder PC zu überlasten. So sparen Sie Zeit und werden besser in jeder Programmiersprache. Das Beste an diesen virtuellen Spielplätzen ist, dass man von überall darauf zugreifen kann.
Cloud9
Dieser virtuelle Spielplatz ist eigentlich eine vollwertige IDE, die auf Linux basiert. was bedeutet das? Es bedeutet, dass man alles, was man auf einem Linux-Rechner tut, über das Terminal machen kann, sogar Bibliotheken installieren. Dieses Programm hat mir im Studium sehr geholfen.
Codepen
Ich benutze dieses Programm sehr oft. Codepen ist der Heilige Gral für Webentwickler. Es ist eher eine Online-Community zum Testen und Präsentieren von HTML-, CSS- und JavaScript-Codefragmenten, die von Benutzern erstellt wurden.
Glitch
Glitch ist fast das gleiche Konzept wie Codepen. Nur ist es ein bisschen „freundlicher“. Es ist auch ziemlich mächtig. Ich mag Codepen trotzdem lieber.
Orion
Orion ist eine Online-IDE, um mit Java herumzuspielen.
Python Fiddle
Python hat in den letzten Jahren sehr an Popularität gewonnen. Dies ist eine Programmierumgebung für diejenigen, die Python zu ihrem Skillset hinzufügen möchten (Sie sollten zumindest die Grundlagen lernen).
Codeanywhere
Codeanywhere ist eine plattformübergreifende Cloud-IDE. Sie ermöglicht es Nutzern, Webentwicklungsprojekte sofort über einen Webbrowser und ein beliebiges mobiles Gerät zu schreiben, zu bearbeiten, zusammenzuarbeiten und auszuführen.
Reply.it
Dieses Programm wurde von Vic A. vorgeschlagen und ich muss sagen, es sieht ziemlich vielversprechend aus. Diese virtuelle Programmierplattform ermöglicht es Ihnen, virtuelle Spielplätze zu erstellen, um Anwendungen zu entwickeln, zu testen und sogar einzusetzen. Sie enthält auch eine ziemlich geniale 🔥 Lehrplattform mit eigenem Bewertungssystem.
Codesandbox.io
Ich bin auf diese tolle Ressource gestoßen, als ich am 10. Miami Wordcamp teilnahm. Einer der Redner nutzte sie für eine Live-Coding-Demo und ich habe mich in sie verliebt. Es ist eine weitere schnelle und zuverlässige cloudbasierte Lösung, um unterwegs Anwendungsprototypen zu erstellen.
Got Stuck? Frag jemanden
Das Schöne daran, als Entwickler im Jahr 2018 zu leben, ist, dass es eine Menge Leute gibt, die die meisten der Probleme, die du haben wirst, bereits durchgemacht haben. Die Wahrscheinlichkeit ist groß, dass jemand anderes das gleiche Problem hatte, das Sie mit einem Teil des Codes haben. Es sei denn, Sie arbeiten an einem proprietären Code. Und selbst dann sollten Sie in der Lage sein, Hinweise zu finden, wie Sie diese fiesen Fehler beheben können. Nun, das basiert alles auf meiner Erfahrung.
Hier ist eine Liste von Websites und Ressourcen, die Ihnen helfen können, damit Sie nicht in einer existenziellen Krise enden und in der Ecke weinen. (Ich habe das nie gemacht 😅🤣):
Stack Overflow
Auch bekannt als die Bibel der Programmierer. Stack Overflow ist eine, wenn nicht sogar die größte Online-Community für Programmierer, um zu lernen, zu fragen, zu teilen und sogar einen Job zu finden. Stellen Sie also sicher, dass Sie diese Seite auf Ihrer Favoritenliste haben.
Stack Exchange
Stack Exchange ist eine einfache Frage- und Antwort-Website. Eine Art Forum, das Ihnen hilft, Ihre Zweifel an der Programmierung zu beseitigen.
Quora
Ich sehe Quora eher als eine Profi-Version von Stack Exchange. Quora ist ein Ort, um Wissen zu erwerben und zu teilen. Es ist eine Plattform, auf der man Fragen stellen und mit Leuten in Kontakt treten kann, die einzigartige Einblicke und hochwertige Antworten liefern. Dies ermöglicht es den Menschen, voneinander zu lernen und die Welt besser zu verstehen.
Github
Github ist eine der meistgenutzten Online-Communities. Nutzen Sie es, lernen Sie es, teilen Sie es und tragen Sie dazu bei.
Ich wette, Sie haben schon davon gehört. Aber haben Sie schon einmal darüber nachgedacht, Twitter als Ressource zu nutzen, um zu lernen und Fragen zu beantworten? Nun, ich kann Ihnen sagen, dass Twitter mit seiner großen Anzahl von Nutzern eine gute Anzahl von Experten auf diesem Gebiet hat. Tweeten Sie einfach Ihre Frage und geben Sie den Hashtag ### it
Nein, es ist nicht nur für Memes und Gifs. Reddit kann auch eine mächtige Ressource sein, um Lösungen zu finden oder neue Technologien zu lernen. Es bietet ein Thread-System, um Themen besser zu organisieren.
Hacker News
Diese Ressource ist ein sehr einfacher Feed mit wichtigen Updates und Nachrichten aus der Tech-Industrie. Wirklich nützlich.
Producthunt
Nun, Producthunt… Ich kann gar nicht sagen, wie sehr ich diese Website liebe. Ich benutze sie buchstäblich täglich. Sie veröffentlicht ständig eine Liste mit neuen Tools, Anwendungen, Frameworks, Websites und sogar Gadgets, nach denen man Ausschau halten sollte. Meistens geht es dabei um Technik! So kann man immer wieder neue Dinge ausprobieren und lernen. Es gibt auch eine Jobsuche und einen Bereich für Fragen und Antworten.
Podcasts
Ich habe vor fast zwei Jahren angefangen, Podcasts zu hören, und es ist eine der besten Ressourcen, die ich habe. Ich fahre viel Auto und höre Podcasts, um unterwegs zu lernen, so dass ich nie Zeit verliere.
Syntaxfm
Das ist mein persönlicher Favorit. Syntaxfm wird von den Full Stack Developers Wes Bos und Scott Tolinski gehostet und ist ein Podcast mit „leckeren Web-Behandlungen“ mit vielen nützlichen Ressourcen und Tipps für Webentwickler. Die Themen reichen von JavaScript-Frameworks wie React über die neuesten Entwicklungen bei CSS bis hin zur Vereinfachung von Webtools.
Shop Talk Show
ShopTalk ist ein Podcast über Front-End-Webdesign, Entwicklung und UX. Jede Woche werden Chris Coyier und Dave Rupert von einem besonderen Gast begleitet, um zu fachsimpeln und Fragen der Hörer zu beantworten.
The Web Ahead
Eine ziemlich gute Quelle, um über die neuesten Web-Trends auf dem Laufenden zu bleiben. Gespräche mit Experten aus aller Welt über neue Technologien und die Zukunft des Webs. Moderiert von Jen Simmons.
Code Pen Radio
Chris Chris Coyier, Alex Vazquez und Tim Sabat, die Mitbegründer von CodePen, sprechen über die Besonderheiten eines Web-Software-Unternehmens. Dieser Podcast ist ein Muss.
Learn to Code with Me
Der Podcast Learn to Code With Me von Laurence Bradford richtet sich an angehende Techniker und Autodidakten, die in die Technologiebranche einsteigen wollen.
Abschluss
Lesen, üben, teilen, fragen…wiederholen
Das alles ist ein Lernweg. Lassen Sie sich darauf ein und haben Sie viel Geduld. Niemand wird als Experte für sein Fachgebiet geboren. Auch ich habe noch viel zu lernen. Denken Sie daran, dass einer der wichtigsten Aspekte, um ein guter Entwickler zu werden, darin besteht, Teil der Gemeinschaft zu werden. Geben Sie sich also die Chance, etwas Neues auszuprobieren, gehen Sie zu einem Treffen, lernen Sie neue Leute kennen, holen Sie sich Feedback, kritisieren Sie den Code und haben Sie Spaß.