it-swarm-eu.dev

Was haben Sie am effektivsten getan, um Ihre Programmierkenntnisse zu verbessern?

Rückblickend auf meine Karriere und mein Leben als Programmierer gab es viele verschiedene Möglichkeiten, meine Programmierkenntnisse zu verbessern - Code lesen, Code schreiben, Bücher lesen, Podcasts anhören, Screencasts ansehen und vieles mehr.

Meine Frage ist: Was ist das Effektivste, was Sie getan haben, um Ihre Programmierkenntnisse zu verbessern? Was würden Sie anderen empfehlen, die sich verbessern möchten?

Ich erwarte hier unterschiedliche Antworten und keine einzige "Einheitsgröße" -Antwort - ich würde gerne wissen, was für verschiedene Menschen funktioniert hat.

876
Oded

Ich habe versucht, eine gute Programmiertechnik auf eine Sprache wie TI-83 + BASIC anzuwenden.

0
user14563

Es ist leicht, sich in Codierungsmarathons zu verwickeln. Es ist wichtig, hin und wieder zurückzutreten und zu sehen, wie andere Leute ähnliche Projekte umgesetzt haben.

Lesen Sie Bücher von hervorragenden Autoren. Sehen Sie sich Bücher wie "C: A Programming Language", "The Perl CookBook" oder eines der besten Bücher für Ihre Lieblingssprachen an. Lesen Sie mehr über die Probleme, die sie lösen, schauen Sie sich die Codebeispiele nicht an, schreiben Sie sie selbst auf und vergleichen Sie dann Ihren Code mit ihren. Finde heraus, warum ihre/deine besser sind.

0
SammyO

Verwendete verschiedene Frameworks, IDEs, Betriebssysteme und Sprachen. Wenn Sie nicht verwirrt sind, wachsen Sie im Allgemeinen nicht. Das Schlimme ist, nicht mittelmäßig zu sein. Das Schlimme ist, mittelmäßig zu sein, wenn Sie denken, dass Sie großartig sind.

0
hoyhoy
  1. Ich bin Entwickler-zentrierten Communitys im Internet und physisch beigetreten
  2. Lesen/Versuchen Sie, den Code anderer Personen zu lesen.
  3. Code schreiben.
  4. Lesen, lesen, lesen (Blogs, Podcasts, Bücher usw.) und tun, was Sie gelesen haben, lesen, lesen.
0
Coda

Lesen Sie viele Bücher und Artikel ..

0
Legend

Lesen Sie mehr Bücher und schreiben Sie mehr Codes.

0
William

Ich denke, das Größte für mich war, als ich einen Schritt von der Implementierung zurücktrat und anfing, das Gesamtbild zu betrachten und Architektur, Muster, Prozesse, Anforderungsanalyse usw. besser zu verstehen.

0
mattlant

Ich bin sicher, dies wiederholt einfach frühere Kommentare:

1: Lesen Sie Code aus zahlreichen Sprachen. Verstehen Sie, wie die Sprache mit einer bestimmten Situation umgeht. Es kann Sie in der Sprache, in der Sie besser werden möchten, erleuchteter machen.

2: Teams ... Diskussion über Programmierpraktiken, Ansätze, Tests, Planung, Implementierung usw.

3: Verwenden Sie die obigen Anweisungen, um sich auf einen kleineren Satz von Sprachen zu konzentrieren.

4: Nehmen Sie niemals Ihr 100% iges Recht an, dann haben Sie keinen Grund, etwas in Frage zu stellen.

0
Matt

mit Leuten arbeiten, die viel schlauer sind als ich

0
Kevin

Verwenden Sie Ihren Computer und verstehen Sie ihn gründlich.
Schreiben Sie Code für alles, was Sie für möglich gehalten haben.
Lesen Sie guten Code und lernen Sie, wie man schreibt. Lesen Sie schlechten Code und lernen Sie, wie man nicht codiert.

0
amadamala

Es gibt viele Dinge, aber die folgenden hatten großen Einfluss darauf, mich zu einem besseren Programmierer zu machen

