효율

좋은 프로그래머는 지름길을 택하지 않는다

좋은 프로그래머는 지름길을 택하지 않는다

소프트웨어 시장이 가장 뜨거운 분야 중 하나라는 건 누구나 안다: 높은 연봉, 안정적인 일자리, 성장 가능성에 대한 약속은 우리 업계에서 흔한 이야기다.

새삼스러운 이야기도 아니고, 이 이야기는 이미 대중에게까지 퍼졌다. 다음은 2020년 3월 브라질 비즈니스 잡지의 표지였다:

“그들은 20대 초반이고, 어디서 얼마를 받고 일할지 스스로 고른다. 그들을 채용하려고 기업들은 스타트업을 통째로 사들이기까지 한다. 양성 학교들은 전국에서 문을 여는데 벌써 대기 명단이 있다. 소프트웨어 개발자의 환상적인 세계에 오신 걸 환영한다.”

많이 알 필요 없이 높은 연봉을 받는다는 약속은 많은 사람이 갑자기 이 분야에 관심을 갖게 만든다. 물론 이건 과장이고, 예외적인 사례이거나, 태울 돈이 무한정 있어서 장기적으로 유지될 수 없는 시장을 부채질하는 데 아무 거리낌이 없는 회사들의 산물이다.

전에는 프로그래밍에 전혀 관심이 없다가 지금 갑자기 관심이 생긴 사람을 찾기는 어렵지 않다. 거의 항상 비현실적이거나 무책임한 금전적 약속에 엮여 있다.

프로그래밍이 쉽다고 설파하는 사람은 결과가 노력에 비례한다는 말을 항상 빼먹는다: PC 앞에 앉아 강사가 하는 걸 그대로 따라 치는 게 전부인 빠른 강좌를 듣는다면(대부분의 강좌가 이렇게 굴러간다), 당신이 실제로 된 건 코드를 잘 치는 타자수일 뿐, 프로그래머가 아니다. 좋은 프로그래머는 더더욱 아니다. 어쩌면 함께 일하게 될 사람들의 평균 수준쯤에는 있을지도 모른다. 하지만 착각하지 마라, 평균과 평범은 쌍둥이다.

새 글이 나올 때마다 이메일로 알려드릴게요. 스팸은 없어요.

재택근무는 말할 것도 없다. 팬데믹 때문에 엄청나게 확산됐고 이제는 대부분의 테크 회사에서 기본값처럼 보인다. 물론 이게 영원히 이렇게 갈 거라고 생각하진 마라. 이미 몇몇 빅테크에서는 반대 움직임이 나타나고 있다.

내가 재택근무를 꺼내는 건, 주니어나 심지어 인턴을 대상으로 재택 채용 공고를 내는 게 나로서는 엄청나게 무책임해 보이기 때문이다. 커리어를 막 시작한 사람에게서, 더 시니어인 사람들과 더 자주 더 밀도 있게 교류할 기회를 앗아가는 것, 그렇지 않았다면 그의 인간관계 안에 있지 않았을 사람들과 유대를 만들 기회를 앗아가는 것은, 빠르고 단단한 개인적·직업적 성장의 기회를 앗아가는 것과 같다.

커리어 초반의 사람에게는 잦은 교류, 따라 배울 본보기, 그리고 더 경험 많은 사람에게 빠르고 실질적으로 접근할 통로가 필요하다. 재택근무는 값싼 안락함과 맞바꿔 이 모든 걸 앗아간다. 당신이 초심자이고 이 글에서 하나만 가져가야 한다면, 이거다: 그 안락함을 당신 삶에 들이지 마라. 재택은 쉬운 길이고, 쉬운 길은 대개 끝이 좋지 않다. 지금 또렷이 보이지 않더라도, 치르는 직업적 대가는 너무 크다.

이 모든 걸, 이 약속의 바다와 이런 지름길들을 두고 보면, 왜 그렇게 많은 사람이 사기에 넘어가 그 직업을 좋아하지도 않으면서 프로그래머의 길을 택하는지가 분명해진다.

그리고 취업 시장에서 그 효과 역시 꽤 눈에 띈다: 점점 덜 유능한 인력이 점점 더 많은 돈을 요구한다.

이 모든 걸 염두에 두고도 여전히 기술 분야를 택하겠다면, 제대로 들어가라. 코드 조각을 이쪽에서 저쪽으로 복사하는 것밖에 모르는 프로그래머 무리 속 한 명으로 만족하지 마라. 스스로를 갈아넣어라! 배우는 법을 배워라. 매일같이 사이드 프로젝트를 만들고 발전시켜라, 근무 시간에 자신을 가두지 말고, 현실의 문제를 직접 풀어라. 이미 풀린 문제라도 직접 해 보려 애써라. 하나의 프레임워크나 하나의 언어에만 정통한 프로그래머가 되지 마라, 시장에 그런 사람은 이미 넘쳐난다. 우리 직업의 코어를 배우는 데 자신을 갈아넣어라. 단단해서 수십 년이 지나도 변하지 않는 것 말이다. 바깥 껍데기를 맴돌면서 이 기술 저 기술에만 집중하는 걸 멈춰라, 그건 매일 바뀐다. 매일 새 프레임워크가 나오고, 새 혁신 기술이 나온다. 그게 중요한 게 아니라는 걸 빨리 깨달을수록 좋다. 알고리즘, 자료구조, 디자인 패턴을 배워라. 그리고 무엇보다도 연습해라. 매일. 연습하고, 연습하고, 또 연습해라. 풀 수 없는 문제에 부딪히기 전까지 만족하지 말고, 하나 만나면 오히려 기뻐해라. 진짜 배움이 일어나는 건 바로 그 좌절의 순간이다.

또한 좋은 책을 읽고 좋은 사람들을 따르는 것도 빼먹지 마라. 다시 말하지만, A 언어나 B 언어에 관한 책에 집중하지 마라. X 프레임워크나 Y 프레임워크에 관한 책도 마찬가지다. 그딴 건 됐고! 우리 분야의 거장들을 읽고, 그들에게 배워라. Clean Code, The Pragmatic Programmer, Coders at Work을 읽어라. 이 저자들의 콘텐츠를 유튜브에서 찾아봐라, 예를 들어 로버트 마틴의 훌륭한 강연들 같은 것 말이다. 모두에게 열린 공짜 보물이다.

참고로 The Pragmatic Programmer의 첫 번째 교훈은 “Care About Your Craft”다. 그리고 이렇게 말한다: 잘하는 데 마음을 쓰지 않을 거라면, 왜 인생을 소프트웨어 개발에 쓰는가?

다시 말해, 프로그래머가 되기로 하는 건 좋은 프로그래머가 되기 위해서일 때만 그렇게 해라. 그게 아니라면 다른 직업을 골라라. 그리고 그럴싸한 이야기에 넘어가지 마라, 진짜 프로그래머가 되는 건 쉽지도 빠르지도 않고, 그걸 혼자(재택으로) 하기로 하면 훨씬 더 어려워진다. 어느 직업에서나 그렇듯, 지름길은 없다. 올인이거나, 아니면 평균이거나 둘 중 하나다.

새 글이 나올 때마다 이메일로 알려드릴게요. 스팸은 없어요.

스팸 방지가 적용돼 있어요.