개발자들이여, 공부를 하라

조회수 2017. 10. 26. 21:19 수정
번역beta Translated by kaka i
번역중 Now in translation
글자크기 설정 파란원을 좌우로 움직이시면 글자크기가 변경 됩니다.

이 글자크기로 변경됩니다.

(예시) 다양한 분야의 재밌고 유익한 콘텐츠를 카카오 플랫폼 곳곳에서 발견하고, 공감하고, 공유해보세요.

때는 5년 전, SK커뮤니케이션즈에 입사하고자 면접을 볼 때 면접관은 나에게 그렇게 말했다. 

죽을 때까지 공부해야 하는데 괜찮아요?

면접자리였으니 당연히 괜찮다고 했고 나는 그렇게 개발자 커리어를 처음으로 시작하였다.



핑계대지말고 공부를 해라

대부분의 개발자는 새로운 기술에 예민하며 빠르게 습득하려고 노력한다.

이 명제를 얼마나 많은 사람이 납득할 지 잘 모르겠다. 사실 대부분은 어떤 라이브러리를 사용해서 빨리 운영에 반영할 수 있을까에 대한 생각, 그 이상으로 우선 구현하는 데에 초점을 둔다. 그 결과 Active X를 사용하지 않으면 PDF 문서도 읽지 못하는 웹사이트가 만들어지는 것이다. 참고로 웬만한 브라우저에는 PDF 뷰어가 기본으로 내장되어있다.


공부하지 않는 사람들의 가장 큰 특징은 일단 구현하고 나면 그걸로 끝이라고 생각한다는 점이다. 사실 구현에 이르기까지 고민을 해온 과정들이 다 공부라 할 수 있지만, 구현에 이르기까지 자기가 사용한 코드가 어떤 코드인지 이해를 하지 못한 채 구글링으로만 개발하니 당연히 레거시 코드를 남발하게 되고 이는 곧 코드 품질에 영향을 주게 된다.


대표적으로 내가 며칠 전 모 사이트에 접속했을 때, JavaScript라이브러리를 몇 개를 쓴 건지 정확히 파악은 안 되지만 그로 인한 로딩 버퍼로 1.7초가량 소요하였다. 실제 페이지가 뜨는 시간은 약 2초, 버그라고 생각하기에 충분한 시간이다.



나는 어떻게 공부했을까


이 글을 쓰는 본인은 약 4년째 공부 중이며, 예전에는 조금 더 열심히 공부했지만 지금은 적당히 하고 있다. 미래에도 공부할 예정이다. 신년이고 하니 node.js를 더 공부해볼까 생각 중이다.


1. 내가 알아야 하는 지식을 정리한다


Front-End 개발자가 알아야 하는 기초 지식은 아래 것들이 있다.

  • 브라우저의 동작 방식
  • 디바이스에 대한 이해
  • 웹 접근성
  • HTML 표준
  • CSS 표준 및 테크닉들
  • DOM
  • JavaScript
  • ECMAScript (JavaScript의 표준이다)
  • 자료구조와 메모리
  • 디자이너의 언어
  • 기본적인 디자인 관련 요소들 (폰트, 행간, 자간 등)
  • 보안 관련 여러 지식들
  • Ajax를 위한 서버 관련 기초 지식
  • 브라우저 내장 API의 활용법
  • 레거시 브라우저를 대응하는 방법
  • 홈페이지 성능 최적화

위 목록 외에도 공부해야 하는 건 정말 많지만, 우선 기본지식은 이 정도다.



2. 공부할 수 있는 방법에 대해 갈구한다


대표적으로 나는 스터디를 많이 했다. 위 기술 중 하나라도 궁금한 점이 있을 때마다 스터디를 진행했고, 3년가량 해온 결과는 썩 나쁘지 않았다. 일주일에 한 번 모여서 이야기하는 시간을 가지면 말 안 하기 민망해서 공부하게 된다.


스터디 외에도 다양한 공부법이 있다. 제일 안 좋은 방법은 누군가가 정리한 자료를 공유하기를 그저 기다리는 거다. 누군가 미리 정리한 자료를 보는 건 좋지만, 한없이 누군가가 정리해주기만 기다리면 언젠가 그 한계가 드러날 것이다. 직접 해라.



결론


당신이 앞으로 개발을 계속하고 싶다면 공부를 해라. 그리고 정리해서 공유하라. 블로그던 github든 페이스북이든 어디던 좋으니 계속 정리하고 계속 공유해보는 게 좋다. 그렇게만 한다면 적어도 그 지식을 나 스스로 인식하는 데 큰 도움이 된다. (물론 취직에도 도움이 된다)


원문 : 조은의 브런치


이 콘텐츠에 대해 어떻게 생각하시나요?