박재성님의 ‘최근 구직, 구인 글을 보면서 느끼는 단상’이란 글을 읽었는데 무척이나 공감했다. 특히 다음 구절에서 생각나는 일화가 있어서 적어본다.

다양한 스펙을 쌓는 것에 집중하기 보다 프로그래밍 자체를 즐기는 진정성을 보여주면 더 좋겠다. 경험도 너무 많은 경험보다는 한 가지 경험이라도 깊이 있는 경험을 하면 좋겠다. 프로그래밍 자체에 대한 열정은 자연스럽게 드러난다.

얼마 전 발표자로 참여한 한 스타트업 관련 행사에서 ‘스타트업에 취업하려면 무엇을 공부해야 하나?’라는 Java 프로그래머의 질문에 Node.js, Python, Ruby 같은 스타트업에서 많이 사용하는 언어(혹은 도구)를 공부하라는 답변들을 듣고 나는 안타까움을 많이 느꼈다. 내가 요즘 동적 언어들에 대해 회의감을 가지고 있지만 그것이 원인은 절대 아니었다. 프로그래머가 되고 싶다는 질문에 모든 답변자가 전자정부 프레임워크 3개월 과정 학원을 추천해주는 것과 다를 것이 없다고 생각했기 때문이다. 답변들 각각이 문제라기 보다는 획일적이었고 이 답변들을 부정하기 힘들 정도로 과도하게 유행만을 좇는 우리의 스타트업 업계 행태가 아쉽다. 스타트업이라는 것이 세상의 변화에 기민하게 반응할 수 밖에 없다는 것은 동의하지만 무비판적이어서는 안된다.

나에게도 답변할 기회가 주어졌는데 나는 이렇게 말했다.

당신이 Java 프로그래머라면 Java를 더 깊이 공부해보라.

당장 현장에서 하루 이틀 사이에 써먹을 도구나 팁에만 너무 집중하지 말고 낮은 수준에서 내 코드를 지탱하고 있는 원리에 대해서도 관심을 가지라는 의미였다. Stack Overflow만 방문하지 말고 최근 Java 언어 명세에 추가된 내용들의 근원이 되는 프로그래밍 이론이나 JVM 동작 원리를 설명하는 문서도 읽어보라. 나는 이것이 프로그래머로서의 수명을 늘리고 좋은 안목을 가진 스타트업(혹은 더 큰 회사라도)에 취업할 수 있는 가능성을 높이는 길이라고 믿는다. 특히 이렇게 하면 프로그래밍에 대한 즐거움이 커진다. 건방진 무리수를 하나 더 추가하자면 이것이 소프트웨어 업계의 경쟁력을 높일 것이라고 생각한다.

더불어 박재성님의 글은 커뮤니티 활동에 대해서도 언급하는데 놀랍게도 내가 행사에서 가장 강조했던 것이 바로 커뮤니티 활동이다. 나는 나와 다른 환경의 사람들과 소통하면서 내가 갇혀있던 좁은 세상을 탈출 할 수 있었고 지금도 여전히 내가 직접 경험하지 못하는 많은 것들을 간접적으로나마 느껴며 배우고 있다.