개발자 황혼기에 있어 여러모로 생각할 것들이 많습니다. 남은 인생을 어떻게 개발자로 커리어를 쌓아가야 하나 걱정이 되기도 합니다. 30,40대 시니어 개발자들에 비해 나이를 상쇄시킬 만한 능력은 예리하게 만들어 놔야 한다는 중압감이 있습니다. 여기서는 개발자 실천사항에 대해 알아보도록 하겠습니다.
“죽어서 육신이 썩자마자 사람들에게 잊히고 싶지 않다면 읽을 만한 가치가 있는 글을 쓰든지, 글로 남길 만한 가치가 있는 일을 하라.” – 벤저민 프랭클린
1. 언어를 공부하라.
언어는 개발자에게 있어서 많은 기회를 줍니다. 사용할 줄 아는 언어가 많을 수록 일한 수 있는 나라와 환경은 넓어집니다. 그리고 더 많은 사람과 교류하며 새로운 지식을 얻게 됩니다. 어떤 언어든 절대로 네이티브처럼 구사할 수 없습니다. 그렇게 되란 말도 아닙니다. 나의 정보를 명확히 전달하고 상대가 전하려는 바를 이해할 수 있는 수준이면 됩니다. 이것도 정말 어려운 수준입니다. 다만 언어란 무기를 장착한 개발자는 상상도 못할 고연봉을 받을 수 있는 기회를 줍니다. 참고로 언어 공부는 침해예방에도 탁월하다란 연구결과가 있습니다. 플라톤에 버금가는 천재 철학자 비트겐슈타인은 이렇게 말했습니다.
“내가 사용하는 언어의 한계가 내가 사는 세상의 한계를 규정한다.”
하루 10분이라도 목표를 정하고 시도해볼 것을 추천드립니다.
2. 내 정신에 밤새 할 일을 주자.
자기 전에 복잡한 문제들을 고민해 본 적이 있을 것입니다. 저의 경우 이렇게 하면 잠을 설치게 됩니다. 그리고 어느새 잠이 들거나 새벽을 맞이하게 됩니다. 토마스 에디슨은 말했습니다.
“자기 전에, 꼭 생각할 거리를 정해두고 자라.”
이 고민들이 잠자는 시간에도 무의식으로 각인이 되어 다음날 아침에 갑자기 해결의 실마리를 줄 수도 있습니다. 하지만 이 방법을 오래 지속하는 건 추천드리지 않습니다. 편안한 정신으로 잠자리에 들어서 하루의 스트레스가 풀립니다. 하지만 시급하고 중요한 문제를 해결하기 위한 좋은 방법입니다.
3. 패자에겐 목표가, 승자에겐 체계가 있다.
모든 일에는 과정이 체계적이어야 합니다. 100개의 계단을 한번에 오르려 하지 말고 한 계단 씩 딛고 올라가야 합니다. 한 예로 글쓰기를 잘하기 위해서는 어떤 글이 먹히는 지 알아야 봐야 합니다. 처음부터 거창한 단기적인 목표를 세울 것이 아니라 가장 먼저 해야 할 일은 자신의 블로그에서 글쓰기를 연습하는 것입니다. 블로그는 일종의 글쓰기 R&D 공간입니다. 독자의 반응을 보고 내 글을 다듬을 수 있는 실험실이 됩니다. 개발자에게는 소소 공유나 오픈 소스 플랫폼이 실험실이 될 수 있습니다. 관심이 가는 프로젝트에 기여자로 참여하면 실력 향상 뿐만 아니라 더 좋은 프로젝트에 참가할 기회들이 열릴 것입니다.
4. 몸의 소리에 귀를 기울여라.
면접을 보다보면 지원자 중에 개인 프로젝트를 진행하는 경우가 종종 있습니다. 매우 긍정적인 도전입니다. 작은 팀이나 혼자 진행하는 경우가 대부부분이지만 자기 분야를 넘어 생각해보고 실현해 볼 기회입니다. 그렇다면 좋은 프로젝트나 아이디언은 어떻게 찾아야 할까요? 좋은 아이디어는 몸이 먼저 짜릿함으로 반응한다고 했습니다. 몸은 좋은 아이디어를 감지하는 뛰어난 탐지기입니다.
5. 두가지 분야에서 상위 25퍼센트에 들어라.
성공할 수 있는 방법은 두가지입니다. 한가지는 특정한 한 분야에서 최고가 되는 것입니다. 하지만 한가지 일에서 최고가 되는 것은 매우 힘듭니다. 두번째는 두가지 이상의 일에서 매우 뛰어난 능력, 즉 상위 25%를 발휘하는 것입니다. 한 예로 대중 연설가(상위 25%)가 되면 한가지 기술에서 사람들의 리더가 될 수 있습니다. 개발자 또한 마찬가지입니다. 관리자 25% 안에 들면 개발팀을 리드할 훌륭한 기술리더가 될 수 있습니다. 개발자들을 관리해야 하기 때문에 사람에 대한 이해가 필수입니다. 어떻게 잠재된 동기를 이끌어 한 팀으로 나아갈 수 있을지를 고민하며 실천해야 합니다.
6. 한가지에 집중하라.
앞서 하루를 집중하라고 했습니다. 2~3시간을 한 가지에 집중하면 반드시 그날 한가지의 성과는 남길 수 있습니다. 성과를 내는 날을 그렇지 못한 날보다 많이 만들어야 합니다. 이 날이 쌓이면 결국 탁월한 결과를 낼 수 있습니다. 이것을 실천하기 위해 시간관리는 필수적입니다. 전날에 했던 쓸데없는 일들을 적고 오늘은 그것을 하지 않기 위해 노력해보십시요. 이런 것들을 습관에서 없애다보면 자연스럽게 한가지 일에 집중하게 될 것입니다.
7. 좋아하는 일을 할 수 있는 시간을 확보해라.
직장을 다니는 개발자라면 좋아하는 일을 하는데 시간을 많이 내는 건 불가능합니다. 하지만 싫어하는 일을 빨리 해치우는 건 집중력과 노력을 투입하면 가능합니다. 빨리 해치우고 좋아하는 일을 할 시간을 마련하면 됩니다.
8. 일기를 써라.
아침 일기는 현재 처한 상황을 정확히 파악할 수 있습니다. 이 두려운 하루를 잘 보낼 수 있도록 정신을 종이 위에 붙들어 놓을 수 있습니다. 종이에 실체를 드러내게 하면 안개는 걷히고 명확히 보일 것입니다.
9. 짓누르는 문제들을 아주 작은 것으로 만들도록 노력해라.
멘탈을 잡는 3가지 방법을 소개하겠습니다.
첫번째는 호흡하며 걷기입니다. 정신이 혼미할 수록 몸을 움직여야 합니다. 육체활동은 마음을 맑게 합니다. 눈으로 보는 자연, 코로 숨쉬는 냄새들, 모든 몸의 감각들이 뇌에 전달되어 온 신경세포를 활동하게 합니다. 몸의 운동은 마음의 운동과 같습니다. 두번째는 감사할 것들 3가지를 찾아내어 매일 감사하는 것입니다. 앞서 이야기했듯이 감사는 두려움과 불안을 이깁니다. 평안한 마음에서 일을 지속할 수 있는 힘을 줍니다. 마지막으로 개인 프로젝트를 진행하는 것입니다. 이것이 개발자에게 창업자의 길로 들어서게 할 수도 있습니다. 작은 게임을 만들 수도 있고 개발하고 싶었던 모바일 앱을 시작할 수도 있습니다.
10. 원치 않는 곳에 있지 마라.
자신에 어디에 있는 지는 매우 중요합니다. 그 사람의 정체적을 이야기해줍니다. 주말에도 회사 있다면 일을 매우 중요시하는 사람입니다. 가족과 같이 있는 시간이 많다면 가족과의 교류를 원하는 사람입니다. 학생은 학교에 있어야 하고 개발자는 속한 회사에 있어야 합니다. 어떤 이유에서든 위치는 그 사람의 속성과 의도를 나타냅니다. 스스로 원하는 곳에 있길 바랍니다. 내가 있어야 한 곳을 타인이 정하게 한다면 내 삶을 타인에게 맡기는 것입니다. 주도적인 삶은 나의 위치를 주도해나가는 삶입니다. 근로시간 이외에는 되도록 타인이 시킨 ‘오늘의 할 일 목록’을 대신해 ‘오직 나만의 할 일 목록’을 만들어 실천해야 합니다.
11. 수준 높은 모임에 최대한 참석하라.
개발자들은 다른 사람들과의 교류가 매우 중요합니다. 개발자로 성공하려면 다른 사람들의 경험과 노하우를 최대한 배우는 게 반드시 필요합니다. 다른 산업군에서 경험했던 시간과 비용을 들인 자산들을 정기적인 모임에 참가해 습득하는 것이 중요합니다. 변호사, 직장인, 학생과 부모를 대상으로 하는 서비스를 구상 중에 있을 수 있습니다. 하지만 그에 대해 아는 게 별로 없으면 그들을 위해 뭔가를 만들 수 없습니다. 사업하는 아이템을 구상하는 예비 창업자라면 국내 전시회를 참가해 볼 것을 추천드립니다. 전시회에서 많은 아이디어를 얻을 수 있습니다. 여건이 된다면 해외 전시회도 추천드립니다. 개발자들도 각종 기술세미나나 학술 컨퍼런스에 참여해야 합니다. 커뮤니티에 참가하는 것도 방법입니다.
12. 독특하고 별나게 살아가라.
남들과 동일하게 살아간다는 것은 혁신을 이끌어 낼 수 있는 환경을 거부하는 것입니다. 새로운 것에 도전해 보십시요. 그리고 부딪히며 깨져야 합니다. 그래야 실패해도 새로운 성공의 기회가 또 다가올 것입니다.
자신의 능력을 예리하게 만드는 일은 중요합니다. 그래야 나이에 상관없이 어디서든 필요한 개발자로 인식될 것입니다. 이것은 향후 좋아하는 일을 지속하기 위한 필수 과정입니다. 노력한다면 1위는 아니더라도 상위권에 랭크될 것이고 많은 회사들이 원할 것입니다.