2012년 8월 20일 월요일

내인생 최고의 멘토를 만나다.

소프트웨어를 개발하면서 또, 컨설팅을 하면서 하고 싶었던 얘기를 해보자고 블로그를 시작한지가 벌써 4년이 되었다. 3천명이 넘는 구독자와 많은 분들이 글을 읽어 주셨다. 최근에는 Tech it에 칼럼을 기고하기 시작해서 좀더 많은 분들이 글을 읽게 되었다. 

내 글을 읽는 분들의 반응은 무척 다양하다. 꾸준히 읽고 호응하는 댓글을 계속 남기시는 분들 중에는 기억에 남는 분도 많다. 댓글은 없어도 꾸준히 읽고 계신 분들도 있고 물론 호응하지 않는 분들도 있을 것이다. 가끔은 반대의견을 제시하는 분들도 있다. 그런 모든 분들이 소중하지만 가끔은 제 글에 대해 "컨설턴트의 말빨이다.", "현실을 모른다", "실제 개발 경험은 있는 것일까?"라는 종류의 의구심을 가진 분들이 있다. 내 글들이 워낙 직설적이라서 가끔은 오해와 충돌을 불러 일으킨다. 물론 어느 누구도 모든 사람을 이해시킬 수는 없지만 오늘은 나에 대해서 조금 설명해보고자 한다. 나에 대한 이해가 내 글을 약간이나마 더 이해하는데 도움이 되길 바란다.

나는 여러분들과 같은 대한민국 개발자이다. 블로그에서 하지 말라고 하는 거의 모든 것을 다 해봤고 문제점도 직접 다 겪어본 개발자다. 대한민국 보통의 개발자와 크게 다르지 않았다. 

18년 전 첫직장은 운좋게 그당시 우리나라 최고의 Software회사였던 한글과컴퓨터였다. 우리나라에서 둘째가라면 서러워할 최고의 개발자들과 같이 일했고, 나또한 코딩을 정말 잘했다. 그때 Daily build라는 것도 배우고 소스코드관리 등 소프트웨어 회사가 기본적으로 갖춰야 할 것을 잘 배웠다. 이런 좋은 환경에서 최고의 개발자들과 같이 일할 수 있었던 것은 내게 큰 행운이었다.

그리고 스타트업컴퍼니에서 일해도 보고 직접 회사도 해보면서 내 블로그에서 문제점이라고 지적하고 있는 것의 대부분은 해본 것 같다. 그래서 많은 개발자들이 왜 그런 문제점에 빠져드는지 정말 잘 알고 있다. 그당시도 나름대로 기반시스템이나 스펙, 설계 등에 노력을 했지만 항상 풀리지 않은 수수께끼와 같았다. 인터넷을 뒤지고 책을 봐도 해결되지 않았다.

그러다가 안철수연구소에 입사하고 그당시 CTO로 계시던 김익환 부사장님을 만나면서 나의 개발자로서의 인생이 바뀌었다고 볼 수 있다. 김익환 부사장님은 미국 스탠포드에서 소프트웨어를 공부하고 20년간 GE, 선마이크로시스템즈 등에서 소프트웨어를 개발하셨다. 그래서 오랫동안 해결되지 않았던 수수께끼들이 해결되기 시작했다. 안철수연구소의 동료 개발자들과 같이 실리콘밸리의 개발문화도 배우고, 스펙/설계 작성하는 방법도 배우고 개발 프로세스도 제대로 배워 나갔다. 

지금 생각해보면 내가 그때 안철수연구소를 가지 않았더라면 대부분의 개발자들과 같이 지금도 수많은 문제를 안고 비효율적으로 힘들게 개발을 하고 있을 것이다. 지금도 김익환 사장님(현재)과 10년째 같이 일하면서 계속 배우고 어제와 또 다른 내가 되어가고 있다.

나는 현재 컨설턴트이지만 지금도 개발을 계속 하고 있는 실전 소프트웨어 개발자이다. 내 글들의 대부분은 나의 개발과 컨설팅 경험에서 나오는 것이고 또 상당분분은 김익환사장님의 말씀에서 영감을 얻어서 작성한다. 그냥 말만 앞세운 공허한 소리는 아니다.

