2007년부터 개발자 채용을 시작했다. 햇수로 제법 오래되었지만 영세한 중소업체에서 채용을 진행하다보니 대단한 건수를 가진 건 아니다. 그럼에도 지난 시간동안 작은 회사치고는 제법 훌륭한 개발자들을 잘 채용했다고 자부한다. 그러니 회사가 망하진 않고 아직까지 유지되는 거겠지?!
개발자를 채용함에 있어서 정말 많은 요소들을 볼 수 있겠지만 의외로 엉뚱한 질문 한두가지로도 그 사람을 어느 정도는 판단할 수 있다. 지난 시간동안 복잡한 면접 문제보다 오히려 더 좋은 성능의 필터인 경우가 많았던 것들을 소개해 본다.
Pre-AI
뉴스그룹
뉴스그룹을 알거나 거기서 활동한다는 사실만으로도 가산점을 주던 시기가 있었다. 정보와 소스는 귀했고, 그나마 몇 안되는 정상적인 프로그래밍 관련 토론이 벌어지던 곳이 뉴스그룹이었다.
요즘은 그게 유튜브로 변한듯하다. 얼마전 개발자를 뽑는데 조코딩으로 배웠다고 해서 내중에 그게 뭔지 알고는 실소를 했다는 이야기를 들었다. 조코딩은 유명한 개발 유튜브 채널이다. 세월따라 배우는 채널도 변하기 마련이다.
명서
감명 깊게 읽은 책에 명서가 있다고 해서 그게 꼭 좋은 프로그래머임을 반증하지는 않는다. 하지만 적어도 멍청한 개발자는 아니라는 사실은 어느 정도 판단해준다 믿는다. 최소한 어느 정도 취향은 비슷하다는 걸로도 해석할수도 있겠다. 어쨌든 아래 책이 그 목록에 있다면 가산점을 주었다.
Windows Internals, Windows via C/C++, Art Of Unix Programming, Programming Pearls, 실용주의 프로그래머, 조엘온소프트웨어, 코딩 호러의 이펙티브 프로그래밍
누가 내 치즈를 옮겼을까를 선택한 개발자에겐 미안한 이야기지만 선호하지 않았다. 내가 그걸 물어보던 시기에 인터넷에 감명깊게 읽은 책 물어보면 단골로 나오던 책이었다. 요즘으로 치면 세이노의 가르침정도 되겠다. 재미난 사실은 내가 30대때는 지금만큼 세이노가 유명하지 않았지만 그때 난 광팬이었다. 그러나 지금은 생각하는 게 많이 다르다. 세월따라 생각하는 것도 변하게 마련이다.
svn
믿기지 않겠지만 그 시절 업계에서 버전 관리 시스템을 사용하던 곳은 드물었다. 소스 코드는 말 그대로 개발자 각자가 알아서 관리하던 비법같은 존재였다. 나는 꾸준히 일하던 회사에 svn을 도입하자는 말을 했지만 말단 신입이라 쉽지 않았다. 더 엄청난 사실은 심지어 바이너리도 개발자가 시스템에서 직접 빌드한 것을 사용했다.
CTO가 되고 나서 처음으로 사내에 버전관리 시스템을 도입할 수 있었다. 그전에는 혼자 썼다. C자가 붙으면 이런 게 좋다.
구글
난 대학시절부터 구글을 썼지만 아직 국내 검색 엔진 시장은 네이버가 평정하던 시기였다. 개발자 채용에도 구글이 뭔지 아예 모르는 사람이 많았다. 개발 관련 이슈에 검색엔진을 뭘 사용하는지 물어서 구글을 사용하다면 좋은 신호였다.
블로그
개인 블로그를 가지고 있고, 내용이 의미있는 경우에는 가산점을 주었다. 개인 블로그가 의미 있다는 사실은 두가지를 어느 정도는 증명한다고 본다.
- 긴 글을 이해할 수 있는 형태로 쓸 수 있는 능력을 가지고 있다.
- 적어도 적혀진 내용에 대해서는 고민하는 시간을 가졌다.
요즘은 포트폴리오 차원에서 블로그를 하는 경우가 많아졌다. 하지만 여전히 의미있는 내용이 담겨있는 블로그는 드물다. 아주 드문 경우긴 하지만 블로그 내용을 보고 역으로 채용을 제안한 경우도 몇 있었다.
조엘테스트
이걸 알기만해도 코딩이 아닌 제품 개발에 있어서 실질적으로 중요한 부분이 무엇인지 어느 정도는 알고 있다고 생각한다. 놀라운 사실은 여전히 유효하다는 점이다.
스택오버플로
시간이 흘러 뉴스그룹은 스택오버플로로 바뀌었다. 지금은 그냥 검색해도 나오는게 죄다 스택오버플로인 세상이 되었지만 그 시기만해도 모르던 사람이 더 많았다.
git
이제 업계 전반에 버전 관리 시스템은 필수인 세상이 되었다. 하지만 여전히 빌드 시스템은 없는 회사가 많기도 했다. git은 출시가 되었지만 이 시기에 대세는 여전히 svn이었다. 지인들 중에도 git의 장점이 뭔지 도통 모르겠다고 얘기하는 사람들이 많았다.
git을 알기만 해도 가산점을 주었다. 나는 여전히 CTO였지만 svn에서 git으로 가는 과정은 쉽지 않았다. 사내 개발자들은 왜 잘 쓰고 있는 걸 옮기냐고 뭐라 했다. 나는 휴가지 노트북에서도 버전 관리를 계속할 수 있다는 이야기를 했지만?! 당연한 소리겠지만 설득은 1도 안됐다. 그래서 그냥 권력을 이용해서 강제로 변경했다.
이제는 git을 안쓰는 경우가 더 드물것 같다. git과 github은 개발 문화를 정말 많이 변화시켰다고 본다.
파이썬
주로 채용하는 포지션이 C/C++개발자라 파이썬을 사용할 줄 아는 경우 가산점을 주었다. 사내 개발자들에게도 파이썬을 배우면 좋다는 이야기를 많이 했지만 쉽진 않았다.
대체로 그 시절 C/C++ 개발자들은 이건 C/C++로도 다 만들 수 있다는 이야기를 많이했다. 내가 파이썬으로 만드는 게 더 개발 속도가 빠르다고 했지만 당연히 별 의미 없는 소리였다.
2024년이 된 지금, 결국 파이썬이 씹어먹는 세상이 되었다.
슬랙
업무용 메신저란 개념이 아직 드문 시기였다. 우리 회사도 네이트온을 쓰다가 슬랙으로 옮겼던 시기였다. 이것 또한 도입 진통이 없지는 않았다. 하지만 왜 바꾸냐는 말과는 달리 도입 후 사람들은 모두 채널 중독자가 되었다.
대단한 건 아니지만 슬랙을 안다는 것 만으로도 가산점을 주었다. 요즘은 대학 동아리도 죄다 슬랙을 쓰는 세상이다.
Post-AI
여기까지가 지금까지의 이야기다. 내가 다음 개발자를 채용한다면 이제는 이런 것들에 가산점을 줄 것 같다.
chatgpt, claude, cursor
인터넷은 이 녀석들이 지배하고 있지만 아직 오프라인 개발자 중에는 모르는 사람도 많다. 유료 결제해서 사용하고 있다면 제곱으로 가산점을 줄 수 있을 것 같다.
나는 코파일럿 출시 시점부터 인공지능 서비스를 광팬으로 쓰고 있다. 하지만 이후 현실 세계에서 관찰한 개발자를 보면 사용을 주저하는 경우가 많다는 것을 알게되었다. 도저히 왜인지는 모르겠지만 사람들은 여전히 인공지능 사용을 주저하는 집단이 있다.
그 사람들이 모두 인공지능을 쓰기 전까지는 사용하는 사람이 경쟁 우위를 누릴 수 있다는 생각이다. 물론 이는 과거에도 있었다. 인텔리센스나 IDE를 사용하는 걸 두고 멍청한 개발자가 되는 길이라고 주장하던 사람들이다.
rust
파이썬은 이제 프로그래밍 언어에서 일반 언어의 반열에 올라갔다고 본다. 그래서 이제는 rust를 하는 사람에게 가산점을 주어야 하는 세상이 아닐까 싶다.
시스인터널의 창업자이자 MS 기술 펠로우인 루시노비치는 신규 프로젝트는 모두 rust로 진행하자고 주장했고, 리눅스와 git의 초기 개발자인 토발즈옹은 rust는 c보다 복잡한 언어지만 실수할 가능성이 적다는 이야기를 했다. c++에게는 미안한 마음이지만 대세는 이미 기울었다.
로컬 llm
고가의 그래픽 카드가 필요하긴 하지만, 로컬 llm을 돌려서 뭔가를 해봤다면 분명 긍정적인 시그널이지 않을까 싶다. 지난 세월 파이썬이 생산성 향상을 위한 치트키였다면 앞으로는 llm이 대체할 거라 생각한다.