brunch

You can make anything
by writing

C.S.Lewis

by 조은 Jan 04. 2016

개발자들이여 공부하라

때는 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 던 페이스북이던 어디던 좋으니 계속 정리하고 계속 공유해보는 게 좋다. 그렇게만 한다면 적어도 그 지식을 나 스스로 인식하는 데 큰 도움이 된다. (취직에도 도움이 된다)


--

배달의민족을 운영하는 (주)우아한형제들에서 개발자를 채용하고 있다. 적어도 우리는 열정적으로, 그리고 공부를 하고 있다. 관심이 있다면 언제든지 지원해주면 좋을 거라 생각한다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari