학습 정리/📗 개발 서적 읽기

<나는 네이버 프런트엔드 개발자입니다> - 김지한, 하성욱, 장기효, 윤정현, 손찬욱, 김다현, 박재성, 윤영제

무딘붓 2024. 2. 28. 10:38

 

처음에는 프런트엔드 개발자로 취업하기 위해 갖출 점을 찾기 위해 읽기 시작했지만, 취업 이야기만큼이나 선배 개발자들의 성장 이야기도 인상적이었던 책이었다.

 

책은 총 8명의 네이버 프런트엔드 개발자가 말하는 이야기로 만들어졌다. 딱딱한 개발 이야기만 있는 것이 아니라 프런트엔드 초창기 개발 이야기, 다양한 일과 업무를 거쳐 프런트엔드 개발자가 되기까지의 이야기 등 가볍게 읽을 수 있는 내용도 많아 읽는 데 부담은 없었다. 개발자님들의 각 이야기는 다음과 같이 구성되어 있다.

 

  • 프런트엔드 개발자가 되려면 무엇을 공부해야 하나요? (김지한)
  • 미국의 신입 개발자 한국으로 돌아오다 (하성욱)
  • 프런트엔드 개발 상담, 무엇이든 물어보세요 (장기효)
  • 오류와 실수, 신기술 도입, 성능 지표 이야기 (윤정현)
  • 꿈을 현실로, 프런트엔드 솔루션과 서비스 개발 (손찬욱)
  • 임베디드에서 프런트엔드 개발자가 된 우여곡절 (김다현)
  • 글로벌 오픈소스 프런트엔드 개발자로 성장하기 (박재성)
  • 유사 전공자의 개발자 그리고 리더 이야기 (윤영제)

 

여러 학습 팁을 알려준 장기효 개발자님의 이야기, FE 개발자가 되기까지의 우여곡절을 다룬 김다현 개발자님의 이야기도 재미있었다. 가장 기억에 남는건 '글로벌 오픈소스 프런트엔드 개발자로 성장하기'라는 주제로 이야기한 박재성 개발자님의 이야기였다.

 

박재성 개발자님은 프로젝트에서 사용 중인 오픈소스 C3.js가 더 이상 업데이트 되지 않아 직접 billboard.js를 만들어 공개하고, 월간 7만건의 다운로드가 발생하는 오픈소스 라이브러리로 성장시키기까지의 과정을 이야기했다.

 

어떤 오픈소스를 사용할 것인지 선택할 때 가장 중요하게 고려하는 요소가 무엇인지 마음속에 떠올려보자, 무엇이라 답하겠는가? 프로젝트의 스타 수, 프로젝트의 활동성(커밋이나 PR이 지속적으로 발생하는지, 최근 릴리스 시점 등), 다운로드 수, 충분한 문서나 예제가 제공되는지 등을 살펴볼 것이다. 메인테이너는 그것들을 수행해 내야 하는 입장이다 커밋이 몇 개월에 한 번만 발생하거나 릴리스가 1년에 한 번 정도라면 선뜻 사용하려고 하지 않을 것이다. 어떻게 보면 오픈소스 프로젝트가 살아 있음을 꾸준히 '증명' 해야 하는 것이기도 하다. 그렇기에 기회가 있을 때마다 다른 이에게 오픈소스 프로젝트는 시작하는 것이 중요한 것이 아니라 시작은 단순히 '시작'일 뿐이며 이후가 훨씬 더 중요하다는 이야기를 한다. 179p

항상 기회가 있을 때마다 콘퍼런스나 기술 블로그 등에서 오픈소스에 참여할 것을 권하는데 그때마다 항상 하는 이야기가 있다. "오늘날 SW를 개발하려면 오픈소스 프로젝트를 활용하지 않을 수 없습니다 여러분들이 개발자로서 일하기 시작했을 때부터 마지막까지 오픈소스 없이는 무언가를 만들어낼 수 없습니다." 184p

지금까지의 개발자 커리어에서 오픈소스를 통해 많은 것을 받았다면. 나도 돌려줘야 한다. 받았던 혜택만큼 나도 기여를 통해 돌려주는 것이 내가 사용했던 수많은 오픈소스에 대한 비용을 어느 정도나마 지불하는 것이리라 생각한다. 185p

 

오픈소스는 막연하게 해보면 좋다고 들어왔지만, 정작 어떻게 개발이 진행되는지 알지 못했었다. 이번 기회에 오픈소스 개발 과정과 공개, 업데이트 과정을 처음으로 듣게 되어 흥미로웠고, 나중에 한번 오픈소스 개발에 도전해 보고 싶다는 생각도 생겼다.

 

특히 오픈소스의 중요성을 강조하는 부분이 인상적이었다. ‘받았던 혜택만큼 나도 기여를 통해 돌려주는 것’은 개발자를 알아보면서 가장 멋지게 보였던 점이기도 했다. 나도 기여를 통해 돌려줄 수 있는 개발자가 되기 위해 더 노력해야겠다.

 