1) Während der Universitätszeit war ich in einem ständigen Wettbewerb mit einem hochtalentierten Klassenkameraden, um das beste Spiel/Programm zu entwickeln, das von anderen Klassenkameraden beurteilt wurde. Es war wie bei zwei kleinen Start-ups, die um Marktanteile kämpfen.

2) Lesen von "Deep C Secrets"

3) Teilnahme an Open Source-Projekten, bei denen intelligente Leute Ihren Code kommentieren können.

0
azeemarif

Wenn Sie alleine programmieren, ist es sehr leicht anzunehmen, dass die Dinge, die Ihnen am einfachsten erscheinen oder die am offensichtlichsten erscheinen, daher die besten sind. Wenn Sie jedoch in aktivem Kontakt mit einer Gruppe sachkundiger Personen stehen (insbesondere mit Personen, die mehr Erfahrung als Sie selbst haben), werden Sie wahrscheinlich viele Probleme finden, die Sie nie in Betracht gezogen haben, und Lösungen für diese, die Ihnen möglicherweise auch nicht in den Sinn gekommen sind. Es ist viel besser, aus den Erfahrungen anderer zu lernen, als eigene Fehler zu machen und auf diese Weise ein wichtiges Projekt (Ihres eigenen oder des Ihres Arbeitgebers) zu vermasseln. Wenn Sie diese Dinge von Ihren Kollegen lernen können, bevor Sie jemals selbst mit ihnen konfrontiert werden, können Sie viele frühe Fehltritte vermeiden, die die meisten Programmierer nicht bemerken. Es ist möglich, ein Programmierer mit einer Junior-Erfahrung zu werden, aber einem Senior-Verständnis für Softwareentwicklung, wenn Sie genug darauf achten, was andere erfahrene Leute tun.

Wahrscheinlich war es das Nützlichste, ein paar Jahre damit zu verbringen, regelmäßig (täglich oder mindestens wöchentlich) Online-Foren wie comp.lang.c, comp.lang.c ++ und comp.lang.Java zu lesen Teilnahme an Forumsdiskussionen. (An dem Tag, als ich Foren aktiv besuchte, waren die meisten im Usenet. Jetzt neigen sie dazu, sich mit bestimmten Websites und Entwicklergemeinschaften zu verbinden.)

In aktiven Diskussionsgruppen wie diesen, die eine große Anzahl professioneller Entwickler anziehen (und insbesondere hochrangige professionelle Entwickler wie Sprachautoren und Implementierer wichtiger Bibliotheken), ist es viel einfacher, ein Gefühl dafür zu bekommen, welche Programmiertechniken als nützlich angesehen werden versus entmutigt, und welche Programmiersprachen, Tools und Bibliotheken bevorzugt oder ungünstig werden. Es ist auch nützlich, darauf zu achten, welche Software-Engineering-Techniken andere Fachleute verwenden, von Versionskontrollsystemen über visuelle Modellierungssprachen bis hin zu Programmiermethoden und so weiter. Es ist auch wichtig zu lernen, welche Bereiche umstritten sind. Eine ausführliche Debatte zwischen zwei erfahrenen Entwicklern mit deutlich unterschiedlichen Ansichten zu verfolgen, kann eine äußerst lehrreiche Erfahrung sein.

Möglicherweise stellen Sie nach einer Weile fest, dass Ihre Lieblingssprache oder Ihr Programmieransatz nicht so allgemein beliebt ist, wie Sie zunächst angenommen haben, und Sie stellen möglicherweise fest, dass Sie Alternativen in Betracht ziehen - das ist gut! Das bedeutet, dass Sie anfangen, nuancierter und realistischer in Bezug auf Ihre Überzeugungen zu werden (anstatt nur die neueste Modeerscheinung zu übernehmen) und hoffentlich Ihren Horizont um verschiedene Arten zu erweitern, Dinge zu tun.

0
unknown (yahoo)

Verbringen Sie einige Zeit damit, darüber nachzudenken, anstatt es nur zu tun.

