실용주의 프로그래머

얼마 전에 보안팀 팀장님으로부터 소프트웨어 테스팅에 대한 세미나를 들은 적이 있었다. 테스팅 방법론 뿐만 아니라 여러가지 이슈에 대해서 이야기를 나눌 기회가 있었는데, 그 때 팀장님께서 수차례 언급하셨던 책이 바로 “실용주의 프로그래머”였다. 그리하여 11월에 전략적으로 이 책을 공부하게 되었고 이번 주말에 일독을 끝냈다.

몇 만줄이 넘는 소프트웨어를 작성하다보니, 큰 프로젝트를 여러명이 함께 진행할 때, 안전하고 효과적인 방법에 대한 고민을 하게 된다. 또 언젠가 팀장이 퇴어 프로젝트를 책임지고 진행해야 하는 위치에 서게 되면, 물론 경험이 어느정도의 역량을 쌓아주겠지만, 팀장이 되기 위한 별도의 공부가 필요할 것 같았다.

워낙 좋은 평이 많은 이 책은 소프트웨어 개발자라면 반드시 일독을 권하고 싶을 정도로 알찬 내용을 담고 있다. 어느정도의 개발경력이 있다면 아마 읽는 내내 무릎을 탁 치게 될 것이다. 이 책에서 말하는 실용주의 프로그래머의 핵심은 한마디로 “빈틈없는 꼼꼼한 개발”이라고 본다.

한가지 중요한 이슈를 소개하자면, 책에서는 수차례 테스트의 중요성에 대해서 강조하고, 프로젝트의 대부분의 과정을 자동화하라고 권고하고 있다. 자동화된 회귀테스트가 소프트웨어의 신뢰성을 보장한다는 것이다. ‘예전에 되었던 것이 도대체 왜 지금 안되나?’ 라는 답답함을 토로해본 경험이 있는 개발자라면, 이 책을 읽고 테스트의 중요성을 깨닫기 바란다.

테스트는 이 책에서 말하는 실용주의 프로그래밍 기법의 일부분일 뿐이다. 총 45가지 주제를 가지고 개발자에게 흥미롭고 유익한 이야기를 전달하고 있으니 개발자라면 꼭 한번 읽어보시라.

MAC OSX에 대한 호기심

내일은 회사의 10주년 기념식이 있는 날이라 몇 일동안 계속해서 공연 연습을 했다. 입사 동기가 광고 패러디 퍼포먼스(?)의 영상을 맥북에서 키노트를 사용해서 구성했는데 처음보는 맥북과 키노트의 프리젠테이션은 나의 호기심을 자극했다. 특히나 가장 나의 시선을 끌었던 것은 바로 터미널의 존재!

그리하여 요즈음에는 지름신의 강림에 시달리고 있다. ‘어차피 사택에 컴퓨터가 없어서 불편하지 않은가’하는 자기 합리화 메커니즘을 가동하며. 그리고 지금까지 월급탄 이래로 나를 위해 지른 것이 없기도 하고. 게다가 아무 이유 없는 LG카드 6개월 무이자 할부 혜택까지 …

지금까지 웬만한 OS는 다 사용해봤는데 MAC OS만 경험이 없다. 내가 가장 궁금한 것은 ‘MAC OS가 프로그래머에게 적합한 운영체제인가?’ 하는 것이다. 내가 개발할 때 사용하는 것은 윈도우의 경우 거의 Putty 밖에 없다고 볼 수 있다. 그 다음으로 중요한 것은 운영체제의 안정성과 인터페이스의 간결함!

큰 돈(?)을 들이지 않고 MAC을 사용해 보기 위한 방법에는 2가지가 있다. 맥북을 구입하던지

사용자 삽입 이미지 혹은 맥미니를 구입하던지

사용자 삽입 이미지
맥북의 경우 100만원대, 맥미니의 경우 60만원대에 구입이 가능하다.

MAC OSX에 경험이 있는 여러분에게 묻습니다. SSH에 접속해서 콘솔에서 주로 작업하는 프로그래머에게 MAC OSX는 어떤 선택이 될까요? 물론 MAC OSX에서 게임할 생각은 없습니다. 안정성, 편의성, 간결함 등이 중요한 항목이 되겠네요.

코딩하기 좋은 폰트

소스코드를 들여다 보는 일이 삶의 커다란 부분이다 보니 코딩할 때 사용하는 폰트에 민감한 편이다. 심플하고 깔끔하면서도 수려한 것을 좋아하는 개인적인 성향도 무시할 수 없을 것이다. 아마 별로 이런쪽으로 무감각했다면 “굴림체”만 쓰고 있었겠지. “굴림체”의 한글은 여전히 아주 깔끔하고 만족스럽지만 코딩할 때의 영문 “굴림체”는 영 매력이 없다!

