책이 출간된 후 독자분들로부터 다양한 이메일을 받았는데요. 책의 내용에 대한 질문보다는 '진로에 대한 고민'이 많았습니다. 제가 진로에 대해 답을 드릴 수 있는 자격이 있는지 모르겠지만, 제가 아는 선에서 최대한 자세히 답신을 드렸습니다.
그 다음으로 궁금해 하는 질문은 "어떤 IT 업체가 좋은지 모르겠다"입니다. 한 걸음 더 나아가 "면접을 본 다음, 일을 해보지 않고 그 IT 업체가 좋은지 나쁜지 확인할 수 있는 방법이 있는가"라는 질문도 받았는데요. 이 질문을 받고는 바로 답을 드리진 못했습니다. 조금 어려운 질문 같다는 생각이 들었는데요. 사실 저도 이런 의문을 거의 품어본 적이 없었거든요.
책이 출간된 이후 다양한 개발자들과 교류하면서 많은 정보를 얻게 됐는데요. 교류를 통해 얻은 정보로 이제는 "면접을 본 다음, 일을 해보지 않고(수습 기간 동안) 그 IT 업체가 좋은지 나쁜지 확인할 수 있는 방법이 있는가"라는 질문에 답을 드릴 수 있을 것 같습니다.
이제부터 "가서는 안되는 막장 IT 업체의 특징"을 알아볼까요?
프린터기의 복사 용지가 없음
면접을 본 다음 기회가 되면 그 업체의 프린터기를 가보세요. 가서 프린터기 내부나 프린터기 옆에 복사 용지가 있는지 한번 확인해보세요. 무슨 잠꼬대 같은 소리냐구요? 아니, "어떤 업체에서 프린터기와 복사, 프린터 용지가 없을까"란 생각이 들 수 있는데요.
R&D 비용 절감에 매달리는 IT 업체에서는 R&D 비용을 줄이기 위해 이런 저런 황당한 시도를 합니다. 비용을 절감하기 위한 고민 끝에 프린터기의 복사 용지까지 줄이는 것이죠. 프린터기나 복사 용지는 R&D 비용 측면으로 봤을 때 아주 싼 편인데 이런 비용 조차 마른 수건을 쥐어 짜듯이 최소화하려는 것이죠.
이런 업체에서는 개발자들이 자신들이 구입한 복사/프린터 용 용지를 서랍 속에 넣고 프린터를 할 때 용지를 프린터기에 조용히 밀어 넣는다고 합니다. 참 안타까운 사실이죠.
"요즘에 복사나 프린트를 별로 하지 않는데, 복사 용지가 없는게 무슨 문제가 되냐?"라고 반문할 수 있습니다. 그런데 회사에서 연말 정산이나 주요 증명 문서를 출력하기 위해 프린터기는 기본으로 구비돼야 한다고 봅니다.
프린터기의 복사 용지까지 아끼는 IT 업체에서 개발자들에게 성능이 좋은 노트북이나 모니터를 제공해 줄까요? 아마 많지는 않을 겁니다. 프린터기에 복사 용지가 없더라도 프린터기의 사양이 아주 떨어진다던가, 흑백 프린터만 지원해도, 좀 의심의 눈초리로 바라 볼 필요는 있습니다.
하나를 보면 열을 안다는 말이 있잖아요. 대부분 개발자들이 가고 싶어하는 IT 업체에서는 이런 증상(?)은 보기 힘들다고 합니다.
노트북의 사양이 떨어짐
현직 개발자의 노트북이나 모니터의 사양을 한 번 넌지시 확인해 보십시오. 노트북의 스팩을 확인하기 어려우면 모니터라도 파악해보세요. 그 다음에 아래와 같은 증상이 확인되지 않기를 빕니다.
* "노트북에 4기가 RAM을 탑재한다"
* "5년 전에 나온 노트북을 사용해 개발한다"
* "줄감 현상이 보이는 노트북을 사용"
괜찮은 대부분의 IT 업체는 대부분 최상의 노트북과 모니터를 지원해줍니다. 개발자가 빠른 시간에 빌드하고 컴파일 할 수 있는 환경을 마련해야 회사에게 이득이기 때문이죠. 그리고 소프트웨어 개발자들에겐 사실 노트북과 모니터가 필수 사무 용품이기도 하죠.
수습 기간에 IT 업체에 들어 가서 개발을 시작했는데, 예전 개발자가 사용했던 노트북을 물려 받거나 리스로 노트북을 사용하는 경우가 있습니다. 모두 R&D 비용을 줄이려는 시도 끝에 나온 결과라 볼 수 있습니다.
빌드 서버의 사양이 떨어짐
대부분 IT업체에서는 빌드 서버를 운영합니다. 그런데 성능이 떨어지는 빌드 서버를 운영한다는 이야기를 듣습니다.
요즘에는 대부분 플렛폼 기반의 프로젝트에서 빌드를 하므로, 빌드 시간이 오래 걸리는 경우가 많습니다. 욕토라는 빌드 시스템에 대해 들어봤나요? 이제는 빌드도 플렛폼화가 된 듯 합니다.
그런데 빌드 서버의 사양이 떨어지면, 빌드 시간이 2~3시간 정도가 걸립니다. 그 동안 개발자는 2~3시간 이상 대기하게 됩니다. 어떤 개발자는 퇴근하기 전에 빌드를 돌려 놓는 경우도 있는데요. 대부분 정상적인 마인드로 관리하는 IT 업체는 성능이 좋은 빌드 서버를 구축합니다. 개발자가 사양이 떨어지는 빌드 서버 환경에서 일하면 "사우나에 오래 있는 듯한 느낌"을 받기 쉽습니다. 무엇보다 개발 효율이 떨어지죠.
커피 머신이나 카페를 지원하는가
어떤 신입 개발자가 겪었던 스토리입니다. 면접을 본 후 관리자가 사무실을 소개하면서 "노란색 봉지 커피가 무한대로 준비가 돼 있다"라고 선심 쓰듯이 말했다고 합니다. "너에게 특별한 해택을 준다"라는 느낌을 받았다고 해요. 그런데 아쉽게도 그 업체에서는 커피 머신이 없다고 합니다.
그런데, 제가 들어본 대부분 정상급 IT 업체의 개발실에는 스타벅스 급 커피 머신이 준비돼 있다고 합니다. 커피 머신이 없으면 사내에 퀄리티 좋은 커피를 거의 공짜 가격에 마실 수 있는 카페가 있거나, 공짜 스타벅스 쿠폰을 개발자에게 아예 준다고 합니다. 프린터기의 복사 용지 만큼 커피 머신의 가격은 회사 인프라를 구축하는 관점으로는 큰 비용은 아닙니다.
"공짜로 봉지 커피를 마실 수 있데 무슨 불만이 그리 많냐"라고 꼰대 관리자가 화를 낼 수도 있는데요. 이런 분들을 만나면 지금은 2020년도 라고 말씀드리고 싶어요. "봉지 커피를 공짜"로 준다고 이 회사가 개발자를 위해 참 많이 신경을 쓴다고 느끼는 개발자는 거의 없을 겁니다.
정리
램이 4기가 사이즈인 노트북에서 한번 빌드를 하면 4시간이 걸리는 빌드 서버와 함께, 줄감 모니터에서 코드를 보는 사무실을 머릿 속으로 떠올려 봅시다. 그리고 프린터기에 프린터 용지가 없어 여러분이 직접 프린터 용지를 구입해야 합니다. 이런 환경에서 IT 업체가 소프트웨어 개발자를 제대로 관리할 수 있을까요? 아마 많지는 않을 겁니다. 또한 이런 IT 업체에는 실력 있는 개발자가 있을 확률이 떨어집니다.
생각보다 실력있는 개발자들은 여러가지로 까다롭습니다. 무엇인가 그들의 자존감에 조금이라도 스크레치를 만드는 상황이 발생하면 회사를 떠나는 경우가 많거든요. 램이 4기가 사이즈인 노트북에서 한번 빌드를 하면 4시간이 걸리고, 줄감 모니터에서 고수 개발자가 마음 편하게 개발을 할 수 있을까요? 아마 많지 않을 겁니다.
위에서 언급된 예시가 확인된 업체는 소프트웨어 개발자를 제대로 대우하지 못할 가능성이 높습니다. 제가 확인한 정보로는 말이죠.
이 밖에도 추가로 확인할 수 있는 게 있는데요. 그 내용은 다음과 같습니다.
* 개발 샘플(시료)를 아껴서 1개의 샘플을 10명이 나눠서 개발한다.
* 장비 라이선스를 1개 카피만 구입하고 10명 이상 개발자가
돌려서 사용시킨다.
* 아예 라이선스를 구매하지 않는다.
사실 이 글은 제 주관적인 생각입니다만, 많은 개발자분들이 공감해 줬습니다. 혹시 다른 의견이 있다면 댓글로 달아주세요.
Written by <디버깅을 통해 배우는 리눅스 커널의 구조와 원리> 저자