5 Punkte von GN⁺ 2024-04-22 | 1 Kommentare | Auf WhatsApp teilen
  • Pedro David Garcia Lopez stammt aus Spanien, zog 2015 nach Großbritannien und arbeitete dort als Lkw-Fahrer, bevor er mit 38 seine Karriere zum Ruby-on-Rails-Entwickler wechselte
  • Während seiner Zeit als Fahrer war er meist nur 4 bis 6 Tage im Monat zu Hause, sodass es schwierig war, zwischen Familienrolle und langen Arbeitszeiten konsequent Zeit zum Lernen zu finden
  • Ab September 2019 setzte er sich das Ziel, innerhalb eines Jahres Entwickler zu werden, und lernte nach Python- und Udemy-Kursen im Bootcamp der Flatiron School Ruby, Sinatra, Rails und React
  • 2020 musste er mitten in der COVID-Situation seinen ersten Entwicklerjob finden; nachdem monatelang keine Einladungen zu Vorstellungsgesprächen kamen, nahm er die erste Chance in Manchester trotz niedrigem Gehalt und langem Arbeitsweg an
  • Heute schätzt er die Produktivität und den Spaß an Ruby und Rails sehr und rät neuen Programmierern, sich statt auf alles gleichzeitig vor allem auf das Lernen des Lernens, Fragenstellen und die Suche nach Mentoren zu konzentrieren

Der Weg vom Lkw-Fahrer zum Entwickler

  • Pedro David Garcia Lopez ist ein 42-jähriger Spanier, der 2015 nach Großbritannien zog und plant, nach Spanien zurückzukehren, um näher bei seiner Familie zu sein
  • Er kam 2015 als Lkw-Fahrer nach Großbritannien; ein Grund war, seiner Tochter neue Chancen zu geben und selbst richtig Englisch zu lernen
  • Als Fahrer war er in Großbritannien und in verschiedenen Teilen Europas unterwegs und verbrachte normalerweise nur etwa 4 bis 6 Tage im Monat zu Hause
  • Als Berufskraftfahrer fuhr er fast jede Art von Fahrzeug auf der Straße, besuchte mindestens einmal die Länder des europäischen Festlands und legte allein mit dem Lkw Entfernungen zurück, die mehreren Erdumrundungen entsprechen

Interesse an Computern und erste gescheiterte Lernversuche

  • Seinen ersten Kontakt mit Computern hatte er mit etwa 12 Jahren in einem sommerlichen Schreibmaschinenkurs; beim Umgang mit MS-DOS und Windows 3.1 war er von Computern fasziniert
  • Nachdem sein Vater starb, als er 14 war, musste er Schule und die Unterstützung der Familie miteinander vereinbaren, sodass ein Computer zu Hause nahezu unmöglich war
  • Mit 18 arbeitete er in Vollzeit, sparte drei Monate lang Geld und kaufte seinen ersten Computer, einen Pentium II; ab diesem Zeitpunkt wollte er Programmieren lernen
  • Er begann mit einem C++-Buch, doch es war zu technisch und schwierig, und er konnte nichts Interessantes bauen; später kam ihm das Leben dazwischen, sodass er nicht tiefer ins Programmieren einstieg

Die Entscheidung, innerhalb eines Jahres Entwickler zu werden

  • Als sein Englisch besser wurde und der Zugang zu Online-Informationen einfacher war, erinnerte er sich wieder an seinen Kindheitstraum, Entwickler zu werden
  • Er sah sich auf YouTube Kurse zu HTML, CSS und JavaScript an und probierte auch Kurse im Stil von „Programmierer in 7 Tagen“ aus
  • freeCodeCamp war strukturierter und ernsthafter, doch wegen der langen Arbeitszeiten als Lkw-Fahrer und seiner Rollen als Vater und Ehemann war es schwierig, ein ausreichendes Lerntempo aufzubauen
  • Nach vielen Jahren auf der Straße und Familienverantwortung fasste er den Plan, seinen sicheren Job aufzugeben und innerhalb eines Jahres Entwickler zu werden oder aufzugeben
  • Im September 2019 begann er ernsthaft; mit Python- und Udemy-Kursen lernte er die Grundlagen, bekam aber trotz Nachvollziehen der Inhalte nicht die Gewissheit, selbst etwas bauen zu können

