2009년 8월 28일 금요일

게으른 개발자가 되라!


"게으른 개발자가 되라!"라고 하면 무슨 봉창 두드리는 소리냐고 할 겁니다. 진짜 게을러지라는 의미가 아니고 쓸데없는 일에 부지런하지 말자는 의미입니다.

항상 괜히 바쁜 개발자들이 있습니다. 본연의 연구 개발작업 이외의 과외 업무로 바쁜 것을 말합니다.

이런 개발자들은 개발도 열심히 하지만 과외 업무로 인해서 상당히 많은 시간을 빼앗깁니다.

가만히 보고 있으면 항상 열심히 하는 것 같지만, 헛고생하고 있는 것이 많습니다. 이런 과외 업무들은 최대한 자동화를 해 놓고 개발 본연의 업무에 충실해야 합니다.

개발자가 하루 종일 하는 일을 분석해보면 자동화를 해야 할 부분이 상당히 많다는 것을 알게 될 것입니다. 그럼 상당 부분 자동화할 수 있는 것들의 간단한 예를 들어보죠.


  • Engineering Unit Test
  • System Test
  • Daily Build
  • 소스코드관리시스템 Audit
  • Build 전반의 프로세스
  • Release 전반의 프로세스
  • Packaging 프로세스
  • Patch 업데이트를 위한 프로세스
  • 소스코드 Merge
  • 소스코드 정적/동적 테스트

이중에서 빌드를 예를 들어 보면 Build를 하면서 자동으로 소스코드 관리시스템에 Baseline을 설정하고 Build number를 갱신하고, 자동으로 Compile을 진행합니다. 또 빌드를 하면서 발생하는 Warning과 Error를 체크하고 자동으로 소스코드관리시스템에서 해당 Warning과 Error를 유발한 개발자를 찾아내고 이를 보고서로 만들어서 관리자와 담당자들에게 Email을 보내며 빌드 기록을 보관하게 됩니다.

이 과정에서 사람이 개입하는 것은 Build Script를 실행하는 것 뿐입니다. 공식 빌드를 하기 위해서 개발자들이 평상 시에 하는 Engineering Build처럼 Visual Studio나 Eclipse를 열어서 빌드를 하고 FTP로 서버로 파일을 옮기고 필요한 파일을 모아서 Install Shield를 실행하여 설치 프로그램도 만들고 Diff 프로그램을 이용해서 바뀐 파일도 찾아내서 Path update 파일을 서버에 등록하고 하는 일련의 작업을 직접 수동으로 하고 있다면 자동화 할 부분이 굉장히 많으니 기뻐하십쇼. 앞으로 개선된 일이 무궁무진하니까요.

개발 프로세스는 회사마다 다르기 때문에 자동화할 부분을 획일적으로 정할 수는 없습니다. 따라서 아직 자동화가 많이 부족하다면 자동화를 했을 때 효과가 크고 자동화가 쉬운 부분부터 차근차근 자동화를 해 나가야 합니다. 그 중에서 대표적인 것이 빌드입니다.

자동화가 잘 된 조직과 그렇지 못한 조직은 개발 생산성에서 몇십% 차이가 나고 자동화가 잘된 조직은 그렇지 못한 조직이 밤새고 혼돈 속에서 고생하고 있을 때 제품에 아키텍처에 대해서 더 고민하고 신기술도 더 익힐 수 있고 그러면서도 퇴근은 더 빨리 할 수 있습니다.

게으른 개발자가 되십시오. ^^

댓글 8개:

  1. 좋은글 잘 읽었습니다.

    제가 회사에서 개발 효율 개선 관련 작업을 하는데 도움이 되는 글이네요

    다른 글들도 조금 읽어봤는데 제가 관심있는 정보가 상당히 많네요^^

    RSS 등록해 놓고 읽도록 하겠습니다.

    앞으로도 좋은 글 많이 올려주세요

    답글삭제
  2. 원래 개발자는 천성적으로 게으른 인종들입니다 ㅋㅋㅋ
    게을러서 자기가 하고 싶지 않아 컴퓨터에게 시키려는 종족이죠 ㅋㅋ


    조금 더 정확하게 말하려면
    "개발자들이여 조금 더 게을러 져라!" 여야 하려나요?

    답글삭제
  3. '게으른 개발자가 되라!'
    보다는

    '지혜로운 개발자가 되라!'
    고 말하는 것 같습니다.

    우리는 더 많은 일을 하기 보다, 더 지혜로워져야 할 필요가 있지요.

    답글삭제
  4. 안녕하세요. 김경록님
    도움이 되었다고 하니 기쁩니다. Email을 통해서 직접 연락을 주셔도 언제든지 도움을 드릴 수 있습니다.
    앞으로 자주 들려주세요.

    답글삭제
  5. 구차니님 안녕하세요.
    ㅎㅎㅎ 예리합니다. ^^

    답글삭제
  6. 김현남님 안녕하세요.
    척하면 척이죠. ^^

    답글삭제
  7. 게으른 개발자가 일을 더 잘한다 라는 글을 소개하면서 이야기를 시작한다. 게으른 개발자가 되라! 라는 글도 한번 읽어 볼만한 글이다. Why Good Programmers Are Lazy and Dumb 한층 더 나아가 둔해야 한다고 말하는 글도 있다. 건방지지만 3글을 한마디로 정리하면 계으른 개발자는 자신이 계속 게으른 상태로 남아 있기 위하여 항상 현재보다 효율적인 방법을 찾으려고 노력하고 그때문에 결국 게으른 개발자가 더 일을 잘하는다는 내용..

    답글삭제
  8. 몇몇 분들이 게으른 개발자(Lazy Programmer)들이 일을 잘한다는 글들을 접하게 되었는데, 그분들의 글을 읽고 제 생각은 어떨까 하는 생각에 한번 정리해 볼려고 포스팅을 합니다. 아래의 내용들은 지극히 제 개인적인 견해임을 밝혀드립니다. 게으른 개발자가 일을 더 잘한다 게으른 개발자가 되라! Why Good Programmers Are Lazy and Dumb 내용을 요약하면 게으르기 위해서는 효율적인/새로운 방법..

    답글삭제