데이브의 사례를 읽고 든 생각은 이론도 매우 중요하지만, 프로젝트나 개발자 커뮤니티등 헤엄칠 수 있는 공간이 있어야 성장할 수 있음을 말하는 것 같다.
눈을 감고, 앞으로 10년 동안 당신이 맡을 거라 생각되는 역할 중에서 가장 기묘한 것을 떠올려 보라.
프로그래머로써 기술적 성장은 언제나 설레는 일이다.
하지만 현실에서는 기술을 공부할 시간 보다 개인적인 시간, 업무에 시간이 많이 뺏기게 되며 성장할 기회를 잃어버린다.
견습과정에서는 학습과 장기적인 성장에 관점을 두고 장기적인 목표를 세우라고 말한다.
내가 지금 걸어갈려고 하는 프로그래머의 길을 다시 한 번 생각해보고 목표는 어디까지이고 뭘 하고 싶은지에 대한 생각을 정리하자..
지금의 나는 뭘 하고 싶고 어떤 기술을 공부하고 싶지만 그 기술을 나름 마스터했다고 생각했을 땐 또 다른 벽이 기다리고 있을 것
몇년 개발하고 그만둘게 아니라면 스스로의 지도를 그리고 긴 여정을 떠나야 한다.
나는 프로그래밍을 일종의 공예로 본다. 공예는 예술의 일종이기는 하나 순수 예술은 아니다.
검증된 해결 방법 VS 신 기술 도입
물론 새로운 기술 공부는 개발자로서 언제나 궁금한 영역이고 기분좋은 일이다.
하지만 판매하는 직업이기 때문에 이를 쉽게 결정해서는 안된다.
이기심을 선택하지 말고 고객에게 가치를 제공하는 데 집중하라
소프트웨어 장인의 길을 가고 싶다면 예술이 아닌 기예에 집중해야 하며 스스로 함정에 빠진 적 없는 지 점검해야 한다.
글 중에 50줄 짜리 게임과 백만줄 짜리 게임의 결과물로 봤을 때 고객은 해당 코드의 퀄리티를 모르는 것이 핵심이다.
그렇다고 모든 코드를 저품질 코드라도 상품성에 집중하라는 것이 아닌 균형을 잘 잡아나가는게 중요하다.
설계에 대한 고민을 충분히 하는 것은 매우 중요하지만 개발기간의 3/2을 생각만 하며 고민하는 것은 직업정신이 빠진 사람으로 장인으로 볼 수 없다.
또한, 여기서 오는 이점도 언급을 하는데 수리를 통한 동작 이해
이다.
프로그래머가 일하는 모습을 본 적이 있는 사람이라면, 자기 방식대로 일할 수 있는 기회가 주어졌을 때 프로그래밍은 그 자체로 가장 큰 동기를 부여한다는 것을 알 수 있다.
나에게 빗대어 설명하자면 번 아웃이 오는 경우인 것 같다.
프로젝트의 방향이 자꾸 변하게 된다면 프로젝트에 대한 애정, 흥미도 떨어지면서 자연스럽게 할애하는 시간도 줄어든다.
개발 자체에 흥미가 떨어지는 시점은 누구나 오기 마련인 것 같고.. 이 때 처음 프로젝트를 완성했을 당시나 코드가 자연스럽게 흐르는 과정을 생각해보면 도움이 된다.
견습생인 지금은 다양한 코드를 만지고 접하는 게 재밌고 흥미로울 수 있지만 회사나, 프로젝트의 요구에 따라 현실을 위한 코드를 짜야한다.
그런 코드들은 대부분 재미가 없고 다른 이들도 피하는 작업이기 때문에 이런 갈등이 생길 수 있다.
책에서 등장하는 키워드인 황금 족쇄
는 "뭔가 새로운 걸 배우고는 싶지만 내가 이미 알고 있는 것들로 벌이가 너무 좋다."
대부분의 프로그래머들이 취업준비를 하며 회사에 맞게 공부하고 취업 후 실력이 퇴보되는 경우를 예로 볼 수 있을 것 같다.
스스로 긴 여정에 대한 질문을 던져봤다.
오비 페르난데스의 경우 이미 전문가임에도 새내기에 도전했다는 생각을 했을 때 만약 나라면 그런 선택을 할까..?
지금의 나라면 다른 기술이나 언어가 궁금해서 어느정도 학습은 하겠지만 완전하게 내 전문성은 내려놓지 못할 것 같다.
황금 족쇄가 왜 무거운 황금 족쇄인지 이름을 참 잘지었네..
신은 인류의 아주 일부에게만, 설령 얻는 것이 없더라도 열정으로 했을 일을 하면서 생계도 유지하는 특권을 주었다.
열정을 질식시키는 환경에서 나의 열정을 보호할 안전장치를 마련해라
사나운 관리자, 냉소적인 동료, 계층 사다리 등 회사의 업무환경에서는 필연적으로 마주치기 마련이다.
이러한 열정 종식자들을 스스로 뛰어 넘기 위해선 안전장치가 필요하다.
- 스스로 좋아하는 일을 하라
내가 만약 현실의 벽에 부딪쳐 작은 게임사가 아닌 회사에 입사하게 된다 해도 사이드 프로젝트로 인디게임 개발을 이어가는 것
회사에서 받은 스트레스와 식은 열정을 집에서 불태우며 장인의 길을 걷는다.
- 마음 맞는 사람들을 찾아라
냉소적인 동료가 아닌 성장하고 싶고 배움을 좋아하는 동료나 사람을 찾아라 지역 커뮤니티가 될 수 있다.
사이드 프로젝트를 비슷한 동료와 진행하거나 타인과 공유하면서 피드백을 받는다.
- 배운 것을 공유하라
스터디를 예로 들 수 있고, 진행중인 블로그도 포함이 된다.
- 고전을 읽어라
고전 책을 좋아해서 자주 읽을려고 하는 편인데 다시 한번.. 복기...
고전 책의 경우 정말 다양한 면으로 해석이 가능하기 때문에 때때로 지금의 문제에 대한 해결책을 제시해주거나 마인드를 바로잡아 주기도 한다.
- 나만의 지도를 그려라
상반되는 목표를 받았을 경우 자신만의 길을 위해 걸어가는 것이 좋다.
어느정도 소신은 당연하게 있어야 한다고 생각한다. 한국회사에선 힘들 수.. 있겠다는 생각이 들지만
스스로에 대한 실력이 확실하다면 그런 것에 대한 걱정은 무의미하다.
헐뜯기 좋아하는 사람들을 조심해라.
공감이 많이 되는 말이다.
실제로 정말 많다고 생각하며 자신의 지식을 공유의 목적보단 우위에 서고 싶어하는 경우가 많기 때문이다.
게임개발 공부를 시작한지 이제 1년이 거의 되가는 것 같은데 초반에 공부에 어려움이 있어서 도움을 요청할 때 많이 만나봤던 것 같다.
느낀점은 헐뜯기 좋아하는 사람들이 바뀌기를 기대하는 것 보단 스스로 틈을 보이지 않는 것이 더욱 중요하다.
어느정도 표준화된 지도가 있지만 그 지도를 모두가 따라야 하는 것은 아니다. 때로는 특이한 지도가 성공에 더욱 가깝기도 하다.
지도는 가치관이나 주변사람들에 의해서 언제든지 수정될 수 있고, 항상 성장을 바라보고 그려나가야 한다.
책에서 예시로 나온 사례들을 보면 대부분 제자리 걸음에 대한 스트레스로 한계를 뛰어넘는 경험을 하였다.
스스로 정체되어 있다고 느낄 때는 과감하게 내려놓을 필요가 있다.
자네를 선임 엔지니어에서 수석 엔지니어로 승진시켰네, 급여는 그대로지만 사람들이 자네를 덜 무시할거야.
직위라는 문자열에 속지마라
남들이 그럴 자격이 있다고 해도 견습과정이 끝난 것은 아니다.
하지만 직위라는 타이틀로 스스로가 얼마나 부족한지는 깨닫게 해준다.
소비 제일과 임시변통이 판치는 이 사회의 유혹에 넘어가서 우리는 가끔 잘못된 길을 선택하는데, 거기서는 단지 성취의 환상, 만족의 그림자를 얻을 뿐이다.
프로그래머가 10년차정도까지 가게되면 PM정도의 직급을 얻을 것 이다.
시니어 개발자로 계속 근무하며 신입들고 같은 레벨에 머무리지 않고 전체적인 프로젝트를 관리하게 될 것
"숙련됨은 연습을 중단하는 그 시점부터 퇴보하기 시작한다."
스스로의 선택에 따라 갈리겠지만 책에서 말하는 숙련공이 되기 위해선 전장에 머무르는 편이 좋다.
물론 회사쪽에 타협점을 제시할 수 있다.
당신이 가는 길로 가지 않는다고 해서 그 사람들이 길을 잃은 것은 아니다.
위에서 말한 다른 길에 대한 내용이 여기서 나올 줄 몰랐다.
다른 길은 항상 존재하지만 걷기 전에 내가 그 길을 선택했던 이유를 떠올려라
긴 여정이지만 대부분 내가 지금 걷고 있는 (공부하는 대학생,,?) 길에 대한 내용이며 지속적인 성장을 위한 조언들이 있었다.
아직은 회사에 들어가지 않아서 대부분의 회사에 관련된 내용은 프로젝트정도의 볼륨으로 생각했다.