블로그의 글들이 한번 생각해보는 계기를 만들 수는 있다. 하지만 글만 보고 배울 수는 없다. 문제를 인식할 수는 있지만 방법을 알수는 없다는 얘기이다. 내가 최고의 멘토를 만났듯이 여러분들도 좋은 멘토를 만나기를 바란다. 결코 혼자서는 제대로 배울 수가 없다. 물론 내가 여러분들의 멘토가 될 수 있다면 정말 기쁜일일 것이다. 그것이 블로그의 가장 중요한 목적이다. 주변에 멘토가 없다면 찾아 나서야 한다.

블로그에 댓글로 독자들과 약간의 소통을 하지만 나에게 직접 메일을 보내도 언제든지 환영한다. 블로그 글을 읽는 것만으로 해결되지 않는 궁금증은 블로그 상단에 메일보내기 버튼을 눌러서 내게 메일을 보내면 된다. ^^

댓글 41개:

  1. 안철수 연구소에 계셨다고하니 평소 궁금한점을 한가지 물어보겠습니다.
    제 생각엔 안철수연구소가 제대로 된 개발 프로세스를 잘 운영하고 있는지는 조금 의구심이 듭니다.
    잊을만 하면 백신 사고가 터치고, 수년간 사용해 오던 정상적인 파일을 바이러스로 오진해 삭제해 버리는 일도있고, 주위 개발자들로부터 델파이로 개발된 자신의 프로그램을 바이러스로 오진해서 고객에게 일일이 설명하느라 굉장히 고생할 뿐만 아니라 개발 회사 이미지 및 영업에도 상당한 타격을받고 있다고 합니다.
    정상적인 프로세스와 테스트 체계를 갖춘 소프트웨어 회사라면 왜 이런 문제들이 해결이 안되고 반복적으로 발생하는 항상 의문이었는데.. 혹시 답변해 주실수 있는지요?
    외부에서 보기에는 아예 테스트를 안해보고 배포하는것이 아닌가 하는 의구심이 듭니다.
    사실 안철수 연구소 외에 다른 백신 들도 비슷하기는 하지만.. 안철수 연구소 제품이 델파이로 개발된 바이너리에 대해 오진하는 확률이 훨씬 높은것 같습니다. ( 참고로 전 델파이 개발자는 아닙니다. )

    답글삭제
  2. 항상 좋은 글 감사히 보고 있습니다. 평소 규현님 글을 트위터를 통해서 퍼블리싱 하고 있습니다^^. 앞으로 좋은 글 많이 기대하겠습니다. 지치지 마시고 되도록 오래 동안 글을 봤으면 합니다.

    답글삭제
  3. 이년전 쯤 김익환님 책 "대한민국에는 소프트웨어가 없다"를 보고 충격을 받고, 다른책 두권더 보고난 이후로는 시간만 나면 팀원들에게도 보라고 계속 권하고 있습니다. 그 후 문제인식까지는 공감대가 형성이 되었는데, 정말로 변하는 것은 마음대로 잘 안되네요.

    답글삭제
  4. 안녕하세요. 이성열님

    제가 안랩을 퇴사한지 꽤 되었는데 한때 일했던 회사의 문제점을 내 입으로 말하는 것은 매우 조심스럽습니다. 아직도 많은 동료들이 일하고 있습니다.

    말씀드릴 수 있는 것은 CTO님이 퇴사를 한 후에 프로세스와 문화가 많이 바뀌었다고 전해 들었습니다. 제 생각에 회사는 개발과 영업의 균형이 있어야 하는데 지금은 많이 영업으로 치우쳤다고 합니다. 그만큼 CTO가 중요한 위치라고 할 수 있겠습니다. 더 이상 자세히 말씀드리기가 어렵네요.

    답글삭제
  5. 안녕하세요. beyondj2ee님
    감사합니다.

    답글삭제
  6. 김진욱님 안녕하세요.

    배우지 않고 스스로 터득하는데는 100배도 더 오랜 시간이 걸리거나 불가능하다고 생각합니다. 좋은 스승을 찾는 노력을 하는 것이 필요합니다. 그중에서 책은 아주 작은 스승이고 좋은 선배는 매우 큰 스승이라고 생각합니다. 주변에서 찾기 어렵다면 전문가의 도움을 받는 것도 한 방법입니다.

    답글삭제
  7. 올리시는 글 항상 잘 보고 있습니다. 처음으로 댓글을 다내요. ^^

    답글삭제
  8. 그동안 마음 고생하신 것이 보입니다. ^^
    전규현 님에 대해 더 잘 알게 되어서 좋구요.

    훌륭하고, 맞는 말인데도, 조금 부정적인 반응이 나오는 것은 (말씀하신 것과 같이)
    아마도 '이 길이 유일한 길이다' 라고 느끼게 하는 부분이 아닐까 합니다.
    실제로 소프트웨어를 잘 작성하는 방법은 여러가지가 존재하는데,
    약간의 뉴앙스 차이로 인해, 오해를 하게 되는 것 같습니다.

    '이런 방법은 어때?' 하는 권유라면
    전규현님의 소중한 경험이, 후배 엔지니어들의 마음을 파고 들지 않을까 합니다.
    저도 그랬으면 좋겠구요.

    고맙습니다.

    제임스 드림

    답글삭제
  9. 저는, 전현규님의 글들이 매우 현실적이고 실무에 도움이 많이 되고 있습니다. 다만, 한국의 SW 현실에서 적용하기가 쉽지 않은 것이 문제지요. 여기서 배운 것들을 바탕으로 팀에서 조금씩이나마 개선해 나가고 있습니다. 항상 좋은 글 감사하게 생각하고 있습니다.

    답글삭제
  10. beyondj2ee님 소개로 좋은글을 읽게 되었습니다.
    감사합니다.

    답글삭제
  11. 제임스님 안녕하세요.

    제 글들이 워낙 직설적이라서 그런 것 같습니다. 글 쓰기도 배워야 할 것이 많죠. ^^ 아직은 글쓰는 기술보다는 내용을 적는데 치중하고 있습니다. 조금씩 개선해 나가야죠.

    감사합니다.

    답글삭제
  12. yducky님 안녕하세요.

    스스로 주변의 환경을 극복해서 고쳐 나가는 것은 대단히 어려운 일입니다. 어쩔때는 알고도 손해를 감수해야 하는데 쉽지 않은 일입니다. 계속 힘내시기 바랍니다.

    답글삭제
  13. 안녕하세요. 늘 글을 감사하게 보고 있습니다. 12년전쯤부터 주먹구구식의 개발 방법이 문제가 있다고 생각하고 방법을 계속 찾고 공부를 해왔습니다. 여러가지 방법론과 도구들을 봤었습니다. 나름 방법을 찾았다고 했으나 역시 실무에 적용해본적이 없는 이론뿐이란게 한계입니다. 제가 이론으로 습득한 내용을 실무에 적용할 수는 없죠. 오만한 지식으로 선무당이 사람잡는다고 하지 않습니까? 그러다가 이 글들을 발견 했는데 처음에 보고 눈물이 날 지경이더군요. 주위에 동조해주는 사람들도 없고 혼자서 끙끙 앓던 문제인데 제가 추정한대로 역시 문제가 있었고, 저의 이론적인 얇은 지식으로 적용하려 시도하였으면 99.99% 실패했었으리라 생각됩니다. 이론과 도구 보다는 문화와 사람이 중요하다는 것을 올리신 글들을 통해 깨달았습니다. 언젠가 실무로 도움을 주실날이 오길 빕니다. 감사합니다.

    답글삭제
  14. 정부일님 안녕하세요.

    반갑습니다. 진행하시다가 어려운 일이 있으면 언제든지 문의하세요. 제가 아는한 최대한 가이드를 해드리겠습니다.
    감사합니다.

    답글삭제
  15. 글을 읽고 "문제를 인식할 수는 있지만 방법을 알 수는 없다는 얘기이다."란 말이 하루종일 머리 속을 떠나지 않습니다.
    재작년까지 저의 가장 큰 화두였고 당시 제가 생각하던 멘토분과 같이 일하며 많은 부분 해소되고 배웠습니다.
    그렇지만 지금은 혼자 서 있고 그럼으로 인해 갈팡질팡하며 혼자 길을 찾고 있는데 이런 글을 보니 일이 손에 잡히지 않을만큼 감사하고 기쁩니다.
    저의 목표는 아키텍트가 되는 것이며 끊임없이 배움을 향한 갈망이 있지만 멘토가 되주시겠단 분을 만난다는건 결코 쉽지 않았습니다.
    괜찮으시다면 메일로 종종 찾아뵙겠습니다. ^^
    감사합니다.

    답글삭제
  16. 늘 잘 읽고 있는 독자 중 한명입니다. 얼마전 제가 다녔던 회사가 전규현님의 회사로 부터 컨설팅을 받은 적도 있었습니다. ^^? 우연히 본 문서의 작성자가 전규현님으로 되어 있더군요. ^^
    늘 읽으면서 느끼는 건 같은 개발자 라인이라서 그런지, "이것만이 해결책" 이라는 느낌은 안 받네요. 이런 현실에서 이렇게라도 하면, 덜 실패할거다라는 느낌이지 이렇게 하면 고생도 덜하고, 더 잘할 수 있다라는 느낌은 그다지 받지 않았습니다. 제가 너무 소극적으로 봤나요?
    그리고, 대부분의 글들이 현실적으로 IT CEO들의 반감을 갖기에 충분한 내용들입니다. 적어도 제가 아는 경영자들에게는요. 결국은 위에서 허락하지 않는 한 이런 실패하지 말자라는 주옥같은 내용들이 어디 쉽게 되겠나요?
    멘토가 중요한데, 아쉽게도 전 이제까지 멘토가 되실 만한 분을 곁에서 본적이 없네요.
    제 마음속의 멘토는 몇분이 되시지만요. ^^

    답글삭제
  17. 안녕하세요. 언제든지 환영입니다.

    답글삭제
  18. 안녕하세요. 이문석님

    제가 여러 회사에서 스펙서(SRS)와 설계서를 작성해줬었는데 그 중 한 회사인가 봅니다. 그렇게 전문가와 같이 작성하면서 배우는 것이 가장 좋은 방법 중 하나입니다. 어떻게 작성하고 언제 누구와 어떻게 리뷰를 해나가면서 완성하는지 직접 체험하는 것이지요.

    이해하려고 하지 않은 경영자들은 굳이 이해 시키려고 하지 않습니다. 아무리 노력해도 어려운 일이기도 합니다.

    아무튼 꾸준히 들러주셔서 감사합니다.

    답글삭제
  19. 안녕하세요.. 항상 좋은 글 잘 구독하고 있습니다.
    많은 사람들과 나누기가 매우 꺼려지는 기업내 프로세스 이야기를 들을 수 있는 흔치않은 블로그라 자주 글을 구독합니다.

    근대 최근에는 좀 딱딱한 느낌의 글들이 많아서 제가 공감하기에 제 내공이 부족한 것 같아요.
    흗히 책에서 하는 이야기들의 지식과, 그리고 경험적으로 접목되지 않은 부분에서(또는 한쪽 경험에 치우치셔서) 말입니다.
    그래서 이 아티클이 이것도 저것도 아닌 분들에게 자신의 능력에 대해 해명하고자 하는 느낌이 살짝 듭니다..

    그래도 독자로서 제가 조금 바라는것은 코딩처럼 돌아가는 논리적인 사고와 함께
    하나의 답이 아닌 양면성이 존재함 또한 경험을 공유해 주시면
    많은 독자들이 "좋은 글 잘 읽었다"라는 느낌을 받을 수 있을 것 같습니다.

    항상 좋은 글 감사히 잘 보겠습니다.

    답글삭제
  20. 항상 글만 읽고 지나갔는데 오늘은 감사하다는 말 전하고 싶습니다. 모르시겠지만 전규현님이 제 멘토중의 한 분이십니다.^^

    답글삭제
  21. 안녕하세요,저도 전규현님 블로그를 애독하는 기획자 겸 PM입니다.
    저희 회사(이스트소프트)도 예전 이슈트래킹 도입에 있어서 약 10년 전, 김익환 사장님의 조언으로 멘티스를 도입하게 되었다고 합니다.
    그 이후, 개발관리 부문 등 구성원/조직의 자발적인 노력으로 프로젝트를 보다 정교하게 정립 중에 있고요.
    제가 진행하는 프로젝트(http://zum.com)의 경우, 레드마인(http://redmine.org)을 통해 좀 더 애자일적(짧은 이터레이션을 반복함으로써 요구사항을 줄여나감)으로 유연성있게 프로젝트를 운용하려 힘쓰고 있습니다.

    전규현님과 더불어 김익환 사장님의 포스트나 저서 내용을 보면 SRS문서의 명료성을 항상 강조하시는게 생각나네요. 기획서를 작성할 때, 노력하지만 잘 안되는;;;;
    그런데 분명한건 해당 기능의 가치와 가치 극대화를 정확히 이해할 때만큼 기획서가 명료할 때가 없는 듯 싶습니다. 이게 노하우고 경력이 아닐까 싶습니다.

    언제고 좋은 말씀 배워 볼 계기가 있었으면 좋겠습니다.

    남은 여름도 건강히 지내세요~

    답글삭제
  22. 안녕하세요. 김충환님

    가장 중요하고도 어려운 것이 스펙(SRS)작성입니다. 저 또한 배우기 전에는 제대로 적는 것이 불가능했습니다. 나중에서야 옛날에 엉터리로 적고 있었다는 것을 알게 되었습니다. ^^

    답글삭제
  23. 엄준일님 안녕하세요.
    좋은 말씀 감사합니다.

    답글삭제
  24. 저도 처음 댓글 다는 독자 입니다. :)
    나름 허가 없이 인용을 많이하고 있습니다.. (출처는 밝히려고 노력합니다. ^^;)
    훌륭한 멘토 찾는 방법에 대해서도 듣고 싶습니다. 회사 이직은 쉬운 일이 아닐테니..
    감사합니다.

    답글삭제
  25. 박병주님 안녕하세요.

    요즘은 SNS가 발달되었으니 부지런히 찾아다니면 어떨까요?

    답글삭제
  26. 입사한지 얼마 안되서, 회사에서 전규현님과 김익환님을 모시고 컨설팅을 했습니다.
    저는 당연히 형상관리하고 테스트 하는줄 알았는데 많은 회사들이 그렇지 않더군요.
    2년이 다 되어가는 지금 그 때 강의 내용을 되짚어 보며 많은것을 쉽게 배웠다는 생각이듭니다.

    블로그도 잘 보고 있으니, 앞으로도 좋은글 부탁드립니다.
    행복하세요 :)

    답글삭제
  27. 안녕하세요. springofmylife님

    반갑습니다. 블로그를 통해서 꾸준히 뵙겠습니다.

    답글삭제
  28. 좋은 글 늘 감사하게 보고 갑니다.

    답글삭제
  29. 이제 취업하게 되는 IT전공자 학생입니다. 얼마전에 블로그 알게되어 많은 지식을 얻어갑니다. 학교에서 배우던 방법론들이 현업에서는 잘 이루어지지 않는다니 약간 허무해진다는 생각이 듭니다. 저는 정말 IT가 좋아서 이길로 쭉 갈려고 합니다. 좋은글 많이 부탁 드리겠습니다.

    답글삭제
  30. 김악동님 안녕하세요.

    학교에서 배우는 방법론이 잘못된 것이 아닙니다. 이론적으로 맞고 도움도 됩니다. 하지만 소프트웨어공학은 실전이기 때문에 학교에서 배울수가 없습니다. 현실 개발 상황에서 실전으로 배워야 합니다. 이때 학교에서 배운 것이 일부 도움이 됩니다. 학교다닐때는 학교에서 이론을 철저히 배우는 것이 중요합니다.

    마치 학교에서 모든 실전을 배울 수 있을 것으로 얘기하거나 생각하면 안되겠죠. 공학은 원래 실전이기 때문에 어쩔 수가 없습니다. ^^

    답글삭제
  31. 저는 프로그래머를 지향하는, 물론 전공은 전자공학과임에도 불구하고 프로그래머가 재미있어서 자바공부를 하고있는 한 청년입니다. 지금은 군대에 있지만요..

    좋은 프로그래머가되기 위한 24가지를 처음으로 몇가지 글을 읽었었는데, 상당히 좋은 글들이 많아서 재미있게 읽고 있습니다. 그래서 그 글을 계기로 블로그도 만들었구요.

    제가 군대를 전역해도 대학교에 가게 되어서 프로그램 실전 능력을 키울 수 없을 것같은데, 어떻게 하면 실전 능력을 함양할 수 있을까요? 언제까지나 기본서만 파고 있을 순 없을 것 같은 마음에 글을 씁니다.

    답글삭제
  32. 안녕하세요. Jinize님

    군대에 계시다니 감회가 새롭네요. 저는 소프트웨어 공부를 아주 늦게 시작해서 군대에서 거의 모든 이론적인 지식을 터득했습니다. 소프트웨어 관련 책을 한 200권 정도 봤었습니다. 학교에서는 이론을 철저히 배우는 것이 가장 중요하다고 생각합니다. 그리고 개발 언어 하나는 완전히 내 것으로 만드는 것이 정말 중요합니다. 실전은 취업 후에 해도 됩니다. 실제 프로젝트가 되어야 실전을 배울 수 있습니다.
    이론 공부도 많이 하고 프로그래밍을 많이 해보시는 것이 좋겠습니다.

    답글삭제
  33. 댓글없이 꾸준히 읽는 ^^2012년 9월 10일 오후 2:51

    안녕하세요. '댓글없이 꾸준히 읽다가' 오늘부로 하나 남깁니다.
    글 읽고 짧게 한줄 요약글을 수첩에 적어두었는데, 다시 보니 여러 어록이 되었네요. (직설화법이 어울림!^^)
    앞으로도 좋은 글 부탁드립니다. 꾸벅.

    답글삭제
  34. 안녕하세요. 반갑습니다.

    수동적으로 읽기만 하는 것도 한 방법이지만 궁금한 것이 있으면 Email 등을 통해서 직접 물어보는 능동적인 방법도 좋습니다. 앞으로도 관심을 많이 가져주시기 바랍니다.

    감사합니다.

    답글삭제
  35. 200권이나..
    대단하십니다;

    혹시 그래도 실전에 가까운, 200권중에서 프로젝트 연습처럼 대규모 프로젝트 예제가 나와있는 자바 책이 있으면 추천 해주시면 감사하겠습니다. (__) 없으면.. 어쩔수 없지만요.

    답글삭제
  36. 대부분의 책은 전산 이론과 프로그래밍 관련 내용이었습니다. 대규모 프로젝트에 관해서 궁금하신 것 같은데 이는 책을 통해서 배울 수 없습니다. 결국 이론은 철저히 공부하시고 실전에서 프로세스, 공학 등을 익히면 됩니다. "대규모 프로젝트 이렇게 해서 성공했다"라고 하는 책이 있어도 읽어봤자 별로 도움이 안됩니다. ^^
    또한, 개발 언어는 그렇게 중요한 요소가 아닙니다. 자바는 아키텍처를 단순화 할 수 있어서 조금 자유롭기는 하지만 대규모 프로젝트의 성패는 분석이 얼마나 잘되고 프로젝트 관리를 어떻게 하느냐 일겁니다. 여기서 80%가 결정됩니다. 대부분의 프로젝트가 잘못되거나 부족한 스펙으로 망가집니다. ^^

    자바를 공부하시면 자바를 완벽하게 익히고 많은 알고리즘과 이론을 공부하는 것이 좋겠습니다.

    답글삭제
  37. 좋은 답변 감사합니다 .

    제가 너무 앞서나가려는 생각이 있었네요.

    이론부터 빠삭하게! 익히겠습니다. 좋은 내용 감사합니다 .

    답글삭제