프런트엔드 개발자는 자신이 만들어낸 결과물을 사용자 시각에서 사용자의 언어로 풀어서 설명할 수 있어야 한다. 첫 번째 대상이 옆에 있는 당신의 동료들이다. 32p

특정 학습 로드맵이나 최신 기술. 취업 시장에서 많이 우대하는 기술을 꼭 알아야 한다는 접근 방식보다는 만들고 싶은 무언가에 필요한 기술 요소를 그때그때 찾아 학습하는 것이 올바른 학습 방향성이다 82p

내가 정리한 내용을 목적성 없이 개인 블로그에 올리면 누군가 도움을 받을 수는 있겠지만 크게 와닿지 않아 쉽게 지친다. 이때 좋은 방법은 내가 정리한 내용을 널리 '공유'되도록 하는 목적을 갖게 해 강한 동기부여(부담감과 책임감이 수반되는)를 하는 것이다. 188p

새로운 것을 익힐 때 필요성을 느껴서 학습하는 것과 아닌 것은 큰 차이가 있다. 논리적 사고를 끊임없이 연습하는 개발자는 본인이 납득하지 않으면 동기부여가 확 떨어진다. 학습도 마찬가지다. 필요성을 느끼지 못한 라이브러리나 도구를 공부할 때는 어렵고 재미가 없다. 개발에 필요해 학습하면 알게 되는 재미가 크다. 빨리 쓰고 싶은 마음도 생긴다. 215p

 

개발자가 어떻게 학습하고 일해야 하는가에 대한 조언들도 많아서 도움이 되었다. 앞으로도 어떤 마인드로 학습해야 할지 방향을 잡는데 도움이 많이 될 것 같다. 앞으로의 블로그 게시글도 널리 공유될 수 있는 것을 목표로 작성해 봐야겠다.

 

과장되게 말하면, 이제는 웹 브라우저만 있으면 모든 것을 할 수 있고 그것을 가능하도록 만드는 것이 바로 프런트엔드의 힘이다. 다른 영역에 비해 새로운 영역이기 때문에 기술적 숙련도가 낮을 수는 있어도 그 가치는 결코 낮지 않다 프런트엔드의 가치를 알아보지 못하는 것은 새로운 영역에 대한 이해와 경험이 부족하기 때문이다, 오히려 새로운 영역이기 때문에 앞으로 더 많은 발전 가능성이 내포되어 있다고 말하고 싶다 9p

신입부터 경력까지 프런트엔드 개발을 왜 하려고 하는지 혹은 왜 하는지를 물으면 열 명 중 아홉은 눈에 보이는 것을 만들기 때문에 즐겁다고 한다 다른 사람들에게 '이거 내가 만들었어*'라고 자랑하는 그 순간은 늘 새롭고 짜릿하다. 32p

스택 오버플로를 공동 창업한 제프 앳우드는 이렇게 말했다 "자바스크립트로 작성될 수 있는 앱들은 결국 자바스크립트로 작성될 것이다." 193p

개발자라면 기술 영역과 상관없이 커리어가 다할 때까지 끊임없이 배워야 한다. 그리고 '성장’해야 한다 프런트엔드라면 쉴 새 없이 등장하는 것을 꾸준하게 배워야 한다는 푸념을 한 번쯤은 들어봤을 것이다. 오히려 이런 점이 프런트엔드의 매력이다.

 

 

프론트엔드에 대한 자부심과 애정이 느껴지는 문장도 많았다. 내가 프런트엔드 공부를 시작하게 된 이유와 같은 이야기는 공감이 되었고, 쉴 새 없이 배워야 한다는 점이 오히려 매력이라는 박재성 개발자님의 이야기는 책에서 가장 인상적인 한마디였다.

 

안드로이드나 iOS에 캔버스 API가 적용되지 않았거나 일부만 적용됐다. 셋째, 캔버스가 생각한 것만큼 렌더링 속도를 보장하지 않았다. 시기상조였다. 현업에서 기술적으로나 개념적으로 기술 개발 완성도 및 성능 측면에서 봤을 때 이용하기에는 일렀다 154p

2000년 후반은 브라우저 개발자 도구가 딱히 없었다. 주로 디버깅은 alert()로 메세지를 확인하는 형태였다. 171p

 

초기 FE 개발자들의 어려움도 엿볼 수 있어 재미있었다. 지금은 상상도 못 할 환경에서 고생 끝에 지금의 프런트엔드 환경을 만들어 낸 선배 개발자들이 정말 존경스러울 따름이다. 나도 더 나은 프런트엔드 개발 환경을 만드는데 기여하는 개발자가 될 수 있을까?

 

이외에도 다들 정말 다양한 과정을 거쳐서 프론트엔드 개발자가 되었다는 것도 기억에 많이 남는다. 지금은 내가 프런트엔드 개발자를 목표로 공부하고 있지만, 나 역시 몇 년 뒤에는 어떤 개발을 하고 있을지 절대 알 수 없다는 사실을 기억하며 공부해야겠다.