개발자로서의 앞으로의 진로
요즘 들은 좋은 말들
사업을 성공시키는 사람 / 프로그래밍을 잘하는 사람의 공통점은 포기하지 않는, 끈질김이 있다는 점이다.
UX란 결국 공감이고 경험이다. 자기자신의 comfort zone에서 벗어나보라.
왜 프로그램은 항상 텍스트 형식으로 작성해야 하는가? 엑셀과 같이 데이터와 프로그래밍을 일체화 할 수 는 없을까? 그렇다면 어떤 자료구조를 택해야 할까? 상식을 부셔라.
데이터 사이언스란 거창한 것이 아니라, 자신이 관심있는데이터를 중심으로 가시화해서 문제를 발견 / 분석하는 것이다. 결국 내가 데이터 사이언티스트를 하는 이유도 내가 궁금한것이 너무 많아 알고싶어 미치겠고 궁금하기 때문이다.
당신의 제품은 vitamin인가요 painkiller인가요?
말대신 행동. 雑に作れ。
개발에는 비지니스적 측면과 기술적 측면 양쪽을 다 적절히 고려해야한다.
기계학습은 결국 탐색이고 학습이란 탐색의 기법을 기계적으로 자동화 한 것이다.
서두
요즘들어 부쩍 ‘나는 어떤 개발자가 될 것인가?’ 하는 질문을 나 자신에게 많이 한다.
원래 같았으면 며칠정도 쉬는 시간에 잠깐생각하다가 스쳐지나갈 생각이었겠지만, 요즈음 내가 일하고 있는 리쿠르트에서의 많은 경험을 토대로 점점 구체화 되어가는 것을 느낀다. 리쿠르트에게 감사감사.
리쿠르트 인턴에서 나의 멘토가 매우 열정적이시고 오픈마인드에 나와 성격도 잘 맞는 덕분에 리쿠르트관계자들만 참가할 수 있는 NewRING summit이나 참가자 경쟁률 2:1에 육박하는 Sketch UX컨퍼런스 같은 여러 이벤트에 인턴생임에도 불구하고 참석할 수 있었다. 또한 매주 수요일의 Lightning Talk에서 같이 인턴십을 하고 있는 다른 개발자 친구들의 발표나 사원분들의 발표도 듣고 같이 토론할 수 있는건 크나큰 축복인것 같다.
이렇게 다른 좋은 개발자들과의 상호작용을 통해 나 자신에 대해서, 개발자로서 더 잘 이해하는 계기가 되었다.
내가 되고 싶은 개발자상
단도직입적으로 나는 내가 관심있는 모든 것을 잘하는 개발자가 되고싶다.
그렇게 되기 위해서 나는 단계적으로 다음과 같은 것들을 수행할 것이다.
- 프론트 엔드(로직) deep dive
- 디자인 deep dive
- 데이터 사이언스 deep dive
그 이유는 간단히 재밌을거 같으니까. 사실 나라는 사람은 매우 단순해서 흥미본위로 움직이는데 요즘 가장 흥미있는 순위 top3가 저것들이다.
프론트 엔드
먼저 프론트 엔드에 대해서 깊게 이해하고 싶은 이유는 내가 현재 사부와 만들고있는 어플 개발에 의한 필요 + 데이터 플로 관리의 즐거움 때문이다. React Native도 그렇고 React도 그렇고 backend보다 frontend의 데이터 플로가 앱의 규모가 커지면 커질수록 기하급수적으로 증가하는 것 같다고 느꼈다.
서버는 건축에 비유하자면, 집의 골격을 구상하는 일이고
클라이언트는 집의 소품을 하나하나 장식하고 집이 엘레강트하면서도 집의 구실을 할 수 있도록 섬세하게 다듬는 일이라는 생각이 든다.
지금은 집을 엘레강트하게 다듬는 일이 너무 재밌다.
디자인
집을 엘레강트하게 꾸미는데에는 집 자체를 최대한 효율적이고 튼튼하게 꾸미는 것과 겉으로 보이기에 개성있고 멋있게 꾸미는 두가지 의미가 있다고 생각한다.
앞서 설명한 비유의 전자는 프론트엔드 후자는 디자인이다.
아무리 효율적이고 튼튼한 집이라고 해도 집 자체가 내 마음에 들지 않으면 살고 싶지 않을 것이다.
프로그램도 마찬가지로 아무리 아름다운, 엘레강트한 로직으로 프론트 엔드를 구축한다고 한들 디자인이 유저의 마음에 들지 않으면 외면당하기 쉽다. 그래서 프론트엔드와 마찬가지로 디자인도 deep dive하고 싶다는 생각이 들었다.
그래서 요즘 새로 생긴 취미는 사물 관찰하기.
특히 나무, 건물, 포스터 등등..
데이터 사이언스
내가 데이터 사이언스를 마음에 와닿아 공부해봐야겠다고 직접적으로 생각한 계기는 바로 어제 있었던 LT에서의 사원분의 발표에서 깊은 감명을 받았기 때문이다.
오오스기씨는 며칠전 내각부 정보 해커톤에서 1등을 하셨는데, 다른 사람들이 웹 기술을 이용하여 매칭을 하고 있을때 오오스기 씨는 애초에 서비스를 만들기 보다 내각부에서 주는 정보 자체를 분석했다.
분석에 쓰인 기술은 기계학습과 같은 고도의 기술이 아니고 간단한 회귀분석으로 가시화툴이며 이를 이용해서 데이터를 눈으로 알아보기 쉽게 만들었다. 그리고 그 데이터를 바탕으로 여러가지 가설을 세워서 문제제기를 했더니 결과는 1등이었다는 것이었다.
다른 사람들이 서비스에 집중할때 오오스기씨 혼자 데이터와 그것의 함의에 집중했다는 것이었다.
이 이이야기를 듣고 나서 나는 나는 프로그래머다의 싸이님의 말씀처럼 생활데이터가 중요하다는 것을 몸소 느꼈고, 더 나아가서 데이터 사이언스의 출발점은, 어디까지나 ‘사이언스’이기 때문에 내가 흥미를 가지고 있는 데이터에 대한 호기심이라는 것을 깨달았다.
처음부터 어려운것이 아닌, 내 주변의 것들부터 내가 흥미를 갖고 있는 것 부터 시작하는것이 중요하다는 것이다.
결론
사실 지금의 나의 실력은 한참 부족하다. 하지만 나는 절대 포기하지 않는, 즐기는 개발자가 되고 싶다.
얼마전에 테스트 서버를 만드느라 롤백(리셋)을 다섯번 연속으로 했는데 기여코 여섯번째에서는 성공시켰다.
원래 그런 것 같다.
포기하지 않고 끈질기게 하는 사람은 결국 원하는 바를 이룬다.
나에게 이런 소중한 교훈을 준 프로그래밍에게 무한 감사를 보낸다.
프로그래밍은 내 인생의 크나큰 스승과도 같다.
그가 없었다면 지금의 나도 없었겠지.
프로그래밍과 함꼐하는 난 지금 행복하다.