본문 바로가기

카테고리 없음

사람(개발자)을 위한 자동화 기술에 눈을 뜨다.

블로그에 종종 쓰긴 했지만 현업에서 평범한 자바 개발자에게 요구하는 일은 단순 노가다 작업이 많습니다. 하나의 샘플 업무가 완성되면 나머지 화면을 반복하여 찍어내는 작업~이 SI에서는 많습니다.

친구가 최근에 초대형 금융 SI 프로젝트에 설계부터 참여하게 됐습니다. 친구는 큰 프로젝트에서 많이 배울 것 같다며 기분 좋아했습니다. 저도 “네가 만약 그 프로젝트를 성공적으로 완수 한다면 지금의 너와 그때의 너는 하늘과 땅 차이가 될 것이다.” 며 용기를 북돋아 줬습니다.

그런데 친구가 요즘 하는 말이 초대형 프로젝트는 무엇인가 틀릴 줄 알았는데 역시 단순 노가다 작업인 것 같다며 푸념합니다. 저는 친구가 이해됐습니다. (그래도 친구는 프로 개발자이기 때문에 주어진 임무는 성실히 완수 할 것이고 저도 그렇게 할 것입니다.)

저는 친구와는 달리 제가 공부했던 자바 기술 공부를 바로 써먹을 수 있는 일을 지금 하고 있습니다. 그야말로 드물게 찾아오는 기회이기 때문에 저는 이 기회를 개발자 인생에 한번 찾아올까 말까 할 최고의 기회라고 생각하고 있습니다.

역으로 말해 그만큼 초 특급 개발자가 아닌 이상은 단순 노가다 SI 작업에서 벗어나기가 쉽지 않다는 것을 의미 합니다. 그래서 지금 열심히 해야 하는데 나름대로 하면서도 2% 부족한 느낌입니다. 열심히 해야 겠습니다.


> 나를 편하게 하는 기술을 배우자.

지금은 재밌게 일하고 있지만 작년 말 단순 노가다 SI 프로젝트에 파견나갈 때도 고민은 반복되었습니다. ‘그런데 나는 여기서 허탈해 하며 멈출 것인가. 무엇인가 방법을 찾아보자. 이런 환경에서도 재밌게 일하는 방법이 있을 것이다~’ 라는 생각을 했습니다.

그래서 생각한 것이 프로젝트 환경과 상관없이 ‘나를 편하게 해주는 기술을 배우자~’ 입니다. 고객을 편하게 하는 개발자 본래 임무 말고 나를 편하게 하는 기술을 배우면 결국 생산성은 높아져서 주변 동료나 고객들에게도 이득이 되리라는 생각을 가지게 되었습니다.


> 나를 편하게 하는 기술, 텍스트 편집 기술


일단 작년 말 단순 노가다 SI 프로젝트에서의 ‘나를 편하게 하는 기술’ 은 ‘텍스트 편집 기술’ 이었습니다.

하나의 샘플 업무를 반복 찍어내는 작업은 ‘텍스트 편집 기술’이 빠르면 빠를수록 쾌속 개발이 가능했는데, 저는 쓰는 방법만 알면 자유롭고 빠르게 텍스트 편집이 가능한, 예전에는 서브 에디터로 쓰던 ‘vim’을 메인 에디터로 다루면서 다양한 텍스트를 빠르게 편집하려고 했고, ‘토탈커멘더’로 파일 관리를 하고, 리눅스의 ‘편집 관련 명령어’와 ‘정규식’으로 텍스트 편집을 몇 번 ‘한방’에 하곤 했는데, 옆에 같이 일하는 개발자가 단축키 쓰는 모습이 마치 ‘스타크래프트 게임’을 하는 것 같다고 말 해준 적이 있습니다. 기분이 좋았습니다. 진짜 단순 노가다 작업에서도 게임을 하듯 개발을 하면 좋겠다는 생각이 들었습니다.


> 나를 편하게 하는 기술, 사람(개발자)을 위한 자동화 기술

이때 익힌 텍스트 편집 기술은 계속 잘 다듬어서 계속 써먹어야겠고요. 다음 ‘나를 편하게 하는 기술’은 자바 진영과 익스트림 프로그래밍에서 많이 얘기하고, 실제로 NHN과 다음 같은 초 대형 IT 회사에서도 쓰고 있는 ‘사람(개발자)을 위한 자동화 기술’, ‘지속적인 통합 기술’ 입니다.

제가 이해한 ‘
사람(개발자)을 위한 자동화 기술’은 ‘개발자가 본래 업무인 핵심 로직에만 집중하고 다른 잡다하게 발생하는 노가다 일은 자동화 기술이 책임진다.’ 인데요. 소스 버전 관리, 빌드 자동화(프로젝트 소스를 컴파일 하고 JUnit로 테스트 한다음, jar로 묶고 그 jar를 다른 곳에 복사한 다음 그 jar를 서버에 FTP로 쏘는 일련의 빌드 작업을 자동화 한다.), 개발자와의 의사 소통을 돕는 기술 등 여러가지 기법이 존재합니다.

개발자가 만약 ‘
사람(개발자)을 위한 자동화 기술'에 능숙하게 되면 자신은 물론 속한 팀원들까지도 편하게 해 줄 수 있는, 그래서 결국 회사와 고객들에게 까지 이익이 전파되는 쾌적한 개발환경을 만들 수 있으리라 기대합니다.


저는 아직 ‘사람(개발자)을 위한 자동화 기술’에 대하여 어설프게 알고 있는 수준 입니다. 앞으로 IBM DeveloperWorks의 ‘사람(개발자)을 위한 자동화 기술’ 리뷰를 통해 틈틈히 공부하고 적용하여 나도 편하고 팀원들도 편한 개발 환경 구축을 시도할 예정입니다.

구독자 여러분들도 한번 읽어보시고 ‘나를 편하게 하는 기술’ ‘사람(개발자)을 위한 자동화’ 기술 습득에 도움이 됐으면 하는 바람 입니다.

> IBM DeveloperWorks의 사람을 위한 자동화 기술

> 다음은 사람을 위한 자동화: 빌드 스크립트에서 나는 “악취(smell)” 제거하기 (한글) 리뷰 예정 입니다.