본문으로 건너뛰기

백세코딩

나는 어떻게 개발자가 되었나?

프롤로그를 읽고, 내가 어떻게 개발자가 되었는지 다시 생각해보았습니다. 저자는 거의 모든 IT의 역사에서 언급됐던 것처럼 PC가 막 보급되던 때, 우연히 컴퓨터를 접하게 되고 컴퓨터와 사랑에 빠져 청계천과 용산 전자상가를 누비며 개발자의 꿈을 키워온... 전형적인 중년의 개발자 스토리의 주인공이었습니다. 개발이 3D 업종으로 취급받던 때에도, 지금처럼 각광받던 때에도 환경에 휩쓸리지 않고 컴퓨터를 사랑하는 마음으로 '지속가능한 개발 라이프'를 꿈꾸며 살아가고 계시는 모습을 보면서 '나는 사실 프로그래밍에 대해서 이 정도의 추억, 낭만, 열정 같은 건 없는데... 계속 해도 되는 걸까?' 라는 생각이 들었습니다.

저는 사실 컴퓨터엔 관심이 없었습니다. 꿈은 없고, 그냥 놀고 싶지도 않고, 어떻게 살아가야 할 지 몰랐던 때에 배우고 있었던 게 웹 프로그래밍이었습니다. 마침 취업 시장에서 개발자 대우가 좋아지고 있었고, 많은 사람들이 IT 업계로 뛰어들고 있었던 때였습니다. 그래서 저도 그냥 따라가기 시작했습니다. 그렇게 개발자가 되었습니다. 아직도 마음깊이 원하는, 나와 딱 맞는 직업이라고는 확신할 수 없어서 개발자로 몇 십년을 살아온 저자의 이야기를 재미있게 읽었습니다.

성공...? 나는 성공이 하고 싶은가...?

취업 준비를 하던 때에는 그저 열심히 했습니다. 더 잘하고 싶고, 공부하고 싶고, 더 많이 배우고 싶었습니다. 그런데 어느 순간, '무엇을 위해' 열심히 해야할 지에 대한 고민을 하게 되었습니다. 왜 더 잘하고 싶은지? 사람들에게 인정받기 위해서인지? 돈을 더 벌기 위해서인지?

저자는 소프트웨어 개발자로서 성공하려고 이 직업과 삶을 선택한 것이 아니라. '개발자로 살기 위해서' 이 삶을 선택했다고 합니다. 그리고 성공한 소프트웨어는 '인간'에 대한 배려와 이해가 담긴, 잘 만들어진 소프트웨어가 아니라, 올바르게 동작하고 반응하는 소프트웨어라고 말합니다. 개발이라는 분야에 있어서 내가 생각하는 성공이 무엇인지에 대해 다시 한 번 더 생각해보아야겠습니다. 롤 모델도 정해보고, 그 사람들이 개발자로서 어떤 삶을 살아가고 있는지, 어떤 가치관을 가지고 일하는지 레퍼런스 삼아보는 것도 좋을 것 같습니다.

조직이란 그렇게 '개개인의 능력'과는 그다지 상관없다. 다만, 조직과 서비스에 어울리는 '능력'을 가진 대상을 좋아할 뿐이다.

경험에서 우러나온 문장을 보며 겨우 3년차 사회초년생인 제가 어렴풋이 느끼고 있던 것들에 조금 더 확신이 생겼습니다. '네임드 개발자'가 된다고 해서 성공하는 것도 아니고, 좋은 사람과 회사가 원하는 사람은 다릅니다. 조직에서 오래오래 살아남기 위해 나를 맞춰나갈 것인지, 조직에 종속되지 않고 주체적으로 살아갈 수 있는 사람이 될 것인지 방향성에 대해 더 깊이 고민 해보아야겠습니다.

한 명의 개발자로 성장하는 건 기본, IT 산업에 대한 이해는 덤

창업하여 직접 사업체를 운영해 본 경험이 있는 분 답게 한국 사회의 소프트웨어업의 현실을 정말 잘 알고 계신다는 생각이 들었습니다. 그리고 앞으로 창업하게 된다면 피가되고 살이 되는 말들도 많이 쓰여있더라고요. 투자 이후에 대해 생각하라거나 사업계획서에 대한 조언 같은 것들은 정말 생각만해도 조금 스트레스 받는 것들이지만 덕분에 뜬 구름 잡는 소리하는 책이 아니라는 건 확실히 느꼈습니다.

성공한 소프트웨어 기업은 결코 돈과 똑똑한 인재들이 투자된다고 자연스럽게 만들어지는 것이 아니다. 오히려, 성공한 소프트웨어 기업들은 천재들의 광기나 고집스러운 리더의 목표에 의해서 형성 된다고 본다. 결국, 오랜 기간을 하나의 서비스와 제품을 만들기 위해서 노력하는 사람들이 만든다고 생각한다.

본인의 실패를 기반으로 이야기 해주는 내용들이 단순히 '열정적으로 꿈을 쫓으라'고 하는 여타 서양의 베스트셀러 자기계발서들 보다 훨씬 와닿았습니다. 실리콘밸리의 이상적인 사례들만 봐왔는데 1% 대기업이 아닌 99%의 중소기업 소프트웨어 개발의 현실을 본 것도 좋은 (간접)경험이었습니다. 내가 몸담고 있는 조직에서 어떻게 행복을 찾을 수 있을 것인가에 대한 참고가 되었습니다.

코드리뷰, 리팩터링, 데브옵스 등 실질적으로 필요한 내용들에 대해서도 아주 구체적으로 설명되어있고, 더 크고 추상적인 이야기들도 언급되어 있어서 다 읽고 나서는 1:1 멘토링을 받은 기분이었습니다. 주기적으로 읽어보면 읽을 때마다 눈에 들어오는 내용이 달라질 것 같네요.

인상 깊은 문장들

  • 국외의 유명한 방법론이나 유행하는 도구들은 언제나 그것을 만든 사람을 중심으로 디자인된 것일 뿐 자신의 조직원들에게 어울리게 디자인된 것이 아니라는 것을 명심해야 한다.
  • 공학적인 것이나 소프트웨어의 시각화를 해야만, 소프트웨어의 품질을 관리할 수 있다는 것을 체감했다.
  • 직장이 중요한 것이 아니라 직업과 도메인이 중요하다.
  • 경력과 브랜드는 ㅇㅇ회사의 누구가 아니라. 누가 다니는 ㅇㅇ회사가 더 좋다라는 평가를 받아야 한다.
  • 행동하지 않는 소프트웨어 개발자는 푸념만 늘어놓는 투덜이 게으름뱅이일 뿐이다.