Flatiron School und der erste Job

  • Nachdem er mehrere Optionen geprüft hatte, schrieb er sich bei der Flatiron School ein
    • Da er nach Abschluss des Programms nichts zahlen musste, falls er keinen Job fand, erschien ihm das Risiko gering
  • Im Bootcamp lernte er strukturiert von den Ruby-Grundlagen über Sinatra und Ruby on Rails bis hin zu React
  • Durch Lehrkräfte, Mitlernende, Aufgaben und Übungen kam er über reines Nachmachen hinaus und wurde fähig, Neues zu bauen
  • Ende Mai 2020 schloss er den Kurs ab und gewann das Gefühl, Probleme selbst finden und lösen sowie Neues lernen zu können
  • Der Abschluss fiel in die COVID-Zeit, und wegen des Lockdowns gab es nur wenige Gelegenheiten für Interviews oder Kontakte zu anderen Menschen
  • Als 38-jähriger Bootcamp-Absolvent ohne Berufserfahrung erhielt er monatelang keine Einladungen zu Vorstellungsgesprächen und machte sich Sorgen, ob sein Lebenslauf einfach aussortiert wurde
  • Die erste Chance ergab sich in Manchester, zwei Stunden mit dem Zug von zu Hause entfernt, ohne Homeoffice-Regelung
    • Das Gehalt lag bei etwa einem Drittel seines Lkw-Fahrer-Gehalts, und ein erheblicher Teil davon ging für Zugkosten drauf
    • Der Tech-Stack bestand aus PHP und jQuery, doch weil er als Entwickler anfangen musste, nahm er das Angebot an

Einschätzung zu Ruby und Rails

  • Ruby und Rails lernte er erstmals im Bootcamp kennen und sammelte bei Superbyte weitere Erfahrungen
  • Bei Superbyte wurde ein nicht standardmäßiger Stack mit Mongoid und etwas React eingesetzt, doch er lernte im Team viel
  • Nachdem er professionelle Erfahrung mit Ruby on Rails gesammelt hatte, wuchs seine Zuneigung dazu weiter; sobald man sich an die Konventionen von Rails gewöhnt habe, werde vieles einfacher
  • Als Stärken von Ruby und Rails nennt er die Community und das sich stetig weiterentwickelnde Ökosystem
  • Er freut sich darauf, sich von React zu lösen und das Hotwire-Ökosystem anzunehmen, und bewertet positiv, dass sich vieles auf Rails-Art erledigen lässt

Bücher, Vorbilder und Lernweise

Aktuelle Arbeitsweise und Tools

  • In seiner kurzen Karriere hat er bereits vollständig remote, hybrid und fünf Tage pro Woche im Büro gearbeitet
  • Parallel zu seinem Plan, nach Spanien zurückzukehren, wird er ab Mitte April in eine vollständig remote ausgelegte Rolle bei gocertify wechseln
  • Bei Superbyte entwickelte er sich vom Junior Developer zu einer Rolle, die eher in Richtung Semi-Senior ging, und war an Code, Konzeptdesign und etwas R&D beteiligt
  • Die meiste Zeit schreibt er Code, mag aber auch Pair Programming und PR-Reviews
  • Er hält Unterrichten für eine der besten Methoden, um Konzepte zu lernen, und schlägt Kolleginnen und Kollegen gern Ansätze vor oder lernt von ihnen
  • Häufig genutzte Tools sind:
    • Code-Editor: VS Code
    • Datenbank-GUI: MongoDB Compass
    • Terminal: iTerm with oh my zsh
    • Browser: Chrome
    • Notizen und Projektmanagement: Apple Notes, VS Code Markdown, GitHub projects/issues
    • Kommunikation: Microsoft Teams

