"합기도를 마스터 하려면 얼마나 걸리나요?" 수련 지망생이 묻는다. 여기에 대한 훌륭한 대답은 이것 뿐이다. "자네 얼마나 오래 살 것 같나?" - 조지 레너드, "Mastery"
긴 여정
소프트웨어 장인이 되고 싶어 하는 사람들은 길게 생각해야 한다. 불씨가 약해지긴 했으나, 최근 몇년간 개발자가 돈을 많이 번다는 이야기를 듣고 어떻게든 단기간에 개발자가 되어 많은 돈을 받으며 놀고 먹을 생각을 하는 것으로 보이는 사람들이 좀 보였다. 이런 마인드가 잘못됬다는 것은 아니지만, 그런 생각을 가지고 있으면 개발자로 좋은 대우 받기가 힘든게 현실이고, 이 책을 읽는 사람들이라면 이런 생각보다는 좋은 개발자가 되고싶어 할 것이다. 좋은 개발자는 단시간에 만들어지지 않는다. 코테보다는 알고리즘 자체에 집중하고, 포폴만을 위한 개발보다는 나 자신을 성장시키기 위한 개발을 하자.
반대로 자기 자신을 너무 몰아넣는 사람도 있다. 열정을 가지고 무언가에 몰두하는건 좋으나, 당장 자신이 고통스러운데 목표를 이루겠다고 자신이 다쳐도 상관없다며 나아가는 사람들도 있다. 이런 사람이 많은건 아니지만 가끔 보인다. 좋지 못한 환경의 회사에서 가스라이팅 당하며 일을 하다 보면 이런 일이 생기기도 하는거 같기도 하다. 저번 글에서도 작성했듯이 너무 힘들면 가끔은 한 발 물러나는게 길게갈 수 있는 법이다.
소프트웨어 장인이 되고 싶다면 장기간 성장하는 것에 초점을 두자. 가끔은 연봉보다는 자기가 성장할 수 있는 환경인가를 더 우선순위에 두자. (혹시해서 적지만 한국에서 주니어 레벨은 보통 연봉따라가는게 가장 성장할 수 있는 방법인듯 하다. 연봉이 높은 곳에 잘하는 사람들이 모인다. 주니어를 넘어선 그 수준이 되어야 돈을 선택할지 성장을 선택할지 결정할 수 있는 자격이 생기는 듯 하다.)
눈을 감고, 10년 후의 내 모습을 생각해보고 그 모습을 이루기 위한 계획을 짜보자. 10년 뒤의 계획은 보통 1년이 지나면 많이 망가져 있을 것이다. 그래도 이러한 계획을 짜는 것이 의미없지는 않다. 10년의 계획을 세워야 1년을 알차게 살아갈 수 있다. 길게 생각하자. 내 10년 후를 생각해보면... 아무리 생각해도 유니티보다는 그래픽스쪽을...
예술보다 기예
회사는 이익을 추구하는 곳이다. 대부분 실력 좋고 뛰어난 개발자가 회사에 이익을 가져다 주는 것은 맞지만, 예술만을 쫓는다면 실력있는 프로그래머가 될 수 없다. 성능적으로, 코드 겉보기에 내가 봤을 때 아름다운 것만을 추구하지 말고, 나랑 같이 개발하는 개발자에게 도움이 되는 코드를, 소프트웨어를 사용하는 사람들이 좋아하는 코드를, 일정에 맞출 수 있는 작업물을 만들기에 초점을 두자. 아름답기보다는 유용한 일거리를 찾아보자.같이 일하는 동료들이 좋아하는 코드를 작성해보자.
지속적인 동기부여
회사에서 개발자로 일하면서 개발에 대한 의욕이 서서히 깎여나갈 수 있다. 내가 하기 싫은 일을 할 수도 있고, 내가 속한 팀이 맘에 들지 않을 수도 있다. 이러한 경우 이직을 하는 강력한 방법도 있으나, 지금 내가 있는 환경에서 동기부여를 할 수 있는 방법을 찾아볼 수도 있다. 나에게 동기부여가 되는 일을 적어보자.
요즘 나의 열정을 채울 수 있는 방법을 생각해보자면, 1. '동료들에게 인정받을 수 있게 수준 높은 코드 작성하기' 2. '커뮤니티에서 인정받을 수 있는 그러한 사이드 프로젝트를 진행해보기' 3. '2와 이어지게 내가 해온 프로젝트를 바탕으로 강의 제작해서 추가 수익 얻어보기' 4. '그냥 추가 수익 얻어보기' 등이 있다. 지금은 2로 동기 부여를 얻어가고 있다!!
자신만의 지도를 그려라
장기적으로 나의 경력이 도달할 목적지를 그려보자. 회사에서 나에게 제시하는 경력 방향이 나와 맞지 않을 수 있다. 그리고 내가 어떤 길을 가고자 마음먹고, 이를 주변에 알린다면 주위 사람들이 당신을 도와주기도 수월해진다. 내가 가고 싶은 회사들을 생각해보자. 그 선택지에 외국 회사도 넣어볼 수 있겠다. 그리고 그 회사로 간 이후의 커리어도 또 생각해보자.
또 다른 길
한번 개발자가 되기로 했다고 평생 개발자로 살아야 하는 건 아니다. 개발자 이외에도 자신이 하고 싶은 일을 생각해 보자. 그 일에 몸을 담고 있는 사람들을 찾아보고, 소프트웨어 개발자와 그 일과의 장단점을 생각해보자.
가장 뒤떨어진 이가 되라
모든 개발자들에게 적용할 수 있는 패턴은 아니지만, 나같은 주니어 개발자에게는 가장 중요한 패턴일 것 같다. 나는 유니티를 배우고 첫 회사에서는 사수도 팀원도 없이 혼자 일 했으며, 1년 뒤 이직한 두 번째 회사에서는 내가 에이스로써 프로젝트를 이끌어 나갔다. 그러다보니 나는 내가 잘 해나가고 있으며, 잘 성장중이라고 착각하고 있었다. 그리고 새로운 회사에서 가장 뒤떨어진 이가 되어서, 지금 이러한 책을 읽고 어떻게 해야 좋은 소프트웨어 개발자가 될지에 집중하고 있다. 이제 이 이야기도 여러번 반복한 듯 한데, 사람은 환경을 따라간다. 이 패턴에서 핵심은 가장 뒤떨어진 이가 되라는 것 보다는 현재 내가 갈 수 있는 가장 뛰어난 팀을 찾아가라는 뜻에 더 가깝다고 생각한다. 그리고 그들의 잡일을 도와서라도 그들에게 도움이 되고, 그들보다 더 노력하여 그들을 따라잡자. 할 사람은 혼자 둬도 올바른 방향으로 잘 나아가겠지만, 나같은 사람들은 한 팀의 가장 뒤떨어지는 사람이 되는 것이 자신의 길을 찾고 성장할 힘을 얻는 가장 확실한 방법일 수도 있다.
'공부 > 개발 독서' 카테고리의 다른 글
이상한 나라의 객체 - 객체지향의 사실과 오해 (0) | 2022.09.24 |
---|---|
끊임없는 학습 - 프로그래머의 길, 멘토에게 묻다 (0) | 2022.09.11 |
정확한 자기 평가 - 프로그래머의 길, 멘토에게 묻다 (0) | 2022.08.28 |
깊은 쪽으로 - 프로그래머의 길, 멘토에게 묻다 (0) | 2022.08.14 |
소프트웨어 장인정신 - 프로그래머의 길, 멘토에게 묻다 (0) | 2022.08.07 |