Pedros Geschichte: Mit 38 vom Lkw-Fahrer zum Ruby-on-Rails-Entwickler
(writesoftwarewell.com)- 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
- Technische Bücher begann er erst später in seiner Karriere zu lesen, als er verschiedene Lücken bemerkte; er meint, dass er noch viele Bücher lesen müsse
- Bücher, die ihn beeindruckt haben, sind:
- Layered Design for Ruby on Rails Applications, Vladimir Dementyev
- Rebuilding Rails, Noah Gibbs
- Ruby Under a Microscope, Pat Shaughnessy
- Practical Object-Oriented Design in Ruby, Sandi Metz
- Er bewundert Menschen, die gut programmieren, Leidenschaft mitbringen und ihr Wissen teilen
- Als Personen und Projekte, denen er dankbar ist, nennt er Quincy Larson, freeCodeCamp und Content Creator
- Auch Avi Flombaum, der sein Lehrer an der Flatiron School war, ist ihm in Erinnerung geblieben; außerdem hätten die Menschen, mit denen er zusammenarbeitete, ihm geholfen, als Entwickler und als Mensch zu wachsen
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
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.
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.
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.
Wenn Beruf und Hobby gleich sind, macht es einen großen Unterschied, dass man außer sich selbst keinen Chef hat.
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.
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.
Geschichten wie: „Die Klassenkameraden haben zusammengelegt, um ein Waisenkind vor der Waisenzerkleinerungsmaschine zu retten!“ Aber die Frage bleibt: Warum gibt es diese Maschine überhaupt?
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.
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.
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.
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 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.
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.
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?
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.
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.
Es gibt weniger Ausschreibungen als für JS, Java oder C#, aber auch weniger Ruby-Entwickler. Das war schon immer so.
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.
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.
https://news.ycombinator.com/item?id=40067939
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.