dh

  • überlegen Sie, welche Fähigkeiten Sie haben.
    • überlegen Sie, welche Fähigkeiten Sie nicht haben.
    • überlegen Sie, welche Fähigkeiten Sie haben möchten.
    • überlegen Sie, welche Fähigkeiten die Branche Ihrer Meinung nach haben soll.
  • 0
    Paul Rowland

    Das Erlernen einer neuen Sprache pro Jahr war großartig (obwohl ich allein im letzten Jahr 3 Sprachen gelernt habe). Ich bevorzuge immer noch C++, aber die Kenntnis verschiedener Lösungsmöglichkeiten hat meine Codierungsfähigkeiten in vielerlei Hinsicht verbessert. Das und ich haben eine Reihe von "Katas" oder kleinen Codierungszielen, die ich in meiner Freizeit immer wieder ausprobiere und jedes Mal mein neues Wissen auf sie anwende.

    0
    Robert Gould

    Arbeiten Sie mit den klügsten Leuten zusammen, die ich kann, und stellen Sie ihnen Fragen. Hab keine Angst zu fragen.

    Jemand sollte eine Website erstellen, um das zu tun ... ;-)

    0
    Stuart Helwig

    Mehrfache Teilnahme an ICFP Programming Contest .

    Es gibt keinen anderen Programmierwettbewerb wie diesen! Jedes Mal habe ich viel gelernt . Besonders wenn ich in einem Team mit Leuten arbeite, die viel schlauer sind als ich.

    0
    Anton Orlov

    Ich habe K & R2 zum zweiten Mal gelesen. Und dann lesen Sie es ein drittes Mal.

    0
    Serafeim

    Zurück in der Grundschule wollte ich einen gefälschten Anmeldebildschirm erstellen, der Passwörter vom Büro-PC meines Vaters stiehlt. Es war nur ein Batch-Skript, das unter MS-DOS ausgeführt wurde, und es gab nichts Besonderes. In der High School schrieb ich dann einfache MSWord-Makroviren, weil ich es faszinierend fand, MSWord nach meinen Wünschen "anpassen" zu können.

    Die Programmierkenntnisse, die ich damals gelernt habe, waren nur Nebenwirkungen auf etwas, das mich faszinierte.

    0
    simoncpu

    Es gibt keinen einzigen Gedanken, an den Sie denken könnten, um ihn zu verbessern. Es ist eine erlernte Fähigkeit. es wird dich durch Übung besser machen. Mit Übung meine ich nicht ein einzelnes Attribut. Die wichtigsten Attribute, die mir einfallen, sind: 1. Schreiben Sie Code 2. Pairing oder Sammeln von Persapactive von verschiedenen Personen (Aktivitäten wie Coding Dojo - http://www.codingdojo.org/ ). 3. Codeüberprüfung

    0

    Arbeiten in Paarprogrammierung mit einem über 50-jährigen Programmierer, der ein Experte für Smalltalk ist. Wir haben in Java programmiert, aber ich habe wirklich viel über objektorientiertes Design und Debugging-Techniken gelernt.

    Die Paarprogrammierung mit einem erfahrenen Mentor ist zu empfehlen, solange wir offen sind.

    0
    Mario Ortegón

    Arbeiten Sie mit Leuten, die schlauer sind als ich (nicht so schwer) und neugierig sind, wie Sie Sachen machen. Viel lesen hilft, aber Sie müssen in der Lage sein, Ihren eigenen Weg zu finden, wie man Dinge löst.

    0
    FrankS

    Die Arbeit mit anderen Menschen war das Einzige, was meine Fähigkeiten zum Explodieren brachte. Ich begann aus ihren Fehlern zu lernen. :) :)

    0
    zgoda

    code viel haben keine Angst, neue Dinge zu lernen

    0
    reuven

    Ich weiß, dass die meisten davon bereits erwähnt wurden, aber ich werde sie noch einmal wiederholen, da sie für mich gearbeitet haben.

    1) Das Wichtigste ist, ein Interesse an dem zu haben, was Sie tun. Wenn Sie daran interessiert sind, sind Sie auf dem halben Weg dorthin. Nichts tötet Ihren Wunsch zu arbeiten/zu verbessern mehr als Desinteresse.

    2) Finden Sie jemanden in Ihrer Organisation, der intelligenter/besser/schneller als Sie ist, und nehmen Sie so viel Wissen und Know-how wie möglich auf. Dies gilt für alle, Junioren/Senioren/etc. Berufsbezeichnungen sind für mich völlig bedeutungslos. Ich habe "Junior" -Entwickler gesehen, die weit mehr Fachwissen/Kenntnisse hatten als vermeintliche Senior-Level-Entwickler.

    3) Ich habe versucht, so gut ich kann, meinem eigenen Code of Coding zu folgen. Schreiben, lesen, analysieren, überprüfen, diskutieren. Wenn Sie Ihren Code geschrieben haben, lesen Sie ihn noch einmal durch. Ist es wartbar? Ist es gut kommentiert? Sieht es so aus, als würde es das tun, was es sollte? Als Teil davon müssen Sie den Code analysieren. Ist das der beste Weg, dies zu tun? Könnte es in irgendeiner Weise verbessert werden? Nehmen Sie die entsprechenden Änderungen vor. Als nächstes überprüfen Sie es, testen Sie es aus. Tut es was es sollte? Tut es etwas, was es nicht sollte? Geben Sie Ihr Bestes, um Ihren Code zu brechen. Wenn Sie damit zufrieden sind, besprechen Sie Ihren Code mit anderen. Wie sehen sie das? Stimmen sie oder stimmen sie nicht mit Ihren Entscheidungen überein? Haben sie andere Ideen, was getan werden könnte, um es zu verbessern?.

    4) Sei immer bereit, neue Dinge und/oder Ideen zu lernen.

    0
    Jason

    100% Unit-Test-Abdeckung.

    Unit-Tests haben meine Programmierung wirklich verbessert.

    Die Verwendung eines Code-Coverage-Tools zum Messen der Coverage des Unit-Tests bringt ihn jedoch auf eine andere Ebene.

    Eine gute Übung ist es, ein Modul zu nehmen und zu versuchen, eine 100% ige Einheitentestabdeckung zu erzielen.

    Sie können sogar einen freundschaftlichen Wettbewerb mit Ihren Mitarbeitern veranstalten, indem Sie jeweils ein Modul belegen und sehen, wie Sie die höchste Abdeckung erzielen können.

    - -

    Folge mir auf CrowdNews.e

    0
    equanimous

    Beginn des Programmier- und Programmdesignunterrichts. Ich hatte größtenteils keine Ahnung von OO, bis ich einen Freshman-Level Java Kurs und einen Junior-Level Software Engineering Kurs unterrichtete).

    0
    Lewis Baumstark

    Ich benutze mein Gehirn, anstatt sinnlosen Code herauszuarbeiten. Einmal codieren, Code korrekt.

    0
    leppie

    Ich habe festgestellt, dass das Lesen von Code Complete 2 von Steve McConnell von Anfang bis Ende (und der Versuch, den meisten seiner Ratschläge zu folgen) meine Programmierkenntnisse drastisch verbessert hat, insbesondere da ich nicht den Vorteil habe, mit anderen Programmierern in einem großen Unternehmensumfeld zusammenzuarbeiten .

    Außerdem ist Üben gutes Design (im Buch erklärt) und das Analysieren des Designs anderer Leute wichtig, um sich in Bezug auf die Fähigkeiten in die richtige Richtung zu bewegen.

    0
    Levi

    Ich denke, das effektivste, was ich getan habe, ist, mich zu zwingen, verschiedene Sprachen und alternative Tools für Projekte zu verwenden, basierend auf dem, was am besten passt. IOW Ich habe versucht, die Fähigkeiten der Sprache zu untersuchen, um festzustellen, ob sie besser zu einer meiner Standardoptionen passt. Dies hat mich gezwungen, verschiedene Werkzeuge zu lernen und zu verwenden, basierend auf ihren individuellen Vorzügen.

    Ich bemühe mich SEHR, niemals quadratische Stifte in runde Löcher zu stopfen, wenn es auch um meinen Programmierstil geht. Wir haben viele Sprachen zur Verfügung, da es viele verschiedene Möglichkeiten gibt, Dinge zu tun. Je mehr ich über andere Stile verstehen kann, desto besser!

    0
    flxkid

    Eine Möglichkeit, die Programmierkenntnisse zu verbessern, besteht darin, verschiedene Geschäftsbereiche zu lernen und zu erfahren, wie Software zur Lösung von Problemen in diesen Bereichen verwendet wird. Wenn Sie beispielsweise nur an Geschäftswebanwendungen arbeiten, erwerben Sie möglicherweise umfangreiche Kenntnisse in HTML, CSS und relationalen Datenbanken, haben jedoch nicht unbedingt die Möglichkeit, Konzepte wie Parallelität oder 3D-Grafikprogrammierung zu beherrschen.

    0
    newdayrising

    Schreiben Sie eine nicht triviale App in mehreren Sprachen/Systemen. Ich habe eine Wettpool-App in VB6 geschrieben, allgemeines LISP, Java/JSP, Java/Spring/Struts, Rails, Grails und Django. Ich schreibe es jetzt in Ruby/Cocoa OSX

    Jede Implementierung ist anders. Und ich habe gelernt, wie sich die Systeme voneinander unterscheiden.

    0
    sal

    Arbeiten mit einer Vielzahl erfahrener und intelligenter Programmierer.

    Leute, die sagen "schreibe einfach Code", sind kurzsichtig. Ich habe so manche Projekte gesehen, bei denen jemand "nur Code geschrieben" hat. Das gibt niemandem Einblick in gute Gewohnheiten und praktische Programmierung und hilft auch nicht dabei, solide Fähigkeiten in den sekundären Teilen der Codierung zu entwickeln. Spezifikationen, Dokumentation, klare Vermittlung von Ideen.

    0
    Geekoid
    1. Das Lesen der Quelle einer beliebigen (Open-Source-) Software ist in Ihrem Fachgebiet brillant und wichtig.

    2. Verschiedene Programmierparadigmen lernen und schätzen (d. H. OO ist nicht die Antwort auf alles)

    3. Schreiben von Bibliotheken/Komponenten anstelle von monolithischen 'Systemen', Erlernen des Werts von Schnittstellendesign, Dokumentation und konzeptioneller Einfachheit.

    0
    Marijn

    Programmieren mit mindestens einer anderen (erfahrenen) Person, idealerweise in einer extremen Programmierumgebung. Die Debatte über alternative Ansätze hilft dabei, die Vor- und Nachteile der einzelnen Ansätze herauszufinden.

    0
    Adam

    Schreiben Sie viel Code, wie viele bereits hier geschrieben haben.

    Aber schreibe so viel, dass du nicht so viel mehr schreiben willst, werde faul im Grunde die erste der drei großen Tugenden .

    "Kürze ist die Seele des Witzes" - Shakespeare

    0
    epatel

    Ich sah eine enorme Verbesserung, nachdem ich gelernt hatte, wie andere (beste Programmierer) Code schreiben. Eines der Dinge, die ich getan habe, ist das Anschauen von "How do I" -Videos von Experten/Gurus aller Technologien, an denen ich interessiert bin.

    Ich sehe große Vorteile beim Lernen von Videos im Vergleich zum Lesen eines Buches. Nicht zu übersehen, dass das Lesen von Büchern auch eine großartige Möglichkeit ist. Videos sind jedoch interaktiver, schneller und machen einen großartigen visuellen Eindruck (wenn die Videos gut sind).

    Tech Podcasts, dnrtv sind meine anderen Favoriten. Lesen Sie dies SO-Thread.

    0
    Vin

    Ich habe immer eine Liste von "kleinen" Projekten im Kopf. Jedes Mal, wenn ich an ein "es sollte ..." denke, lege ich es für die zukünftige Verwendung ab. Jedes Mal, wenn ich auf eine Technologie stoße, die interessant aussieht und mit der ich spielen möchte, vergleiche ich ihre Funktionen mit meiner Projektliste. Wenn man gut zu mir passt, gehe ich zu den Rennen.

    Dadurch kann ich immer etwas Praktischeres haben als "Hallo Welt!" darauf hinarbeiten.

    0
    cmreigrut

    Ich denke, es ist wichtig, Ihre Fähigkeiten zu verbessern, damit Sie an einem Projekt arbeiten, das Sie wirklich mag
    und es ist wichtig, dass Sie Ihr Wissen mit anderen teilen.
    Auf der anderen Website müssen Sie einige Nachforschungen zu einem Thema anstellen, über das Sie mehr wissen müssen.
    Schließlich war die Arbeit an einem Open Source-Projekt für mich als Programmierer sehr nützlich.

    0
    Peter GA.

    Eigentlich für einen Zweck programmieren. Als ich anfing zu arbeiten und Programme zu schreiben, die tatsächlich von Benutzern verwendet und nicht nur für eine Note abgegeben wurden, bekam ich ein besseres Verständnis für die Auswirkungen meiner Programme. Ich konnte das große Ganze sehen.

    0
    Mogura

    Grundlegende Informatik machen und lernen, dass alles gleich ist. Es kommt alles auf die gleichen Konzepte an und alles basiert auf Logik- und Turing-Maschinen, und Sie können es trotzdem tun.

    Das Anwenden von OOP auf Assembly and Digital Logic ist unterhaltsam ...

    0
    Aethylred

    Als ich anfing, Code zu schreiben, der "schön" und sehr sauber aussah, begannen meine Programme fast auf Anhieb zu funktionieren, mit sehr wenigen Fehlern. Wenn es Fehler gibt, sind sie in der Regel sehr leicht zu finden.

    Also suche ich einfach nach Einfachheit, Sauberkeit und Schönheit. :-)

    Schreiben Sie niemals Code auf "clevere" oder komplexe Weise. Schreiben Sie so sauber und lesbar wie möglich, und die Programme funktionieren einfach und sind leicht zu warten.

    0
    Jesper Hertel

    Lesen Sie gute Bücher wie Effective C++. Wohlgemerkt, ich hatte bereits einige Jahre in C++ programmiert, aber erst als ich anfing, gutes C++ und andere Programmierbücher zu lesen, verspürte ich einen Wissenssprung, der dazu führte, dass ich ein besserer Programmierer wurde.

    0
    A Non

    Viele Codeüberprüfungen mit dem Prinzip durchführen, dass ich mit der Überprüfung erst fertig war, als ich mindestens ein Stück zur Kritik gefunden hatte.

    Übrigens musste ich mich in vielen Fällen neben den ursprünglichen Autor setzen und ihn bitten, mir den Code Zeile für Zeile zu erklären, bis ich ihn verstanden hatte, um eine solche Codeüberprüfung durchführen zu können. Wenn Sie das Glück haben, von großartigen Programmierern aufgefordert zu werden, den Code zu überprüfen, werden Sie auch Ihre Fähigkeiten schnell verbessern.

    0
    A Non

    Um die Sprachkenntnisse zu verbessern, sollten Sie die Kern-API durchsuchen und Code schreiben, der jede Methode/Klasse verwendet. Dies hat 2 Vorteile:

    1. Sie lernen die API, damit Sie das Rad nicht mehr neu erfinden können.
    2. Noch wichtiger ist, dass Sie die wichtigsten Redewendungen der Sprache gut verstehen. Dies hält Ihren Code sauber und lesbar. Zum Beispiel, wenn Sie endlich aufhören, in LISP prozedural zu codieren.
    0
    noah

    lesen, mit anderen arbeiten und allgemein einsteigen und damit spielen :)

    0
    knight0323

    Alles, was Sie dazu ermutigt, mehr Code zu schreiben. Ich arbeite derzeit an Project Euler , um meine Fähigkeiten zu verbessern, aber ich habe im letzten Jahr auch viel gelernt, nur indem ich mir die Codebasis angesehen habe, mit der ich mich bei der Arbeit beschäftige. Das Lesen weiterer Bücher schadet auch nicht, obwohl es am besten ist, sich auf Software Engineering zu konzentrieren, bis Sie wissen, in welchen Sprachen Sie tatsächlich programmieren möchten.

    0
    deworde

    1) Ich habe viele Fehler gemacht und daraus gelernt, indem ich andere gefragt oder gelesen habe
    1) Hatte einen Mentor
    2) Habe viele Podcasts gehört und mich dann über die Themen informiert, von denen ich gehört habe
    3) Gepaarte Programmierung
    4) Überprüfung von Open Source-Projekten auf Stil und Techniken (und Untersuchung von Stücken, die ich nicht verstanden habe)

    0
    Mike
    0
    Jeremy

    Code schreiben nicht nur bei mir, sondern auch zu Hause. Dies hat mir die Zeit gegeben, die ich bei der Arbeit nicht habe, um sehr interessante und nützliche Dinge herauszufinden.

    0
    Andre Gallo

    Schmerzhaftes Kopieren der gedruckten Proben aus Computerzeitschriften in den 1980er Jahren. Zeile für Zeile. Nur um herauszufinden, dass irgendwo ein Fehler aufgetreten ist.

    Im Allgemeinen die Proben anderer Leute lesen und modifizieren; Fehler in ihnen finden; von ihnen extrapolieren.

    0
    akauppi

    Als ich vom Team wechselte, war ich leitender Programmierer in einem neuen Team, das sich mit einer völlig anderen Technologie befasst, von der ich nichts weiß.

    Und dann nach 2 Jahren wieder.

    0
    shoosh

    Schrieb einen Schema-Compiler in C. Ich musste nicht nur das Schema von innen und außen lernen, sondern auch alles über Compiler, wie Code auf Hardware ausgeführt wird, wie Garbage Collectors funktionieren, unter anderem.

    0
    Josh Segall

    Wie viele andere gesagt haben, schreiben Sie VIEL Code und stellen Sie sicher, dass Sie Sprachen mit einigen verschiedenen Stilen lernen. Damit meine ich, beschränken Sie sich nicht auf ähnliche Sprachen. Wenn Sie beispielsweise Java kennen, ist das Erlernen von C # nicht allzu schwierig, da es einige Ähnlichkeiten gibt (automatische Speicherbereinigung usw.), aber das Erlernen von C++ nach Java oder C # wird sich verbessern Ihre Fähigkeiten viel mehr, weil wenn Sie gezwungen sind, über Ihre App anders zu denken. Lernen Sie auch, das richtige Werkzeug für den Job zu verwenden. Es macht keinen Sinn, eine einfache Dateiumwandlung in Java zu schreiben, wenn Sie dasselbe mit der Hälfte des Codes in Perl oder mit Standardwerkzeugen wie awk tun können

    Dinge zu tun, die für mich eine Herausforderung waren, hat mir am meisten geholfen

    0
    Sean

    Durch meine Erfahrung:

    • Üben Sie eine intensive testgetriebene Entwicklung (TDD), bis Sie sich sicher fühlen, Tests vor der eigentlichen Implementierung zu schreiben. Es wird Sie zu einem besseren Programmierer machen.
    • Haben Sie Haustierprojekte nebenbei oder nehmen Sie einfach an Open-Source-Projekten teil.
    • Versuchen Sie, sich mit Menschen zusammenzutun, die besser sind als Sie. Beobachten Sie, welche Tools sie verwenden und wie sie Probleme angehen.
    • Finden Sie immer neue Dinge, die Sie für das Programmieren begeistern. Sei leidenschaftlich.
    • Erstellen. Wenn Sie nur wegen des Geldes dabei sind, können Sie vergessen, ein Programmierguru zu sein.
    0
    mislav
    • Fehler machen und daraus lernen - Eine davon war das Schreiben eines Prototyps in drei Wochen, den ich 12 Jahre später immer noch pflege, weil ich zugelassen habe, dass er veröffentlicht wird, anstatt ihn richtig umzuschreiben.
    • Algorithmen 300 und insbesondere die Reihenfolge der Komplexität. Irgendwann ist die Blutung offensichtlich, aber sie kristallisiert sich in meinen Gedankenkonzepten heraus, die ich jeden Tag benutze.
    • Zurück zu den Grundlagen und Code für das Betriebssystem und in 'C'. (Dies war teilweise eine Reaktion auf die Produktion eines Prototyps.) Macht Code so viel schneller und robuster. Ich denke, dass die Verbesserung der Leistung von Computern in Zukunft an Bedeutung gewinnen wird. Ich bin kein großer Fan von Frameworks. Ich vermute, dass ich hier in der Minderheit bin, und könnte dies später als Frage posten.
    • Lesen von 'Code abgeschlossen'. Das Wichtigste dabei war das Layout meines Codes und der Fokus auf Einfachheit.
    0
    David L Morris

    Arbeiten an einer Vielzahl von Technologien und Programmen. Der Schlüssel ist, weiterhin neue Dinge auszuprobieren. Ich denke, das EINE fordert mich heraus, Dinge zu tun, die ich nicht getan habe!

    0
    Mitchel Sellers

    Ich las Effective Java von Josh Bloch. Über Nacht war ich ein besserer Programmierer.

    0
    Craig Day

    Viele Leute haben gesagt, sie sollen programmieren, und ich stimme zu. Insbesondere mag ich:

    1) Programmierwettbewerbe durchführen! Ich habe gerade meinen ersten in diesem Sommer gemacht und es hat sich wirklich gelohnt (obwohl ich zugebe, dass ich es nicht phänomenal gemacht habe). Es zwingt Sie, schnell an interessanten Problemen zu arbeiten. Google Code Jam ist dafür hervorragend geeignet.

    2) Schreiben Sie Algorithmen, die ich gut kenne (Sorten sind dafür großartig), in Sprachen, die ich gerade mit den hilfreichen Funktionen dieser Sprache gelernt habe. Es reicht einfach nicht aus, eine zwingende Sorte in ML zu schreiben, wenn die Eleganz davon herrührt, sie funktional zu machen.

    3) Sprechen Sie mit Menschen, die bestimmte Sprachen LIEBEN, darüber, WARUM sie diese Sprachen lieben. Anstatt eine Seite in der Perl/Python-Debatte auszuwählen, möchte ich lieber mit einer Person von jeder Seite darüber sprechen, warum sie die Sprache ihrer Wahl mag, und die nützlichen Informationen für zukünftige Referenzzwecke nutzen.

    4) Lesen Sie Tech-Blogs. Sie werden viel über verschiedene Sprachen entdecken, indem Sie die Blogs der Leute lesen, die über sie Bescheid wissen. Dies gilt natürlich nicht nur für die Programmierung.

    Natürlich machen diese Dinge mehr, um Sie zu einem besseren Programmierer zu machen, und können Ihnen beim Software-Engineering helfen oder auch nicht.

    0
    Alex Gartrell
    1. lesen Sie Forschungsarbeiten [ACM, IEEE] zu Themen, die Sie interessieren

    2. versuche schwierige Probleme zu lösen; Selbst wenn Sie versagen, werden Sie daraus lernen

    0
    Steven A. Lowe

    Ich habe meinen Lernstil (oder vielleicht meine Lernschwäche) herausgefunden.

    Ich entdeckte, dass es für mich am schwierigsten ist, Menschen zuzuhören, wenn sie reden. Vorlesungen, Podcasts und Videos im Klassenzimmer sind für mich die am wenigsten gute Möglichkeit zu lernen, und ich verschwende meine Zeit nicht damit, sie auszuprobieren, wenn ich helfen kann. Ich kann viel besser durch Lesen lernen. Also kaufe und lese ich viele Bücher und Webartikel. (Sie wissen. So ähnlich wie diese Seite.)

    So wie es mehr als einen Weg gibt, ein Problem zu lösen, gibt es auch mehr als einen Weg zu lernen. Die Optimierung meiner Arbeitsweise war für mich der beste Weg, mein Handwerk zu verbessern.

    0
    OldGreyTroll