5P by GN⁺ | ★ favorite | 댓글 1개
  • Pedro David Garcia Lopez는 스페인 출신으로 2015년 영국에 이주해 트럭 운전사로 일하다가, 38세에 Ruby on Rails 개발자로 커리어를 바꿈
  • 운전사 시절에는 한 달에 집에 머무는 시간이 보통 4~6일뿐이어서, 가족 역할과 긴 근무시간 사이에서 꾸준한 학습 시간을 만들기 어려웠음
  • 2019년 9월부터 1년 안에 개발자가 되겠다는 목표를 세우고, Python과 Udemy 강의를 거쳐 Flatiron School 부트캠프에서 Ruby, Sinatra, Rails, React를 배움
  • 2020년 COVID 상황에서 첫 개발자 일자리를 구해야 했고, 몇 달간 면접 연락이 없다가 Manchester의 첫 기회를 낮은 급여와 긴 출퇴근 조건에도 받아들임
  • 현재는 Ruby와 Rails의 생산성과 즐거움을 높게 평가하며, 새 프로그래머에게는 모든 것을 좇기보다 배우는 법, 질문, 멘토 찾기에 집중하라고 조언함

트럭 운전사에서 개발자로 바뀐 경로

  • Pedro David Garcia Lopez는 42세 스페인인으로, 2015년에 영국으로 이주했다가 가족과 가까이 지내기 위해 스페인으로 돌아갈 계획임
  • 영국에는 2015년 트럭 운전사로 왔고, 딸에게도 새로운 기회를 주고 영어를 제대로 배우고 싶다는 이유가 있었음
  • 운전사로 일할 때는 영국과 유럽 각지를 오갔으며, 집에는 보통 한 달에 4~6일 정도만 머물렀음
  • 전문 운전사로서 도로 위 거의 모든 종류의 차량을 몰아봤고, EU 대륙 국가들을 적어도 한 번씩 다녀봤으며, 트럭 주행거리만으로 지구를 여러 번 돌 만큼의 거리를 달림

컴퓨터에 대한 관심과 초기 학습 실패

  • 처음 컴퓨터를 접한 것은 약 12세 때 여름 타자 수업에서였고, MS-DOS나 Windows 3.1을 다루며 컴퓨터에 매료됨
  • 14세에 아버지가 세상을 떠난 뒤 공부와 가족 부양을 병행해야 했기 때문에, 집에 컴퓨터를 들이는 일은 거의 불가능했음
  • 18세에 정규직으로 일하며 3개월 동안 돈을 모아 첫 컴퓨터인 Pentium II를 샀고, 그때부터 프로그래밍을 배우고 싶어짐
  • C++ 책으로 시작했지만 너무 기술적이고 어려워 흥미로운 것을 만들지 못했고, 이후 생활에 밀려 프로그래밍을 깊이 파고들지 못함

1년 안에 개발자가 되겠다는 결정

  • 영어 실력이 나아지고 온라인 정보 접근이 쉬워지면서, 어릴 때 품었던 개발자 꿈을 다시 떠올림
  • YouTube에서 HTML, CSS, JavaScript 강의를 들었고, “7일 만에 프로그래머 되기” 류의 강의도 시도함
  • freeCodeCamp는 더 구조적이고 진지했지만, 트럭 운전의 긴 근무시간과 아버지·남편으로서의 역할 때문에 충분한 학습 속도를 만들기 어려웠음
  • 오랜 운전 생활과 가족 돌봄 이후, 안정적인 직장을 그만두고 1년 안에 개발자가 되거나 포기하겠다는 계획을 세움
  • 2019년 9월에 본격적으로 시작했으며, Python과 Udemy 강의로 기초를 배웠지만 따라 할 수는 있어도 직접 만들 수 있다는 확신은 얻지 못함

Flatiron School과 첫 취업

  • 여러 선택지를 검토한 끝에 Flatiron School에 들어감
    • 과정을 마친 뒤 일자리를 얻지 못하면 비용을 내지 않아도 되는 조건이라 위험이 작다고 느낌
  • 부트캠프에서는 Ruby 기초부터 Sinatra, Ruby on Rails, React까지 구조적으로 배움
  • 교사, 동료, 과제, 연습을 통해 단순히 따라 하는 수준을 넘어 새로운 것을 만들 수 있게 됨
  • 2020년 5월 말 과정을 마쳤고, 스스로 문제를 찾아 해결하고 새 것을 배울 수 있다는 감각을 얻음
  • 졸업 시점은 COVID 시기였고, 봉쇄 상황 때문에 면접이나 사람들과 연결될 기회가 적었음
  • 38세의 무경력 부트캠프 졸업생이라는 조건에서 몇 달간 면접 연락을 받지 못해 이력서가 버려지는 것은 아닌지 불안해함
  • 첫 기회는 Manchester에서 나왔고, 집에서 기차로 2시간 거리였으며 재택근무 정책이 없었음
    • 급여는 트럭 운전사 때의 3분의 1 수준이었고, 상당 부분이 기차 비용으로 들어감
    • 기술 스택은 PHP와 jQuery였지만, 개발자로 시작해야 한다는 이유로 제안을 받아들임

Ruby와 Rails에 대한 평가

  • Ruby와 Rails는 부트캠프에서 처음 접했고, Superbyte에서 일하며 더 많은 경험을 쌓음
  • Superbyte에서는 Mongoid와 일부 React를 포함한 비표준 스택을 썼지만, 팀에서 많은 것을 배움
  • Ruby on Rails로 전문 경험을 쌓은 뒤 애정이 더 커졌고, Rails의 컨벤션에 익숙해지면 많은 일이 쉬워진다고 봄
  • Ruby와 Rails의 매력으로는 커뮤니티와 계속 발전하는 생태계를 꼽음
  • React에서 벗어나 Hotwire 생태계를 받아들이는 데 기대감을 갖고 있으며, Rails 방식으로 많은 부분을 다룰 수 있다는 점을 긍정적으로 평가함

책, 롤모델, 학습 방식

현재 일하는 방식과 도구

  • 짧은 커리어 동안 완전 재택, 하이브리드, 주 5일 사무실 근무를 모두 경험함
  • 스페인으로 돌아갈 계획과 함께, 4월 중순부터 gocertify완전 원격 역할로 이동할 예정임
  • Superbyte에서는 Junior Developer에서 더 세미 시니어에 가까운 역할로 이동했고, 코드 작성, 개념 설계, 일부 R&D에 참여함
  • 대부분의 시간은 코드를 작성하지만, 페어 프로그래밍과 PR 리뷰도 즐김
  • 가르치는 것이 개념을 배우는 가장 좋은 방법이라고 보고, 동료에게 접근법을 제안하거나 동료에게 배우는 일을 좋아함
  • 자주 쓰는 도구는 다음과 같음
    • 코드 편집기: VS Code
    • 데이터베이스 GUI: MongoDB Compass
    • 터미널: iTerm with oh my zsh
    • 브라우저: Chrome
    • 노트와 프로젝트 관리: Apple Notes, VS Code Markdown, GitHub projects/issues
    • 커뮤니케이션: Microsoft Teams

새 프로그래머에게 주는 조언

  • 가장 중요한 조언은 배우는 법을 배우라는 것임
  • 사람마다 배우고 기억하는 방식이 다르므로, 자신에게 맞는 학습 방식을 찾아야 함
  • Pedro는 직접 만들거나 튜토리얼을 본 뒤 복제하고, 더 나아가 관심 있는 영역으로 확장하는 방식으로 배움
  • 책은 처음에는 코딩 없이 읽고, 다시 읽을 때는 따라 하기보다 가이드처럼 사용함
  • 모든 것을 배워야 한다고 느낄 필요는 없으며, 좋아하는 것 하나에 집중하는 편이 너무 많은 것을 얕게 배우는 것보다 더 멀리 갈 수 있음
  • 새 프로그래머에게는 열심히 일하고, 과감하게 질문하라고 조언함
    • 가장 어리석은 질문은 하지 않은 질문이라고 봄
    • 자신이 충분하지 않거나 너무 적게 안다고 느끼지 말라고 말함
  • Ruby와 Rails는 전환점을 지나면 쉽고 즐겁게 느껴질 수 있다고 권함
  • 멘토나 성장을 도와줄 사람을 찾는 것도 좋으며, Ruby 학습자를 위한 자원으로 First Ruby Friend를 제안함
  • 연락 채널로는 LinkedIn, Twitter/X를 두고 있으며, 기존 Django 개인 사이트가 내려간 것을 계기로 Ruby on Rails로 www.lorrydriveloper.com을 다시 만들 계획임

댓글과 토론