Ratschläge für neue Programmierer

  • Sein wichtigster Rat lautet, das Lernen zu lernen
  • Da Menschen unterschiedlich lernen und sich Dinge unterschiedlich merken, sollte man die Lernmethode finden, die zu einem selbst passt
  • Pedro lernt, indem er selbst baut oder nach einem Tutorial etwas nachbaut und es anschließend in einen Bereich erweitert, der ihn interessiert
  • Bücher liest er zunächst ohne zu coden; beim erneuten Lesen nutzt er sie eher als Leitfaden, statt alles Schritt für Schritt nachzumachen
  • Man muss nicht das Gefühl haben, alles lernen zu müssen; sich auf eine Sache zu konzentrieren, die man mag, kann weiter führen, als zu viele Dinge nur oberflächlich zu lernen
  • Neuen Programmierern rät er, hart zu arbeiten und mutig Fragen zu stellen
    • Die dümmste Frage sei die, die man nicht stellt
    • Man solle nicht denken, man sei nicht gut genug oder wisse zu wenig
  • Er empfiehlt Ruby und Rails, weil sie sich nach einem Wendepunkt leicht und erfreulich anfühlen können
  • Es sei auch gut, einen Mentor oder jemanden zu finden, der beim Wachstum hilft; als Ressource für Ruby-Lernende empfiehlt er First Ruby Friend
  • Als Kontaktkanäle nennt er LinkedIn und Twitter/X; nachdem seine bisherige persönliche Django-Website offline gegangen ist, plant er, www.lorrydriveloper.com mit Ruby on Rails neu aufzubauen

