태그

2015년 12월 29일 화요일

[독후감] 인터랙티브 디벨로퍼

인터랙티브 디벨로퍼 (김종민, 한빛미디어)

3시간 정도에 독파하였음.. 사진이 많아서 글자가 많지 않아 쉽게 쉽게 읽혔고, 밤에 쉽게 잠을 못 이루게 만들었음..

이 책은 필자의 10여년간의 행적을 스스로 돌아보면서 대한민국 개발자에게 전하고 싶은 메시지를 툭툭 던져주고 있다. 결국 꿈을 향해 한발 한발 나아가는 발걸음에 큰 박수를 보내고 싶다. 실은 깊이 강조가 되지는 않지만 본인이 좋아하는 것을 발견하고, 그 것을 잘 하는 사람들을 찾아서 멘토로 삼아 스스로의 차별성을 찾아가는 모습은 무척이나 닮고 싶은 부분이다.

책을 다 읽고 나서 나를 다시 한번 돌아 보게 되었다.

내가 지금까지 했던 것을 이렇게 멋지게 정리해 볼 수 있을까..
전형적인 B2B의 백엔드 엔지니어로서 나의 포트폴리오는 무엇인가..
누군가의 찬사를 받을 만한 일을 한 적이 있는 가.. 혹은 할 수 있는가..

올해에 지금까지 시도 하지 않았던 여러가지 시도를 해 본 한해였다.
내년에 계획대로 된다면.. 나도 나만의 포트폴리오를 하나 하나씩 만들어 갈 수 있을 듯 하다.

책을 읽으면서 인상 깊었던 구절 들이다.
실은 내가 지향하는 바와 무척 닮아있다.

내가 찾은 해결책 (44p~45p)

첫 번째로 플래시라는 특정 기술이 아닌 나만의 '내공'을 가지기 위해 노력했다. 세상엔 플래시를 잘 하는 사람은 많지만, 그 플래시를 사용해서 아름다운 작품을 만들어내는 사람은 많지 않았다. 플래시를 열심히 공부해 뛰어난 '플래시 개발자'가 되기보단, 디자인, 모션, 화면전환, 그리고 유저 인터팩션 등이 완성도 있는 결과물을 만드는 사람이 되고자 했다. 초점을 개발 언어에서 콘텐츠로 옮긴 것인데, 웹사이트의 디자인과 모션의 디테일을 높이기 위해 고민하고, 사용자가 어떻게 편하게 웹사이트를 이용할 수 있을지, 메뉴 클릭 시 나오는 모션은 어떤 게 제일 직관적인지 등을 더 연구했다. 거기엔 시장에서 요구하는 기술은 항상 빠르게 변하기 때문에 한 가지 기술에만 의존하는 사람이 되는 것은 위험한 발상이라는 생각이 있었다. 세상엔 영원한 것이 없듯이 플래시라는 기술 또한 언젠간 대체될 것이니 시대가 변해도 변하지 않는 나만의 '내공'을 가지자고 생각했다. 그렇게 쌓인 내 실력은 후에 플래시 시장이 죽고 HTML5가 대세가 되었을 때도 내가 뒤처지지 않고 계속해서 이 일을 할 수 있게 해주었다.

두 번째로는 '크게 보고 눈앞의 작은 것에 연연하지 말자'라는 것이었다. 당장 눈앞의 연봉, 직급 등에 연연해서 스트레스를 받거나 승진을 위해 윗사람에게 아부하는 데 시간을 쓰지 말고, 내가 되고자 하는 사람이 될 수 있도록 실력을 쌓고 싶었다. 즉, '이 회사에서 높은 자리에 올라가 연봉을 많이 받자' 가 목표가 아니라, 내가 스스로 성장한 모습을 목표로 삼았다. 그러기 위해서 좁은 시야로 눈앞의 작은 것을 가지기 위해 에너지를 낭비하지 말고 오직 내가 좋아하는 일에 모든 에너지를 쏟고 싶었다. 일에만 집중하자는 생각은 지금도 변함이 없는데, 평소 시계나 반지 같은 손을 움직으는 데 거추장스러운 액세서리는 하지 않고, 옷도 편하고 빨리 입을 수 있는 운동복을 즐겨 입는 이유이다. 회사에서 어떤 일을 하느냐, 혹으 내가 얼마나 성장하느냐가 중요하다....

나의 작업 철학 (132p~134p)

플래시 개발자에게서 쉽게 HTML5 개발자로 바뀔 수 있었던 것에는 내가 가진 작업 철학이 큰 도움이 되었다. 고등학교를 졸업할 당시 나의 희망직업은 영화의 미니어처 등에 쓰이는 모형을 만드는 장인이었다. 그때 내 재능에 대해 진지하게 스스로 반문을 해본 적이 있다. 모형응ㄹ 만드는 장인이 되려면 처음부터 모형을 직접 빚어내고 완성을 해야 한다고 생각했는데 나는 그러지 못했다. 내 실력은 이미 만들어진 모형을 사서 조립하고 색칠하는 수준밖에 되지 않는다는 것을 깨달았다. 즉, 취미로는 훌륭할지 몰라도 직업이라고 말하기에는 부족했다. 내가 그 분야의 진짜가 되기 위해선 본질이 되는 작업이 가능해야 한다고 생각했다. 개발의 본질은 개발코드를 사용해 구조를 설계하고 움직임을 만드는 일이다. 코드에 대한 이해가 없이 툴(Tool)이나 라이브러리(Library)만을 사용해 결과물을 만드는 것은 시중에서 모형을 사다가 조립하고 색칠만 하는 취미 정도의 수준과 다르지 않다는 생각이었다.

{중략}

라이브리리도 마찬가지 부분이다. 라이브러리는 '개발에 필요한 특정 기능을 미리 구현해둔 소스 파일'로, 잘 사용하면 개발시간을 단축할 수 있는 유용한 도구이다. 하지만 코드에 대한 이해 없이 라이브러리에만 의존하는 것은 피해야 한다. 하지 않는 것과 할 수 없는 것엔 큰 차이가 있다. 라이브러리를 사용하는 것이 문제가 되진 않는다. 문제는 라이브러리를 사용해 만들어진 결과물이 자신의 실력이라고 생각하는 경우이다. 그때 본인의 실력에 대해 거짓말을 하게 되는데, 컬렉터(Collector)가 되기 쉽다. 컬렉터란, 실력을 쌓는 데 시간을 쓰기보단 라이브러리를 수집하는 데 더 많은 시간을 보내는 사람들을 말한다. 이런 습관은 처음엔 괜찮을지 몰라도 시간이 지날수록 자신을 옭아매는 덫이 된다.

{중략}

툴이나 라이브러리는 분병 편리한 점이 많지만, 실질적인 코드에 대한 이해가 낮아지고, 툴에서 제공하는 한정된 기능만을 사용할 수 있다는 단점이 있다. 툴의 기능이 아무리 뛰어나고 그것을 100% 이해하고 사용한다고 해도 한계가 있다. 툴이나 라이브러리도 결국에는 코드로 만들어진 것들이다. 어려워도 툴의 도움 없이 개발의 본질인 코드를 이해하고 사용한다면 더 넓은 시야를 가질 수 있다.

---------------

좋은 책이다. :)

댓글 없음 :

댓글 쓰기