RicoCheesethe studio log · v2.0
Live · KRRead posts
목록으로
뉴스PUBLISHED · 2026년 8월 1일·8 MIN READ

Laravel을 모르는 채로 Laravel 프로젝트에 기여한 방법

React·JavaScript 배경의 개발자가 PHP와 Laravel로 된 낯선 코드베이스에 두 달 만에 기여하기까지의 과정. 이미 아는 개념과 연결하기, 핵심 20%만 익히기, 준비되기 전에 시작하기라는 세 가지 접근을 정리했다.

#career#webdev#beginners#programming#backend
How I Contributed to a Laravel Application Without Knowing Laravel

개요 #

React와 JavaScript를 주로 다루던 개발자가 두 달 전 PHP와 Laravel로 짜인 코드베이스를 넘겨받았다. 처음엔 의미 있는 기여를 하기까지 몇 달은 걸리겠다고 각오했지만, 실제로는 그렇지 않았다.

Elmar Chavez는 어느 날 오후 키보드를 청소하다가 빼놓은 키캡 더미를 보고 어린 시절 퍼즐 맞추던 기억을 떠올렸다. 퍼즐은 조각 전체를 한꺼번에 노려본다고 풀리지 않는다. 익숙한 조각 하나를 옆 조각에 붙이다 보면 그림이 서서히 드러난다. 낯선 기술을 익히는 방식도 그와 다르지 않았다는 게 그의 결론이다.

코드베이스를 파고들면서 그는 자신이 머릿속으로 일종의 학습 단계를 만들어내고 있다는 걸 알아차렸다. 그렇게 추려진 게 아래 세 가지다.

백지에서 시작하는 게 아니다 #

처음엔 완전히 원점으로 돌아간 기분이었다고 한다. 그런데 몇 주가 지나자 생각이 달라졌다. 패키지 매니저, Git, 디버깅, 프로젝트 구조 — 이미 아는 개념들이었다. 다만 Laravel에서 그것들을 뭐라고 부르는지 몰랐을 뿐이다.

질문의 방향도 자연스럽게 바뀌었다. "Laravel을 어떻게 배우지?"에서 "내가 아는 그것의 Laravel 버전은 뭐지?"로. 새 지식을 맨땅에 심는 대신 이미 편한 개념에 이어 붙이는 셈이다.

React에 컴포넌트가 있다면 Laravel에는 Blade 템플릿과 Livewire 컴포넌트가 있다. 도구는 다르지만 개념은 같다.

Same same, but different, but still same

프레임워크마다 같은 문제를 푸는 저마다의 문법이 있다. 그 대응 관계(parallels)를 찾아내는 건 결국 개발자 몫이다.

이 방식은 꼭 프레임워크에만 쓸 수 있는 건 아니다. 새로 배울 게 생기면 이미 아는 것 중 비슷한 무언가와 연결해보자. 아이디어끼리 붙는 속도가 빨라지고 학습도 훨씬 수월해진다.

결정적인 20%만 익힌다 #

예전의 그는 전부 다 알아야 직성이 풀리는 학생이었다. 그러지 않으면 아예 이해를 못 할 것 같았다고. 나이를 먹으면서 생각이 바뀌었다. 시작하기에 충분한 만큼만 알면 그걸로 넘친다.

생산적으로 일할 수 있을 만큼만 배워라.

첫날부터 무언가를 깊이 파고드는 건 뇌에 내리는 사형 선고다.

Learning underwater meme

그래서 전부 배우려 들지 않았다. 대신 하루 업무의 80%를 처리할 수 있게 해주는 Laravel의 20%에 집중했다.

여기서부터가 핵심이다. 그는 실수를 저질렀고, 대부분은 꽤나 웃긴 실수였다. 중학생 시절의 자신이었다면 스스로에게 크게 실망했을 것이다.

지금은 다르다. 그런 실수를 발견하는 게 오히려 반갑다. 무엇을 배워야 하는지 정확히 짚어주기 때문이다. 학교처럼 강의계획서를 받아드는 상황이 아니다. 실수가 터진 다음에야 배울 거리를 스스로 찾아내는 구조다.

이 방식이 굴러가려면 그 교훈들을 건너뛰지 않을 규율이 필요하다. 새로운 것을 이해하려고 낑낑대는 과정, 그게 좋은 엔지니어를 만든다.

준비되기 전에 시작한다 #

이 단계가 보기보다 어렵다. 특히 모든 게 처음부터 갖춰져 있길 바라는 성향이라면 더 그렇다. 하지만 콜로세움 안으로 깊이 들어갈수록 자기 약점이 또렷하게 보인다.

내가 어디가 부족한지는 그 누구도 나보다 잘 알려줄 수 없다.

그래서 정면으로 부딪쳐보기로 했고, 보기 좋게 실패했다. Docker 환경, Linux, WSL, Ubuntu — 전부 처음이었다. 기여를 시작할 수 있는 로컬 개발 환경을 굴리는 데만 약 3주가 걸렸다.

대신 배운 게 정말 많았다. 그 과정에서 CI까지 익혔고, 곧바로 자기 웹 포트폴리오에 적용했다. 경험을 기록한 영상도 만들었다.

Pull request CI

영상은 이 풀 리퀘스트에서 볼 수 있다. 누구나 한 번쯤 겪어본 감정일 거라고 그는 덧붙였다 🤣

무엇보다 진짜를 겪었다. 자기 것도 아니면서 고치고 유지하고 확장할 책임은 자기에게 있는, 지저분한 실제 웹 애플리케이션. 개인 프로젝트 몇 개로는 도저히 흉내 낼 수 없는 경험이었다.

마무리 #

돌아보면 적응했고, 기여했고, 팀 기술 미팅에서 자기 작업을 발표까지 했다. 그 점이 스스로 흡족하다고 한다.

불편함 속에서 사는 게 점점 편해지고 있다.

필요할 땐 물었고, 도울 수 있을 땐 도왔다. 그것만으로도 보람이 있었다. 커리어 초반을 지나며 자신 있게 할 수 있는 말이고, 앞으로가 기대된다는 말로 글을 맺는다.

Jake Gyllenhal Bye Bye


이 글은 위 출처를 바탕으로 한국 독자를 위해 재작성한 기사입니다. 원문의 사실과 수치에 근거하며, 별도의 견해를 포함하지 않습니다.