3 분 소요

소프트웨어 장인이 된다는 것이 어떤 의미인지, 성공적이고 만족스런 커리어를 어떻게 꾸릴 수 있을까?

장인의 길

열정, 이 단어 하나가 모든 것을 요약한다. 단순히 좋은 코드를 작성하고 비즈니스 가치를 전달하는 것만으로는 좋은 개발자는 될 수 있지만 장인은 될 수 없다. 장인은 일종의 철학이다. 우리의 삶 전체에 걸쳐서 최선을 다해 역량을 마스터할 과업으로 소프트웨어 개발을 선택한 것이다. 소프트웨어를 통해 가치를 창출할 수 있는 더 나은, 더 효과적인 방법을 찾는 끊임없는 노력의 길이다.

항상 주어진 문제에 가장 적합한 도구를 찾고 단순한 해결책을 추구한다. 특정 도구를 종교적으로 선봉하지는 않더라도 최선이라고 알려진 몇몇 조합들에 대해서는 완전하게 마스터하고 있어야 한다. 마스터한 도구들이 없다면 장인이라고 할 수 없다. 코드 작성이 아니라 문제 해결에 집중한다.

정직과 용기

여기서 말하는 정직과 용기란 필요한 상황에서 고객에게 ‘아니오’라고 말할 수 있는 것을 의미한다. 즉 고객이 나쁜 의사결정을 할 때 그것이 적절치 못하다고 지적하는 정직함과 용기를 말한다.

그저 ‘아니오’라고 답하는 것만이 장인으로서의 태도는 아니다. 모든 ‘아니오’에는 항상 대안을 제시해야 한다.

장인의 커리어는 정직과 용기 위에 세워진다. 장인과 고객의 동반자 관계는 정직과 용기, 완전한 투명성에 의해서 이루어진다.

커리어의 진전

다른 커리어 사다리

소프트웨어 개발 직능의 사다리를 오른다는 것이 관리자나 아키텍트가 된다는 의미는 아니다. 그것은 커리어의 진전이라고 볼 수 없다. 관리자나 아키텍트가 되는 개발자는 소프트웨어 개발 직능의 사다리를 오른 것이 아니라 사다리 자체를 바꾼 것이다.

여정과 이정표

회사 안에서의 커리어와 소프트웨어 장인으로서의 커리어에는 매우 큰 차이가 있다. 성공한 소프트웨어 장인은 스스로의 커리어를 매우 신중하게 계획하낟. 무언가를 배우고 더 나은 프로페셔널이 되기 위한 기회들을 찾는다. 다음 단계를 위해 앞서 보고, 계획하는 것은 성공적인 커리어를 위해 핵심적이다.

많은 개발자들에게 새로운 직장을 찾는다는 것은 내가 지금 가진 지식과 시간을 제공해서 최대한 많은 급여를 대가로 받겠다는 의미다. 하지만 너무 근시안적인 생각이다. 급여를 대가로 해서 일을 하는 것 말고도 우리의 열정과 헌신 그리고 업무와 개인 시간을 들여 확보한 지식들을 투자하여 일터를 더 나은 곳으로 만든다. 단순히 일을 하는 곳이 아니라 배우고 성장하는 장이 되게 한다.

일터를 더 나은 곳으로 만드는 데 투자한다는 의미는 우리의 커리어를 더욱 풍요롭게 할 수 있는 기회를 늘린다는 것과 같다.

훌륭한 소프트웨어 프로페셔널이라면 생활비가 부족해서 어려움을 겪고 있을 경우는 드물 것이다. 어떤 회사에서 일하든, 최대의 가치를 주기위해 최선을 다했다. 그리고 그러한 노력들에 대한 보상은 받았다.

커리어 전반에 걸쳐, 항상 신중하게 다음 직장을 찾았다. 겪어온 모든 업무들은 나의 커리어를 진전시키는데 도움이 되었다.

이러한 과정을 ‘이력서 스펙 채우기’와 혼동해서는 안 된다. ‘이력서 스펙 채우기’는 회사의 업무를 하면서 그 업무에 맞지도 않을 기술을 자신의 이력서를 채우기 위한 목적으로 억지로 적용하는 것들을 말한다. 그러한 행동은 잘못되었을 뿐만 아니라 프로페셔널하지도 않다.

커리어 만들어 나가기

스스로에게 질문

  • 나의 커리어로부터 나는 무엇을 원하는가?
  • 그것을 성취하기 위한 다음 단계는 무엇인가?
  • 이 일은 나의 커리어 방향과 합치하는가?
  • 내가 이 회사에 줄 수 있는 가치의 양은 얼마나 되는가?
  • 그러한 투자에 대한 이익은 무엇인가?
  • 그러한 투자는 대략적으로 얼마 동안 지속되어야 하는가?
  • 내가 되고자 하는 프로페셔널에 이르는 데 이 일은 어떻게 도움이 되는가?
  • 이 일에서 나는 자율성, 통달, 목적의식을 가질 수 있나?
  • 나의 고용주와 생산적인 동반자 관계를 맺을 수 있나? 양측 모두 가치를 얻고 행복할 수 있나?

거쳐 간 회사들, 수행한 프로젝트들 하나하나가 마일스톤이었고 사다리의 한걸음이었다. 개인의 커리어와 열망과 방향이 합치하는 한 그 회사에 가능한 오랫동안 머무르길 권한다.

앞으로 나아가지 못하고 정체되어 있다고 느낀다면, 무언가를 배우거나 스스로 일을 즐기지 못한다면, 그때는 움직여야만 한다. 회사와 동료들을 사랑한다는 것만으로는 그 일을 계속해야 하는 충분한 이유가 되지 못한다. 사람들도 움직이고 회사도 움직인다. 우리도 움직여야 한다. 원하는 커리어 방향에 더 적합한 길을 찾아나서는 것은 자신은 물론 회사에도 도움이 된다.

새로운 사람들은 회사를 최신의 정보에 밝아지게 하고 경쟁력 유지와 분위기 쇄신에 도움이 된다.

원하는 바를 모른다면 어떻게 해야 할까

언뜻 생각하기에는 바보 같은 질문같지만, 사실 누구에게나 일어나는 일이다. 그 사실을 인정하는 데는 상다안 용기가 필요하다. 하지만 한번 인정하고 나면 모든 것이 더 나아진다. 내가 원하는 것을 나도 모른다는 것을 인정하고 나면 나의 길을 찾는 데 좀더 객관적으로 집중할 수 있다.

그런 상황에 빠졌을 때 할 수 있는 것은 한 가지 밖에 없다. 마음을 열고 사람들을 만나는 것이다. 밖으로 나가서 당신이 무엇을 할 수 있는지 다른 사람들에게 보여준다. 그렇게 하면 당신이 모르던 큰 세상이 있음을 알게 될 것이다.

다양성

소프트웨어 개발은 다양성이 상당히 높은 전문 분야다. 성공적인 장인이라면 넓은 방면으로 다양한 경험이 있다. 다양한 환경을 경험하는 것은 전문화된 장인에 이르는 길에도 도움이 된다. 여러 프로젝트, 환경, 회사, 산업, 기술, 소프트웨어적인 문제 접근 방법론들을 경험해 나가면서 어떤 분야에 집중할지 방향을 잡을 수 있으니 이 또한 장인이 되기 위한 여정이다.

소프트웨어 장인의 사명

소프트웨어 장인의 진정한 사명은 프로페셔널리즘, 열정, 관심으로 소프트웨어 산업의 수준을 높이는 것이다. 장인은 다른 개발자들이 더 나은 코드를 만들고 스스로가 하는 일에 자부심을 갖도록 돕는 데 관심을 둔다. 최종적인 목표는 전 세계적으로 소프트웨어 프로젝트들의 품질과 성공 비율을 오늘날보다 높아지도록 하는 것이다. 우리 사회의 진화를 이끄는 일에 무한한 자부심을 갖는다.

참조

댓글남기기