1 Kommentare

 
GN⁺ 2024-04-22
Hacker-News-Kommentare
  • Ich bin in Großbritannien den umgekehrten Weg gegangen: vom Entwickler (hauptsächlich C#) zum Lkw-Fahrer.
    Heute fahre ich alles vom 12-Tonnen-Solo-Lkw bis zum 44-Tonnen-Sattelzug, und in meiner Freizeit mit RoR und Golang zu entwickeln macht mir mehr Spaß, als es bezahlte Entwicklung je getan hat.
    Meine Wochenarbeitszeit ist von 38–40 Stunden auf durchschnittlich 50–52 Stunden gestiegen, aber HGV-Fahren wird deutlich besser bezahlt als mein Entwicklerjob damals. Das spiegelt allerdings vielleicht eher meine Fähigkeiten bzw. mein Level als Entwickler wider.

    • US-Amerikaner sollten wissen, dass die Vergütung von Entwicklern außerhalb der USA meistens so aussieht. Entwickler verdienen in der Regel genug zum Leben, aber keine absurd hohen Gehälter.
      Es gibt Ausnahmen, aber dafür muss man anspruchsvolle Interviews bestehen, und so etwas wie Praktikanten mit 200.000 Dollar Gesamtvergütung gibt es hier nicht.
      Deshalb sind auch Optionen wie ein Handwerk zu lernen, Scrum Master zu werden oder in den Verkehrsbereich zu gehen realistische Alternativen. Entwickler stecken in der Stagflation fest; zum Beispiel ist es selbst für die meisten Entwickler schwierig, im Großraum Sydney ein Haus innerhalb von 90 Minuten Pendelzeit zu kaufen. In 15 Jahren haben sich die Hauspreise verdreifacht, aber Entwicklergehälter oder Tagessätze sind nicht entsprechend gestiegen.
    • Solche Geschichten gefallen mir, weil sie daran erinnern, dass es nie zu spät ist, eine Veränderung im Leben anzugehen, die zu einem passt.
      Manche Menschen bleiben beim Vertrauten und fürchten große Veränderungen, aber vorübergehendes Unbehagen kann langfristig zu größerer Zufriedenheit führen. Ob man zum Lkw-Fahren wechselt, davon weggeht oder in irgendeine andere Rolle: Erzählt weiter davon – es kann jemanden inspirieren, der Burnout und Ernüchterung erlebt.
    • Dass private Coding-Projekte viel mehr Spaß machen als Arbeit, wirkt ziemlich natürlich.
      Wenn Beruf und Hobby gleich sind, macht es einen großen Unterschied, dass man außer sich selbst keinen Chef hat.
    • Interessant. Ich frage mich, ob Lkw-Fahren Spaß macht.
      Ich hatte früher mal darüber nachgedacht, aber ich machte mir Sorgen über Situationen, in denen man in den Ortskernen kleiner ländlicher Orte rangieren muss. In dem Dorf, in dem ich wohnte, wurden Häuser ziemlich oft angefahren. Ich frage mich, ob so etwas häufig vorkommt, ob man sehr stark unter engen Lieferzeitfenstern steht und wie lange es gedauert hat, den HGV-Führerschein zu machen.
    • Das sagt weniger über die Entwicklungsfähigkeiten aus als über Großbritannien. Entwickler in Großbritannien werden im Allgemeinen miserabel bezahlt, und seit dem Brexit gibt es aus unerfindlichen Gründen einen massiven Mangel an Lkw-Fahrern.
  • Es ist schön zu sehen, wenn Menschen später im Leben die Karriere wechseln, aber die Formulierung „Menschen, die Schwierigkeiten überwunden haben, um mit anderen auf demselben Spielfeld zu stehen“ fühlt sich ähnlich an wie Artikel darüber, dass Mitschüler Geld gesammelt haben, um jemandem einen Rollstuhl zu kaufen.
    Es ist schön zu wissen, dass es gute Menschen gibt, aber es blendet völlig die Realität aus, dass das System, in dem wir leben, bestimmte Menschen absichtlich unten hält.

    • Reddit wird auf HN nicht von allen geliebt, aber r/orphancrushingmachine behandelt genau so etwas.
      Geschichten wie: „Die Klassenkameraden haben zusammengelegt, um ein Waisenkind vor der Waisenzerkleinerungsmaschine zu retten!“ Aber die Frage bleibt: Warum gibt es diese Maschine überhaupt?
    • Ich widerspreche entschieden der Vorstellung, 38 als spätere Lebensphase zu betrachten.
    • „Bestimmte Menschen unten zu halten“ ist der Hauptzweck des Bildungssystems. Genau dazu wird man erzogen.
      Wenn jemand, der angeblich unten bleiben soll, Erfolg hat oder – Gott bewahre – sogar herausragt, stößt er auf Widerstand oder extreme Bestrafung. Manchmal subtil, aber oft geschieht es ganz offen hinter verschlossenen Türen durch eine kleine Gruppe von Menschen.
    • Das Heimtückische daran ist, dass niemand jemanden „absichtlich“ ins Visier nimmt, um ihn herunterzuziehen.
      Es ist eher ein Versagen, Prioritäten richtig zu setzen und dafür zu sorgen, dass Steuern ausgewogen so eingesetzt werden, dass sie das Leben und die Ergebnisse einzelner Bürger verbessern.
      Es wäre besser gewesen, diese Arbeit von Anfang an entsprechend ihrem Wert zu bezahlen, damit Menschen nicht so große Anstrengungen unternehmen müssen, um sich seitlich auf dem Arbeitsmarkt zu bewegen.
  • Ich würde Programmieren gern einmal ausprobieren, aber wenn man aus dem Finanzbereich kommt, ist die Gehaltsrechnung nicht so einfach wie bei einem Lkw-Fahrer.
    Ich müsste wohl direkt in eine ziemlich seniorige Position einsteigen, und das ist wenig realistisch.

    • Das hängt davon ab, ob Finanzbereich Banking oder Accounting bedeutet. Wenn es Banking ist, könntest du dir StratPy oder Python ansehen und einen eher quantnahen Weg einschlagen; die Vergütung kann dort ordentlich sein.
    • Der Mann im Artikel hat eine Gehaltskürzung von 66 % in Kauf genommen.
  • Manchmal frage ich mich, wie die Welt ausgesehen hätte, wenn Orte wie die Flatiron School und diverse Bootcamps statt Ruby Elixir gelehrt hätten.
    Und „lorry“ ist wirklich ein schönes Wort; schade, dass man es in den USA nicht verwendet.

    • Diese Welt wäre vermutlich nicht von der heutigen zu unterscheiden. Mit Ruby ist nichts falsch.
    • Ich glaube nicht, dass bestehende Elixir-Unternehmen nach Entwicklern suchen, die gerade erst ein Bootcamp abgeschlossen haben.
      Bevor es genug solcher Absolventen gibt, dass ihr Tech-Stack die Wahl neuer Projekte beeinflusst, hätten sie auf dem Markt kaum Gewicht – und dazu wäre es wahrscheinlich nie gekommen. Für Junior-Entwickler ohne CS-Abschluss ist schon „nur Ruby können“ eigentlich eine ziemlich enge Option; Ruby wurde aber unterrichtet, weil es schon vor den Bootcamps populär war. Ich mag Elixir, aber wenn sie das gemacht hätten, hätten die meisten Schulen wahrscheinlich nach ein paar Monaten geschlossen, und die Absolventen hätten nicht viel davon gehabt.
    • Ich frage ernsthaft, was damit gemeint ist. Elixir ist zwar ein anderes Programmierparadigma, aber ich habe noch nicht verstanden, warum es Ruby grundsätzlich „überlegen“ sein sollte.
  • Ich war früher KDE-Entwickler.
    Es gab interessante Fälle, wie Community-Mitglieder in die IT kamen: etwa eine Sopranistin, die Community-Managerin wurde, oder eine Großmutter, die Entwicklerin wurde, weil sie Spiele für ihre Enkel verbessern wollte. Das waren gute Zeiten.

  • Als jemand, der fast 38 ist, fühlt sich das nicht nach einem besonders hohen Alter an.

    • 38 ist ziemlich jung, und man hat schon einiges über das Leben gelernt.
      Seltsamerweise glauben Menschen in ihren Zwanzigern mit zwei Jahren Berufserfahrung, jemand, der auf die 40 zugeht, könne sich in zwei Jahren nicht dasselbe Wissen aneignen wie sie. Im Gegenteil: Menschen in ihren Vierzigern und Fünfzigern sind dank Lebenserfahrung wahrscheinlich pragmatischer und disziplinierter, achten mehr auf Details und haben mehr Geduld.
    • Je älter ich werde, desto mehr merke ich, dass Besessenheit vom Alter so ähnlich ist wie Tratsch. Es wirkt wie etwas, das eher Menschen mit geringer Intelligenz tun.
      Bis man in die Achtziger kommt, wo die Wahrscheinlichkeit von kognitivem Abbau oder Gebrechlichkeit steigt, ist es schwer, jemanden wirklich alt zu nennen. Als Kind dachte ich, Menschen in den Vierzigern seien alt, aber wenn man darüber nachdenkt, bleiben von da an immer noch etwa 40 Jahre bis zum echten Altsein. Das ist viel länger, als die meisten Unternehmen, Ehen oder Karrieren bestehen.
  • Sind Ruby on Rails-Stellen immer noch ziemlich gefragt?

    • Ich höre viel zu oft, wie Recruiter sich beschweren, dass sie keine Kandidaten finden, die eine bestimmte Sprache XYZ beherrschen – das ist einer der nervigsten Aspekte am Programmieren.
      Gute Entwickler können sich in ein paar Wochen in eine neue Sprache einarbeiten. Ich habe das selbst so gemacht und auch gesehen, wie ein Team mit einem für es völlig neuen Stack eine ganze Plattform gebaut hat. Beim Programmieren geht es vor allem darum, Probleme zu zerlegen, Lösungen zu entwerfen und sie umzusetzen. Code ist nur das Ergebnis davon.
    • Interessant ist hier, dass es Ruby ist.
      Nach meinem Gefühl in meiner Region kann es, wenn man aus einem nicht traditionellen Hintergrund kommt und keinen CS-Abschluss hat, sinnvoller sein, eine etwas weniger typische Sprache wie Ruby oder Python zu lernen. Wenn man sich bei Unternehmen bewirbt, die populärere Sprachen einsetzen, konkurriert man mit einem Meer von Kandidaten, die Abschlüsse und Erfahrung genau in dieser Sprache haben.
      Ruby- oder Python-Unternehmen scheinen eher offen dafür zu sein, jemanden ohne den erwarteten Abschluss einzustellen, und sind in vielerlei Hinsicht vermutlich auch etwas lockerer. Ich habe fast nur in Java-Unternehmen gearbeitet, aber einmal bei einem Python-Unternehmen; dieses Team hasste Java/C++/C# beinahe politisch und war kämpferisch davon überzeugt, wie großartig Python ist. Wenn man dieses Gefühl teilte, hätten sie wohl eine starke Nähe zu einem Kandidaten empfunden.
      Dort, wo ich jetzt arbeite, gab es seit Langem ein ungewöhnliches Produkt, das mit Ruby on Rails gebaut war, und auch dieses Team war ähnlich leidenschaftlich und auf merkwürdige Weise politisch davon überzeugt, dass Ruby allem überlegen sei, und stellte mehr Leute mit nicht traditionellem Hintergrund ein. Auch nachdem ich die Python-Stelle verlassen hatte, kontaktierten mich jahrelang Recruiter, die ausschließlich Entwickler für Python suchten, als wäre das wichtiger als Produkt, Teamzusammensetzung oder Unternehmenskultur. Wenn sie Stellen in Java- oder C#-Teams vorstellen, betonen sie normalerweise eher das Unternehmen, die Investoren oder das Produkt als die Sprache.
    • Ja, es ist populär genug, dass man ziemlich leicht einen Job finden kann.
      Es gibt weniger Ausschreibungen als für JS, Java oder C#, aber auch weniger Ruby-Entwickler. Das war schon immer so.
    • Recruiting für Ruby on Rails war eine wirklich unangenehme Erfahrung.
      Es gibt zu viele Leute, die die behauptete Erfahrung in Wirklichkeit nicht haben, und wenn man grundlegende Programmierfragen stellt, die ein Senior Developer beantworten können sollte, gehen etwa 80 % der Kandidaten direkt zu ChatGPT und geben die Antwort als ihre eigene aus. Das ist nicht einmal LeetCode, sondern auf dem Niveau von „Was ist Polymorphie?“ oder „Was ist Refactoring?“.
      Vielleicht ist die gesamte Branche inzwischen so, aber weil der Talentpool klein ist, fällt es viel stärker auf. Wenn es nach mir ginge, würden wir bei der Arbeit etwas anderes verwenden, und das nicht nur wegen des kleinen Talentpools. Viele der „angenehmen“ und zeitsparenden Features von Rails haben bei komplexen Anwendungen kaum Wirkung oder werden zu scharfen Kanten, die uns ausbremsen.
    • Wenn man nach Remote-Stellen in den USA sucht, scheint es etwas weniger beliebt zu sein als Django, und es wirkt, als hielte es sich vor allem dank Ausschreibungen von GitHub und Shopify.
      Node, dotnet, Go und Java wirken alle populärer.
  • Der Teil „Ich entschied mich, zur Flatiron School zu gehen. Wenn ich nach Abschluss des Kurses keinen Job bekam, musste ich nichts bezahlen“ ist der Kernpunkt.
    Ich habe ebenfalls ein Bootcamp besucht, eines mit Aufnahmeinterview, und das war für Anfänger ein ziemlich schwieriges echtes Interview. Das Bootcamp-Modell kann, wenn es gut umgesetzt ist, tatsächlich sehr gut sein. Natürlich gibt es auch Korruption und Betrug, und leider haben viele unschuldige Menschen Geld verloren.
    Wenn man also ein Bootcamp in Betracht zieht, sollte man eines wählen, in das man schwer hineinkommt und das einen Income Share Agreement anbietet. Allerdings können auch Income Share Agreements fragwürdig sein. Manchmal verlangen sie Rückzahlung sogar dann, wenn man einen Job bekommt, der nichts mit Tech zu tun hat, zum Beispiel im Einzelhandel.

    • Nach den jüngsten Diskussionen zu BloomTech/Lambda School bin ich bei Income Share Agreements sehr vorsichtig geworden.
      https://news.ycombinator.com/item?id=40067939
    • Auch Income Share Agreements können fragwürdig sein.
      Meiner Erfahrung mit solchen Modellen nach sind sie meist sehr ausbeuterisch und zielen oft auf verletzliche Menschen ab. Der größte Hinweis ist, dass die meisten dieser Anbieter die Vertragsbedingungen nicht öffentlich bereitstellen. In der Regel muss man erst stundenlang durch einen Prozess, bevor man die Details erfährt, weil sie aus genau dem genannten Grund nicht wollen, dass sich diese Informationen verbreiten.
      Umgekehrt kann man das auch als schnellen Filter nutzen. Wenn man fragt: „Können Sie mir die Details jetzt schicken?“ und die Antwort lautet: „Nicht, bevor Sie zu einem vierstündigen Vor-Ort-Seminar kommen“, kann man direkt weiterziehen.
  • „Mit 40 als Lkw-Fahrer?“
    Daran zeigt sich der Ageism in unserer Branche. Wer mit 38 in diesen Beruf einsteigt, wird behandelt, als wäre er ein Mensch aus der Antike, fast wie ein Ausstellungsstück in einer Freakshow.