나는 약 10년 동안 소프트웨어 엔지니어로 일했고, 5년 동안 매니저로 일했다.
개발자로서 처음 몇 년 동안은 전문적인 조언을 거의 받지 못했다. 그저 열심히 노력하면 결국 성장할 것이라 믿고 버텨냈다. 하지만 몇 년이 지난 후, 시니어 엔지니어로 진급할 기회를 놓치자 상황이 바뀌었다. 당연히 진급할 거라 생각한 나는 조언이 필요했다. 매니저에게 어떻게 해야 승진할 수 있겠냐 물어봤을 때, 구체적인 피드백을 받지 못했다. 그날 나는 결심했다.
“내가 매니저가 된다면 팀원들에게 성장에 필요한 조언을 주리라.”
이후 우버Uber에서 엔지니어링 매니저로 일하면서, 나는 이 결심을 잊지 않았다. 팀원들이 전문적으로 발전하고, 준비가 됐을 때 승진할 수 있도록 최선을 다해 지원하고, 동료가 아직 다음 단계로 나아갈 준비가 되지 않았다고 생각될 때는 명확하고 실행하기 편한 피드백을 제공했다.
팀이 성장하자 팀원들을 심층적으로 멘토링할 시간은 점점 줄었다. 대신 내가 제공하는 피드백에 패턴이 보이기 시작했다. 나는 그 내용을 바탕으로 글을 잘 쓰고 코드 리뷰를 잘하는 방법에 대한 블로그 게시물을 올리기 시작했다. 이 게시물은 뜨거운 반응을 얻었고 예상보다 훨씬 더 많은 사람이 읽고 동료들과 공유했다. 그때부터 이 책을 쓰기 시작했다.
2년간의 집필 끝에 초고를 완성하고 프래그매틱 엔지니어 뉴스레터를 시작했다. 뉴스레터는 오늘날 기술 시장의 흐름을 파악하고 글로벌 기업의 운영 방식, 소프트웨어 엔지니어링 트렌드에 대한 심층 분석, 기술 전문가와의 인터뷰를 담았다.
뉴스레터를 작성하면서 내가 작성한 초고에 얼마나 많은 ‘빈틈’이 있는지 깨달았다. 그리고 2년 동안 한 장 한 장 내용을 다시 쓰고 다듬는 데 시간을 보냈다.
4년 간의 집필 끝에 나는 『소프트웨어 엔지니어 가이드북』과 뉴스레터가 상호 보완적인 관계라고 확신하게 됐다. 짧은 시간에 변화가 예상되는 주제는 뉴스레터에, 10년 이상 지속될 트렌드와 도구에 대한 내용은 책에 자세히 담았다.
여기에서는 내가 그동안 팀원들과 75 만명의 구독자의 성장을 위해 해온 조언 중 두 가지를 이야기하고자 한다.
영어는 커리어에 중요한 역할을 했다. 소프트웨어 엔지니어 경력에도 마찬가지다. 나는 헝가리에서 나고 자랐고 첫 직장 역시 헝가리 기술 기업이었다. 하지만 디버깅할 때는 영어로 적힌 글을 참고해야 했다. 프로그래밍 언어 역시 영어를 사용했다.
영어는 소프트웨어 엔지니어링과 업계의 공용어다. 주요 기술 기업은 모두 영어로 소통한다. 나는 영어 덕분에 네덜란드로 이주해 우버에서 일할 수 있었다. 우버에서는 수많은 국가에서 온 많은 개발자가 영어만으로 업무를 봤다.
이 책의 번역을 결정하는 데는 많은 고민이 필요했다. 소프트웨어와 관련한 커리어를 쌓는 사람에게 영어는 필수나 다름없다. 하지만 그 때문인지, 좋은 소프트웨어 엔지니어링이란 무엇인지, 개발자에게 좋은 커리어란 무엇인지 설명하는 양질의 서적은 대부분 영어로 쓰였고, 그 외에 언어로 쓰인 경우는 거의 없는 편이다.
이번에 한국어판을 출간함으로써 여러분은 이 책에 실린 정보를 쉽게 이해하고 소화할 수 있을 것이다. 하지만 여러분에게 영어를 익히는 것이 중요하다는 점을 이야기 하고 싶다.
특히 소프트웨어 엔지니어로 성장하고, (해외에 나가지 않더라도) 국제 기업에서 일할 기회를 잡고 싶다면 말이다.
커리어를 쌓는 동안 여러 명의 매니저를 만났는데, 내 포부에 관심을 가져준 매니저도 있었고 그렇지 않은 매니저도 있었다. 또 몇 달 만에 나를 승진시킨 매니저도 있었고, 1년 넘게 함께 일했는데도 성장에 대한 피드백을 거의 또는 전혀 주지 않은 매니저도 있었다.
이런 경험을 거쳐 매니저가 됐을 때, 나는 훌륭한 매니저가 되어 내게 보고하는 모든 직원의 커리어에 관심을 가지겠다고 다짐했다. 나는 직원들과 함께 앉아 그들의 커리어 목표에 대해 논의하고 이를 실현하기 위해 노력했다. 동시에 몇 가지 사실을 깨달았다.
❶ 많은 소프트웨어 엔지니어가 매니저와 커리어에 대한 대화를 나눠본 적이 없었다.
❷ 자신이 원하는 것이 무엇인지 잘 파악 하지 못했거나 생각하기 싫어하는 직원보다는 그걸 아는 직원과 대화하기 편했다.
❸ 모든 사람을 돕고 싶었지만 매니저로서 내 시간은 한정됐다.
나는 모든 직원의 커리어 관리를 돕고 싶었지만, 결국 적합한 사람이 아니라는 사실을 인정해야 했다. 자신의 커리어는 스스로 관리해야 한다. 주도적으로 목표를 설정하고, 이를 추적하고, 지속적으로 개선해 더 나아지는 사람의 성과가 더 좋은 법이다. 노력을 거의 하지 않거나 자신이 아닌 매니저가 대신 목표를 설정하고, 자신을 그 목표까지 밀어주기를 기다리는 사람에게는 주변이 어떤 도움을 줘도 효과가 없다.
자신의 커리어 개발에 진심으로 관심을 기울이는 매니저를 만난다면 다행이지만, 많은 사람은 그렇지 않은 매니저를 만난다. 성공하고 싶다면 자신의 커리어패스에 대한 주인의식을 가져라. 매니저가 끼어들기만 기다려서는 안 된다. 운 좋게 훌륭한 매니저를 만났다고 해도, 매니저는 많은 사람을 챙겨야 한다. 그렇기에 매니저는 당신의 커리어에 당신만큼의 관심을 쏟을 수 없다.
커리어를 자기 것으로 만드는 방법은 다양하다. 매니저와 동료에게 관심 있는 분야를 이야기하고, 업무 결과를 공유하며, 동료들의 피드백을 받자.
자신의 커리어를 스스로 관리하고 주도적으로 이끌어가는 자세는 결국 여러분의 가장 큰 성장을 이끌어 낼 것이다.
위 콘텐츠는 『소프트웨어 엔지니어 가이드북』에서 내용을 발췌하여 작성하였습니다.
이전 글 : 러스트 타입 시스템 살펴보기: 안전한 코드 작성을 위한 열쇠
다음 글 : 다음 글이 없습니다.
최신 콘텐츠