얼마전 웹서핑 중에 우연히 Finding the Best Programmer’s Font라는 제목의 웹페이지를 찾아가게 되었고 몇 가지 시도해본 중에 괜찮다고 생각되는 폰트 3가지를 소개하고자 한다. 개인적인 선호도 순서대로 나열해 보았다. 스크린 샷은 Putty로 해당 폰트를 사용한 것이다.

1. Monaco
귀여운 느낌이 들면서도 깔끔한 폰트로 최근에 애용하고 있다.

사용자 삽입 이미지
2. Bitstream Vera Sans Mono
참고한 사이트에서 1위를 차지한 폰트. 정갈하고 절제된 멋이 일품. 허나 다소 심심한 느낌.

사용자 삽입 이미지
3. Anonymous
힘이 느껴지면서도 깔끔한 맛이 있다. 숫자 0의 표현이 인상적인 폰트.

사용자 삽입 이미지

여러분은 어떤 폰트가 가장 맘에 드시나요?

근황

지인들에게 내 소식을 알리는 두서없는 글이라 근황이라는 제목을 붙였다. 앞으로도 종종 근황이라는 제목으로 블로그를 통해 간접적으로나마 소통하고자 한다. 주중에 시간을 내어 사람을 만나는 일은 당분간 불가능하고 주말이라는 시간이 워낙 한정적이다 보니 직접적으로 소통하는 것이 쉽지 않은 것이 현실.

그럼에도 불구하고 나는 초보 개발자로서의 현재의 삶에 만족하고 있다. 매일 아침 6시 30분에 일어나 출근해서 밤 10시까지 점심 , 저녁식사를 제외한 시간에 쉼없이 개발에 몰두해야 하지만 내가 하고 있는 일 자체가 재미있을 뿐더러 실제로 필요한 일이라는 생각이 들어 하루하루 큰 보람을 느끼고 있다.

아무것도 모르는 상태에서 사수인 이대리님이 친절하게 설명해주셔서 업무를 이해하는데 큰 도움이 되었다. 차주부터는 더욱 열심히 해서 기대에 부응할 수 있도록 해야겠다. 파견 나오기 전에 입사동기들끼리 무슨 팀이에요? 라고 물으면 OS팀이요, JVM팀이요, DB팀이요 등등의 대답을 들을 수 있었지만, 요즘의 대답은 계좌팀, 매매팀, 상품팀 등등 일만큼 다들 파견근무에 적응한 것 같다. 난 상품팀에서 펀드에 관련된 온라인 서비스를 개발하고 있다.

이제는 김전임이라고 불리는 것이 자연스럽고 사원증을 목에 걸고 있어도 어색하지 않다. 항상 내가 하고 있는 일에서 의미를 찾고 보람을 느끼며 그렇게 하루하루를 열심히 살아가야겠다. 그리고 스스로 옳다고 믿는 가치를 삶속에서 지켜나갈 수 있도록 긴장의 끈을 놓치말자.

입사서류 제출

나의 첫 직장이 될 곳의 본사를 들러 입사서류를 제출했다. 기술을 극대화 한다는 뜻을 가지고 있으며 이제 막 본격적인 성장을 시작하려는 회사. 전문연구요원이라는 특이사항 때문에 선택할 수 있는 직장의 스펙트럼이 그리 넓지 않았으나 고민의 커다란 줄기는 ‘대기업을 선택할 것인가?’, ‘내가 원하는 일을 할 수 있는 곳으로 갈 곳인가?’ 에 대한 것이였다. (대기업이 나를 뽑아줄 지는 의문이지만.)

여기저기 개발자의 애환이 들려오고 있긴 하지만, 프로그래머는 국민학교 시절부터 변하지 않은 나의 꿈이였다. 철저히 인문계적 적성(몇 번의 적성 테스트 결과)을 지닌 내가 자연계열을 선택하고 컴퓨터학부를 거쳐 대학원 전산과에서 공부하고 있는 이유는 컴퓨터가 좋아서였다. 지금까지의 모든 선택은 나의 의지대로 이루어졌고 다른 일은 언감생심 꿈도 꾸어지지 않는 것을 보면 프로그래머는 정말 내가 하고 싶었던 일이였다는 결론을 도출 할 수 있다.

그리하여 나는 소프트웨어 개발자가 되기로 하였고, 그 일을 할 수 있으면서 좋은 대우를 받을 수 있는 회사를 선택했다. 그리고 그 뒤로 다른 회사에는 전혀 관심을 가지지 않았다. 나의 선택에 확신이 있었기 때문. 그렇기에 나는 힘들지도 모르는(?) 회사 생활이 기대가 된다. 그 동안 좀처럼 찾을 수 없었던 열정을 불러오는 동기부여가 내 마음에 자리잡기를 희망하며.