Hacker News 의견들
  • 영국에서 개발자(주로 C#)에서 화물차 운전으로 반대로 전향했음
    지금은 12톤 고정식 트럭부터 44톤 대형 트레일러까지 몰고, 여가 시간에는 RoR와 Golang으로 개발하는 게 돈 받고 개발할 때보다 더 즐거움
    주당 근무 시간은 38~40시간에서 평균 50~52시간으로 늘었지만, HGV 운전이 개발자였을 때보다 보상은 훨씬 좋음. 다만 이건 개발자로서의 실력이나 레벨을 더 반영하는 걸 수도 있음

    • 미국 바깥의 개발자 보상은 대체로 이렇다는 걸 미국 사람들도 알아야 함. 개발자는 보통 먹고살 만큼은 받지만, 터무니없이 높은 연봉은 아님
      예외는 있지만 까다로운 면접을 통과해야 하고, 여기엔 총보상 20만 달러 인턴 같은 건 없음
      그래서 기술직을 배우거나 스크럼 마스터, 교통 관련 업무 같은 선택지도 현실적인 대안이 됨. 개발자는 스태그플레이션에 갇힌 상태고, 예를 들어 Sydney 대도시권에서 90분 통근 거리 안의 집을 사는 건 대부분 개발자에게도 어려움. 15년 동안 집값은 세 배가 됐지만 개발자 연봉이나 계약 단가는 그만큼 오르지 않았음
    • 이런 이야기는 자기에게 맞는 삶의 변화를 시작하기에 늦은 때는 없다는 걸 떠올리게 해줘서 좋음
      어떤 사람들은 익숙함에 머물고 큰 변화를 두려워하지만, 일시적인 불편이 장기적으로는 더 큰 만족으로 이어질 수 있음. 화물차 운전으로 오든 떠나든, 혹은 어떤 직무든 계속 이야기해주면 번아웃과 환멸을 겪는 누군가에게 영감이 될 수 있음
    • 일할 때보다 개인 코딩 프로젝트를 할 때 훨씬 더 즐거운 건 꽤 자연스러운 일 같음
      직업과 취미가 같을 때, 자기 자신 말고는 상사가 없다는 차이가 큼
    • 흥미롭네. 화물차 운전이 즐거운지 궁금함
      예전에 생각해본 적이 있는데, 작은 시골 마을 중심가에서 조작해야 하는 상황이 걱정됐음. 살던 마을에서는 집이 자주 들이받히곤 했음. 그런 일이 많은지, 아주 빡빡한 배송 시간 압박을 많이 받는지, HGV 면허 따는 데 얼마나 걸렸는지도 궁금함
    • 그건 개발 실력보다는 영국을 보여주는 것에 가까움. 영국 개발자는 대체로 형편없이 낮은 보수를 받고, Brexit 이후로는 이유를 알 수 없게도 화물 운전자가 크게 부족해졌음
  • 나이 들어 커리어를 바꾸는 걸 볼 수 있는 건 좋지만, “다른 사람들과 같은 운동장에 서기 위해 어려움을 극복한 사람들”이라는 표현은 휠체어를 사주려고 반 친구들이 모금했다는 식의 기사와 비슷한 느낌임
    세상에 선한 사람들이 있다는 건 기분 좋지만, 우리가 사는 시스템이 특정 사람들을 의도적으로 아래에 묶어두는 현실은 완전히 무시함

    • Reddit이 HN에서 모두에게 사랑받는 건 아니지만, r/orphancrushingmachine이 딱 이런 걸 다룸
      “반 아이들이 힘을 모아 고아를 고아 분쇄기에서 구하기 위해 기부했습니다!” 같은 이야기임. 그런데 애초에 왜 그 기계가 존재하냐는 질문이 남음
    • 38세를 인생 후반이라고 보는 데 강하게 반대함
    • “특정 사람들을 아래에 묶어둔다”는 게 교육 시스템의 주목적임. 그렇게 배우게 만드는 것임
      아래에 있어야 한다고 여겨지는 사람이 성공하거나, 신이 금지한 듯 뛰어나기라도 하면 저항이나 극단적인 처벌을 받게 됨. 때로는 은밀하게, 하지만 많은 경우 닫힌 문 뒤에서 소수의 사람들에 의해 노골적으로 일어남
    • 이게 악질적인 이유는 아무도 누군가를 “의도적으로” 겨냥해 끌어내리고 있지는 않다는 데 있음
      우선순위를 제대로 잡지 못하고, 세금이 개인 시민의 삶과 결과를 개선하는 데 쓰이도록 균형을 맞추지 못한 실패에 가까움
      사람들이 이렇게 노동시장에서 옆으로 옮기려고 큰 노력을 들이지 않아도 되게, 애초에 그 가치에 맞는 보수를 줬다면 더 좋았을 것임
  • 프로그래밍을 한번 해보고 싶긴 하지만, 금융 쪽에서 오면 화물차 운전사만큼 연봉 계산이 쉽지 않음
    꽤 시니어한 자리로 바로 들어가야 할 텐데, 그건 현실성이 낮음

    • 금융이 은행 쪽인지 회계 쪽인지에 따라 다름. 은행 쪽이라면 StratPy나 Python 등을 봐서 퀀트에 가까운 경로로 가면 보상이 괜찮을 수 있음
    • 기사 속 남자는 66% 연봉 삭감을 감수했음
  • 가끔 Flatiron School 같은 곳이나 여러 부트캠프가 Ruby 대신 Elixir를 가르쳤다면 어떤 세상이 됐을지 궁금함
    그리고 “lorry”는 정말 좋은 단어인데, 미국에서는 쓸 일이 없어 아쉬움

    • 그런 세상도 지금과 구분이 안 됐을 것 같음. Ruby에 문제는 없음
    • 기존 Elixir 회사들이 갓 부트캠프를 졸업한 수준의 개발자를 찾고 있을 것 같지는 않음
      그런 졸업생들의 기술 스택이 새 프로젝트 선택에 영향을 줄 만큼 충분히 많아지기 전에는 시장에서 무게를 갖기 어렵고, 아마 그렇게 되지도 않았을 것임. CS 학위 없는 신입 개발자에게 Ruby만 할 줄 아는 것도 사실 꽤 빡빡한 선택지인데, 그래도 Ruby는 부트캠프 이전부터 인기가 있었기 때문에 가르친 것임. Elixir를 좋아하긴 하지만, 그렇게 했다면 대부분 학교는 몇 달 안에 문을 닫고 졸업생도 별로 얻는 게 없었을 가능성이 큼
    • 진심으로 무슨 뜻인지 궁금함. Elixir는 다른 프로그래밍 패러다임이긴 하지만, Ruby보다 본질적으로 “더 낫다”는 걸 아직 이해하지 못했음
  • 예전에 KDE 개발자였음
    커뮤니티 구성원들이 IT로 들어온 흥미로운 경우가 있었는데, 소프라노가 커뮤니티 매니저가 되거나, 손주들을 위해 게임을 개선하고 싶어서 할머니가 개발자가 되는 식이었음. 좋은 시절이었음

  • 거의 38살인 입장에서는 그게 그렇게 많은 나이라고 느껴지지 않음

    • 38세는 꽤 젊고, 삶에 대해서도 이미 꽤 배운 나이임
      이상하게도 20대에 경력 2년인 사람들이 40에 가까운 사람이 자신들과 같은 지식을 2년 안에 얻을 수 없다고 생각함. 오히려 40대와 50대는 삶의 경험 덕분에 더 실용적이고 규율이 있으며, 세부에 더 주의를 기울이고 인내심도 더 있을 가능성이 큼
    • 나이가 들수록 나이에 집착하는 것은 험담과 비슷하다는 걸 깨닫게 됨. 지능 낮은 사람들이 하는 일에 가깝다는 느낌임
      인지 저하나 쇠약함이 나타날 가능성이 커지는 80대가 되기 전까지는 정말 늙었다고 보기 어려움. 어릴 땐 40대가 늙었다고 생각했지만, 생각해보면 그때부터도 진짜 늙기까지 40년쯤 남아 있음. 그건 대부분의 회사, 결혼, 커리어가 지속되는 기간보다 훨씬 김
  • Ruby on Rails 자리는 아직도 꽤 인기 있나?

    • 채용 담당자들이 특정 언어 XYZ에 능숙한 후보를 못 찾겠다고 불평하는 걸 너무 자주 듣는데, 프로그래밍에서 가장 짜증 나는 부분임
      좋은 개발자는 몇 주면 새 언어를 따라잡을 수 있음. 나도 그렇게 해봤고, 팀이 완전히 처음인 스택으로 전체 플랫폼을 만드는 것도 봤음. 프로그래밍은 주로 문제를 쪼개고, 해법을 만들고, 구현하는 일임. 코드는 그 결과물일 뿐임
    • 여기서 Ruby라는 점이 흥미로움
      내 지역에서의 감으로는, 비전통적 배경에서 왔고 CS 학위가 없다면 Ruby나 Python처럼 조금 덜 전형적인 언어를 공부하는 편이 나을 수 있음. 더 인기 있는 언어를 쓰는 곳에 지원하면 그 언어 학위와 경험을 가진 후보들의 바다에서 경쟁해야 함
      Ruby나 Python 회사는 기대되는 학위가 없는 사람을 채용하는 데 좀 더 열린 편일 것 같고, 여러 면에서 조금 더 느슨할 가능성도 있음. 거의 Java 회사에서만 일했지만 한 번 Python 회사에서 일한 적이 있는데, 그 팀은 Java/C++/C#을 거의 정치적으로 싫어했고 Python이 훌륭하다는 데 전투적이었음. 그 감정을 공유하면 후보에게 강한 친밀감을 느꼈을 것임
      지금 일하는 곳에는 오래전부터 Ruby on Rails로 만들어진 특이한 제품이 하나 있었고, 그 팀도 Ruby가 무엇보다 낫다고 강하게 믿는 비슷하게 열정적이고 묘하게 정치적인 팀이었으며 비전통적 배경의 사람을 더 많이 채용했음. Python 자리에서 떠난 뒤에도 몇 년간 Python을 할 개발자만 찾는 리크루터들이 연락했는데, 마치 제품이나 팀 구성, 회사 문화보다 그게 더 중요하다는 듯했음. Java나 C# 팀의 일자리를 소개할 때는 보통 언어보다 회사, 투자자, 제품 같은 걸 강조함
    • 네, 일자리를 꽤 쉽게 찾을 수 있을 만큼은 인기가 있음
      JS, Java, C#보다 공고 수는 적지만 Ruby 개발자도 더 적음. 예전부터 늘 그랬음
    • Ruby on Rails 채용은 정말 불쾌한 경험이었음
      실제로는 주장하는 경험이 없는 사람이 너무 많고, 시니어 개발자라면 말할 수 있어야 할 기본적인 프로그래밍 질문을 하면 후보의 약 80%가 ChatGPT로 곧장 가서 자기 답인 척함. LeetCode 같은 것도 아니고 “다형성이 무엇인가”, “리팩터링이 무엇인가” 수준임
      업계 전체가 이렇게 된 걸 수도 있지만, 인재 풀이 작으니 훨씬 더 뚜렷하게 보임. 내 마음대로라면 직장에서 다른 걸 썼을 것이고, 인재 풀이 작은 것만이 이유도 아님. Rails의 “즐겁고” 시간을 아껴준다는 기능 상당수는 복잡한 애플리케이션에서는 영향이 별로 크지 않거나, 우리를 늦추는 날카로운 모서리로 바뀜
    • 미국 원격 근무 자리를 찾을 때 보면 Django보다 조금 덜 인기 있는 것 같고, GitHub와 Shopify 공고 덕분에 버티는 느낌임
      Node, dotnet, Go, Java가 모두 더 인기 있어 보임
  • “Flatiron School에 들어가기로 했다. 과정을 마친 뒤 일자리를 얻지 못하면 비용을 내지 않아도 됐다”는 부분이 핵심임
    나도 부트캠프를 다녔고, 입학 면접이 필요한 곳 중 하나였는데 초보자에게는 꽤 어려운 진짜 면접이었음. 부트캠프 모델은 잘 구현되면 실제로 아주 좋음. 물론 부패와 사기도 있고, 안타깝게도 많은 무고한 사람들이 돈을 잃었음
    그래서 부트캠프를 고려한다면 들어가기 어렵고 소득 공유 계약이 있는 곳을 고르는 게 좋음. 다만 소득 공유 계약도 수상할 수 있음. 가끔 기술과 무관한 일자리, 예를 들어 소매업 일자리를 얻어도 상환을 요구함

    • 최근 BloomTech/Lambda School 관련 논의를 보고 소득 공유 계약을 매우 경계하게 됨
      https://news.ycombinator.com/item?id=40067939
    • 소득 공유 계약도 수상할 수 있음
      이런 유형에 대한 내 경험으로는 대체로 매우 착취적이고 취약한 사람들을 노리는 경우가 많았음. 가장 큰 단서는 이런 곳 대부분이 계약 조건을 공개적으로 제공하지 않는다는 점임. 보통 세부사항을 알기까지 몇 시간씩 절차를 거쳐야 하는데, 방금 말한 이유 때문에 정보가 퍼지는 걸 원하지 않기 때문임
      반대로 빠른 필터로도 쓸 수 있음. “지금 세부사항을 보내줄 수 있나요?”라고 물었을 때 “4시간짜리 현장 세미나에 오기 전엔 안 됩니다”라고 하면 바로 넘기면 됨
  • “40살에 화물차 운전사로?”
    우리 업계의 연령차별이 드러남. 38세에 이 직업을 시작하는 게 고대인 취급을 받고, 거의 괴짜 쇼 전시물처럼 다뤄지는 분위기임