한 데이터 엔지니어가 10년 경력 동안 배운 교훈들을 솔직하고 거침없이 풀어낸 글을 되새기며, 기술·커리어·사람·일의 본질에 대한 생각을 담았다.
몇 년 전, r/ExperiencedDevs의 한 데이터 엔지니어가 술에 취한 채 엔지니어링 10년 동안 배운 모든 것을 적어 내려갔다. 원래 계정은 삭제되었지만, 그 글에는 진짜가 담겨 있다 — 와인 몇 잔 뒤에나 나올 법한 종류의 솔직함 말이다. 오탈자까지 포함해서 여기 남겨 둔다.
‘나 술 취했어’로 시작하는 사람에게서 기대할 만한 언어가 포함되어 있다.
나는 술에 취했고 아마 이걸 후회하겠지만, 지난 10년 동안 엔지니어로 일하며 배운 것들을 술김에 순위 매겨 보겠다.
내 커리어를 가장 잘 발전시킨 방법은 회사를 옮기는 것이었다.
기술 스택은 사실 그렇게 중요하지 않다. 내 분야에서는 적용되는 소프트웨어 엔지니어링의 기본 패턴이 대략 15개쯤 있기 때문이다. 나는 데이터를 다루니 webdev나 임베디드와 같지는 않을 것이다. 하지만 모든 분야에는 대략 10~20개의 핵심 원칙이 있고, 기술 스택은 그걸 더 쉽게 만들려고 존재할 뿐이다. 그러니 너무 전전긍긍하지 마라.
사람들이 이직을 권하는 데에는 이유가 있다. 내가 어떤 직장에서 만족하지 못한다면, 아마 떠날 때가 된 것이다.
나는 내가 일했던 회사들에서 평생 갈 좋은 친구들을 몇 명 만들었다. 그렇다고 내가 일하는 모든 곳에서 그걸 필수 조건으로 삼을 필요는 없다. 동료들과 친구가 되지 않았던 곳에서도 나는 충분히 행복하게 일했고, 멋진 친구들을 사귀었는데도 불행했던 곳도 있었다.
나는 매니저에게 솔직해지는 법을 배웠다. 너무 솔직할 필요는 없지만, 적어도 직장에서 진짜 나로 있을 수 있을 만큼은 솔직해야 한다. 최악이 뭐겠는가? 그가 나를 해고한다고? 그럼 2주 안에 새 직장 구하면 된다.
당직 때문에 새벽 2시에 분기당 한 번보다 더 자주 깨운다면, 그건 뭔가가 심각하게 잘못된 것이고 나는 그걸 고치거나 그만둘 것이다.
한 잔 더 따른다
좋은 매니저의 자질은 좋은 엔지니어의 자질과 많이 겹친다.
처음 시작했을 때 나는 기술, 프로그래밍, 컴퓨터 과학에 매료되어 있었다. 이제는 그 단계를 지났다.
좋은 코드는 주니어 엔지니어도 이해할 수 있는 코드다. 훌륭한 코드는 컴퓨터 과학과 1학년 신입생도 이해할 수 있다. 최고의 코드는 아예 코드가 없는 것이다.
엔지니어로서 배워야 할 가장 과소평가된 기술은 문서화하는 법이다. 젠장, 누가 나한테 좋은 문서를 쓰는 법 좀 가르쳐 줬으면 좋겠다. 진심으로, 추천할 만한 게 있다면 나는 정말 강의값을 낼 의향이 있다. 좋은 문서를 쓸 수 있게 보장해 준다면 강의 하나에 1k 정도, 어쩌면 그보다 더 많이도 낼 수 있다.
위와 관련해서, 변경 제안서를 잘 쓰는 것도 훌륭한 기술이다.
세상에 존재하는 거의 모든 성전은(vim vs emacs, mac vs linux, 뭐 그런 것들) 중요하지 않다... 단 하나만 빼고. 아래를 보라.
나이가 들수록 나는 동적 언어를 더 높이 평가하게 된다. 젠장, 말해 버렸네. 덤벼라.
내가 방 안에서 내가 제일 똑똑한 사람이라고 생각하는 순간이 오면, 떠날 때다.
왜 풀스택 webdev들이 그렇게 적은 돈을 받는지 모르겠다. 진짜로, 기본급만 반백만 달러는 받아야 한다. 젠장, 그들은 프런트엔드도 이해해야 하고 백엔드도 이해해야 하고 브라우저마다 어떻게 다른지도 알아야 하고 네트워킹도 알아야 하고 데이터베이스도 알아야 하고 캐싱도 알아야 하고 웹과 모바일의 차이도 알아야 하고 세상에 씨발 회사들이 또 쓰고 싶어 하는 새로운 프레임워크가 또 있다고? 진심으로, 왜 webdev들은 이렇게 적게 받는가.
우리는 인턴을 더 많이 뽑아야 한다. 그들은 최고다. 아이디어 넘치는 그 활기찬 친구들. 뭔가에 의문을 제기하거나 비판까지 할 수 있으면 더 좋다. 나는 인턴들이 좋다.
한 모금
영웅은 직접 만나지 마라. 나는 내 영웅 중 한 명이 진행하는 강의에 5k를 냈다. 그는 뛰어난 사람이었지만, 끝나고 보니 우리 모두처럼 그도 가면서 즉흥적으로 해 나가고 있다는 걸 깨달았다.
기술 스택은 중요하다. 그래, 방금 기술 스택은 중요하지 않다고 했지만 내 말 좀 들어 봐라. Python 개발자 대 C++ 개발자라고 하면 아주 다른 그림이 떠오르지 않는가? 그건 어떤 도구들은 특정 일에 정말 잘 맞기 때문이다. 뭘 하고 싶은지 잘 모르겠다면 그냥 Java를 해라. 거의 모든 것에 그럭저럭 잘 맞는 구린 프로그래밍 언어다.
역대 최고의 프로그래밍 언어는 lisp다. 나 lisp를 배워야겠다.
초보자에게 가장 돈이 되는 프로그래밍 언어는 SQL이다. 다른 언어는 다 집어치워라. SQL만 알고 다른 건 몰라도 큰돈 벌 수 있다. 급여 담당자? 아마 50k. SQL을 아는 급여 담당자? 90k. 대기업에서 정리정돈 잘하는 평범한 사람? $40k. 정리 능력도 좋고 sql도 안다? 스스로를 PM이라고 부르고 $150k 벌어라.
테스트는 중요하지만 TDD는 빌어먹을 컬트다.
편한 정부 일자리는 사람들이 말하는 것만큼 좋은 게 아니다. 적어도 커리어 초중반 엔지니어에게는 그렇다. 물론 $120k + 복지 + 연금은 좋아 보이지만, 영혼을 팔고 난해한 독점 기술 위에서 일하게 될 것이다. 정부에서 일하는 분들에게는 큰 존중을 표하지만, 진지하게 말해 그곳 엔지니어들의 중위 연령이 50+인 데에는 이유가 있다. 이 조언은 정부 계약직에는 해당하지 않는다.
서드파티 리크루터는 거머리다. 하지만 좋은 사람을 찾으면 진심으로 좋은 관계를 만들어라. 그들은 네 커리어의 부트스트랩을 도와줄 수 있다. 좋은 사람인지 어떻게 아는가? 서드파티 리크루터를 3년 넘게 했다면, 아마 별로일 가능성이 높다. 좋은 사람들은 보통 큰 회사의 리크루터가 된다.
스톡옵션은 아무 가치도 없거나, 널 백만장자로 만들 수 있다. 엔지니어링 인원이 100명 이상이 아니라면 아마 별 가치 없을 것이다. 그 정도 되면 이번 10년 안에는 뭔가 가치가 생길지도 모른다.
재택근무는 끝내준다. 하지만 화이트보드가 없는 건 별로다.
나는 FAANG에서 일해 본 적이 없어서 내가 뭘 놓치고 있는지 모른다. 하지만 나는 FAANG 출신 엔지니어들을 채용해 봤고, 채용하지 않기도 했는데, 그들도 뭘 하는지 잘 모르는 건 마찬가지다.
내 자존감은 내 총보상과 함수 관계에 있지 않으며, 상관관계도 없다. 자본주의는 자기가치를 판단하는 형편없는 방식이다.
매니저들은 네가 생각하는 것보다 권한이 적다. 훨씬 적다. 네가 혹시 왜 어떤 매니저는 누구를 해고하지 않지?라고 생각한다면, 그건 못 하기 때문이다.
직함은 대부분 중요하지 않다. 어디 회사의 Principal Distinguished Staff Lead Engineer? whatever. 네가 무엇을 했고 무엇을 이루었는가. 사람들이 신경 쓰는 건 그것뿐이다.
직함 얘기가 나와서 말인데, 커리어 초반에는 직함이 올라가는 변화가 좋다. Junior에서 Mid. Mid에서 Senior. Senior에서 Lead. 하지만 커리어 후반에는 직함이 내려가는 변화도 좋다. 그러면 같은 보상을 받으면서도 승진할 때 또 인상을 받을 수 있기 때문이다. 다시 말해 커리어 초반(<10 years)에는 직함이 올라가는 게 좋다. 기술과 책임을 키울 수 있기 때문이다. 나중에는 직함이 내려가는 것도 좋다. 급여를 키울 수 있기 때문이다.
401k를 한도까지 채워라.
모두에게 친절해라. 커리어에 도움이 되기 때문만은 아니다. 물론 도움이 되긴 한다. 하지만 친절함은 그 자체로 보람이 있다.
지난 한 달 동안 주니어 엔지니어나 인턴에게서 아무것도 배우지 못했다면, 내가 주의를 기울이지 않은 것이다.
앗, 와인이 떨어졌다.
수업, 책, 컨퍼런스에 돈 쓰는 건 가치가 있다. 나는 몇 번의 컨퍼런스, 몇 개의 1.5k짜리 강의, 많은 책, 그리고 구독 서비스를 해 봤다. 값어치를 했다. 덕분에 내가 뭘 하는 척을 더 잘할 수 있다.
진짜로, 왜 webdev들은 더 많은 돈을 못 받는가? 걔들은 다 안다!!!
손목터널증후군과 허리 문제는 장난이 아니다. 좋은 장비에 지금 1k를 써라.
내가 일해 본 사람 중 가장 똑똑한 사람은 수학 박사였다. 나는 그 사람에게서 정말 많은 걸 배웠다. 잘 지내고 있으면 좋겠다.
한 번은 고등학교 때, 내게 아주 좋은 친구였던 여자가 있었다. 몇 년 동안 우리는 대화도 많이 했고 같이 어울렸고 꽤 개인적인 이야기도 많이 나눴다. 그런데 내가 그녀를 좋아한다거나 우리가 사귄다거나 하는 소문이 돌았다. 그녀는 그걸 별로 좋게 받아들이지 못했고 그래서 나를 무시하기 시작했다. 기분이 썩 좋지는 않았다. 아마 요즘 식으로 말하면 “ghosting”에 가까운 일이었을 것이다. 그래도 그녀에게 악감정은 없고, 잘 지내고 있기를 바란다. 내가 그 일을 더 잘 처리하지 못해서 미안하다.
나는 8학년 때 사귀던 여자친구가 있었는데, 더는 좋아하지 않으면서도 헤어지자고 말하고 싶지 않아서 그냥 무시하기 시작했다. 그건 정말 엉망이었다. 미안하다, Lena.
소프트웨어 엔지니어라는 것의 가장 좋은 점이 뭔지 아는가? 너처럼 생각하는 사람들을 만나고 이야기할 수 있다는 것이다. 스포츠나 TV 쇼 같은 똑같은 관심사를 가진다는 뜻은 아니다. 하지만 문제를 생각하는 방식이 너와 비슷하다는 뜻이다. 그건 꽤 멋지다.
기술 업계에는 여성이 충분하지 않다. 참 엉망인 산업이다. 바뀌어야 한다. 나는 우리 조직의 여성 엔지니어들에게 좀 더 격려와 도움을 주려고 노력해 왔지만, 그 외에 뭘 더 해야 할지는 모르겠다.
흑인 엔지니어도 마찬가지다. 대체 왜 이런가?
나는 어떤 언어나 기술을 정말 깊이 알게 되기 전까지는 진짜로 싫어해 본 적이 거의 없다. 또 내가 어떤 기술을 싫어하면서도 동시에 고객에게는 추천할 수 있다면, 그 기술은 좋은 기술이라고 생각한다. Jenkins는 엿 같지만, 새 고객에게 그걸 추천한다고 해서 소프트웨어적 과실을 저지르는 건 아닐 거라고는 생각하지 않는다.
그렇다고 해도, git은 끔찍하고 나는 선택의 여지 없이 그걸 써야 한다. 그리고 GUI git 도구들은 지옥에나 가라, 나는 언제든 커맨드라인을 택하겠다. 외울 명령줄은 한 7개쯤이고, 나머지는 다 검색하면 된다.
나는 데이터를 다루니까, 데이터에 특화된 교훈 하나를 말하겠다. pandas는 엿 먹어라.
내 일은 팀에 반쯤 기술적인 분석가들이 있어서 더 쉬워진다. 반쯤 기술적이라는 건 프로그래밍은 알지만 소프트웨어 엔지니어링은 모른다는 뜻이다. 이건 축복이다. 왜냐하면 그들에게 뭔가가 말이 안 된다면, 그건 아마 설계가 안 좋다는 뜻이기 때문이다. 나는 팀의 분석가들을 사랑한다. 그들은 가장 뛰어난 엔지니어들보다도 훨씬 더 많이 내가 성장하도록 도와줬다.
다크 모드는 좋다. 강제로 라이트 모드를 써야 하기 전까지는 말이다(웹페이지나 지원되지 않는 앱에서). 그래서 나는 라이트 모드를 쓴다.
나는 보안에 대해 내가 아무것도 모른다는 걸 알 만큼은 안다.
젠장 와인이 떨어졌네.
좋은 엔지니어가 된다는 것은 모범 사례를 아는 것이다. 시니어 엔지니어가 된다는 것은 언제 모범 사례를 깨야 하는지 아는 것이다.
사람들이 버그나 장애에 대해 누구 탓인지 가리려고 한다면, 떠날 때다.
많은 진보적인 회사들, 특히 스타트업은 “진짜 나 자신”을 가져오라고 말한다. 그런데 네 진짜 모습이 하루 종일 포르노 보는 거라면 어떡할 건가? 그래, 일과 사생활 사이에 장벽을 두는 건 건강한 일이다.
나는 해피아워에 동료들과 술 마시는 걸 좋아한다. 그래도 나는 아이들, 가족, 친구들과 시간을 보내는 편이 더 좋다.
훌륭한 리더십의 최고의 시연은 내 리더가 100% 내 잘못이었던 실수를 대신 뒤집어쓴 때였다. 나는 그녀를 위해서라면 불길 위도 걸었을 것이다.
같은 맥락에서, 내가 함께 일할 수 있는 특권을 누렸던 최고의 리더들은 내 의견을 옹호하는 동시에, 내 의견과 충돌하는 다른 의견도 나에게 설명해 주려고 최선을 다했다. 나도 그들처럼 되려고 열심히 노력 중이다.
사이드 프로젝트 따위 엿 먹어라. 그걸 좋아한다면 좋다! 설령 내가 사이드 프로젝트를 할 시간이 있었다 해도, 나는 reddit에 술 취한 글을 쓰느라 너무 바쁠 것이다.
알고리즘과 자료구조는 중요하다 — 어느 정도까지는. 약사 면접에서 유기화학 잡학지식을 테스트하진 않잖은가. 우리 업계의 면접 프로세스에는 뭔가 엉망인 부분이 있다.
젠장, 저 devops 하는 친구들은 정말 똑똑하다. 적어도 그 친구들은 돈은 제대로 받는다.
내가 좋아하는 일을 하는 건 중요하지 않다. 내가 싫어하지 않는 일을 하는 게 더 중요하다.
제품에 가까우면 가까울수록, 매출에 가까우면 가까울수록, 내 일이 얼마나 기술적인지와 상관없이 더 가치 있게 느껴진다. 가장 진보적인 회사들에서도 이건 사실이었다.
내가 전부 Windows 환경에서 일할 때조차 Linux는 중요했다. 왜냐고? 결국 Linux에서 일하게 되었기 때문이다. 주말마다 Arch를 설치해 보며 이것저것 만지작댔던 시간들이 정말 다행스럽다.
나는 big data 같은 모호한 유행어를 경계하는 법을 배웠다. 대체 “big” data가 뭔가? 나는 Spark와 Kafka에서 10분마다 스트리밍되는 10k 행도 다뤄 봤고, Python과 MySQL에서 시간당 배치되는 1B 행도 다뤄 봤다. 그런 딱지들은 다 꺼져도 된다.
좋은 일자리가 모두 Silicon Valley에 있는 건 아니다. 하지만 많은 건 사실이다.
오 젠장 맥주를 찾았다. 계속 가자.
나는 한때 어떤 프로그래밍 언어(C#)를 싫어했는데, 쓰기 시작하고 나서 달라졌다. 지금도 싫어하지만 유용하다고는 생각한다.
그러다 나는 어떤 프로그래밍 언어(C#)를 싫어하게 되었고, 떠났다가 다시 돌아왔다. 와, 그 언어 정말 많이 좋아졌더라.
함수형 언어의 가장 위대한 점은 함수가 일급 객체라는 것이고, 다른 프로그래머들도 다 그걸 안다는 점이다.
어떤 언어가 아무리 훌륭하고 우월해도, 사람들이 쓰지 않으면 소용없다.
언어를 배우는 건 어렵지 않다. 어려운 건 생태계를 배우는 것이다.
페어 프로그래밍은 좋다. 그냥 시간이 많이 들 뿐이다 — 그리고 회사는 보통 그 시간을 쓰고 싶어 하지 않는다.
똑똑한 엔지니어들과 함께 일하면서 나는 더 나은 코더가 되었다. 똑똑한 비기술 동료들과 함께 일하면서 나는 더 나은 엔지니어가 되었다.
9시부터 5시 바깥의 시간에 일하지 마라. 네가 원해서 하는 게 아니라면 말이다. 프로젝트가 엄청나게 재미있고 흐름을 탔을 때라면 예외다. 그건 정말 최고다.
팀 간 해피아워와 사교 시간의 99%는 그냥 쉬면서 동료들을 알아 가는 시간이다. 그건 좋다. 가끔 1%의 순간에는 아주 중요한 프로젝트, 아주 중요한 코드 조각 이야기가 나온다. 그때는 사회적 자리에서 일을 꺼낸 게 다행이라고 느끼게 된다. 아니었으면 진짜 큰일 났을 테니까. 그렇다고 이 때문에 다른 팀과 퇴근 후에 어울려야 한다는 말은 아니다. 나는 그냥 친해지고 싶을 뿐이다. 하지만 그런 건 분명 꽤 괜찮은 부수 효과다.
회사가 반은 원격이고 반은 현장 근무라면, 원격 근무자들이 2등 시민 취급을 받지 않는지 확인하는 게 중요하다. 중요한 결정이 “정수기 앞 잡담”에서 내려진다면, 회사 문화를 바꾸려 노력하든지(어렵다) 아니면 원격 직원을 1등 시민으로 대하는 다른 회사로 옮기는 편이 낫다.
재택근무의 두 번째로 큰 단점은 화이트보드가 없다는 점이다.
재택근무의 첫 번째 큰 단점은 동료들에게서 배우기 어렵다는 점이다. 내가 (a) 자신감 있고 단호하게 질문할 수 있고 (b) 회사에 원격 근무자를 현장 근무자와 동등하게 대하는 문화가 있지 않다면, 내 커리어 첫 5년은 현장 근무를 했던 게 최선이었다고 생각한다.
기술이 변한다는 건 누구나 안다. 지난 10년간 기술 지형은 극적으로 바뀌었다. 하지만 기본기는 그리 많이 바뀌지 않는다. 특히 내 분야에 적용되는 기본기들은 더 그렇다.
Hacker news와 r/programming은 일반적인 아이디어를 얻고 최신 동향을 따라가는 데에만 좋다. 댓글은 거의 가치가 없다.
기술에 대해 강한 의견을 가진 시끄러운 아마추어들이 많다. “존중받는” 저널과 블로그에 글을 싣는 아마추어들조차 그렇다. 나는 소문을 따라가는 건 괜찮다고 느끼지만, 결국은 스스로 판단해야 한다고 생각한다.
나는 최첨단 스타트업에서 일하지만, ABC 최첨단 기술 회사에서 발표한 최신 XYZ 기술을 쓰지 않는다. 그런데 알고 보니 그들이 보통 발표하는 건 엔지니어링 부서의 작은 일부일 뿐이고, 대부분은 우리와 같은 기술을 쓰고 있다.
그렇다고 해도, 징후를 읽는 건 중요하다. 네가 현대적인 기술로 일하고 싶은데 네 회사가 아직도 개발 대부분을 jQuery로 하고 있다면, 다시 생각해 볼 때일지도 모른다.
에라 모르겠다, 나는 데이터 엔지니어니까 더 구체적이고 타깃이 분명한 조언/경험을 더 하겠다.
SQL이 왕이다. MySQL, Postgres, Oracle, SQL Server, SQLite 같은 데이터베이스가 여전히 최강이다. 새 기술로 일하더라도, 대부분은 결국 다 전이된다.
대부분의 회사는 스트리밍을 하지 않는다. 어렵고 복잡하기 때문이다. 커리어 10년 차인데 초당 10k 레코드를 다루는 법을 모른다고 걱정하지 마라. 그래도 널 위한 일자리는 많다.
Airflow가 구리다는 거, 맞다. 다른 제품들도 있다. 하지만 젠장, Airflow만큼 널리 쓰이는 것도 드물다.
머신러닝 프로젝트는 실패에 매우 취약하다. 복잡하고 구현하기 어렵다. 못 믿겠는가? 빌어먹을 머신러닝 모델의 단위 테스트를 쓰는 게 얼마나 쉬운지 생각해 봐라. 그래.
우리 분야는 새롭다. 데이터 엔지니어링에 대한 좋은 책은 없다. 그냥 가서 “해라”. 부트캠프 따위로 배울 수 있는 게 아니다. 아마 앞으로 10년쯤 지나면 우리 모두가 대체 뭘 하고 있는지 조금은 알게 되면서 이것도 바뀔 것이다.
사람은 죽는다. 네 코드를 네 유산으로 남기고 싶은가? 그렇다면 거기에 많은 시간을 써라. 그게 네 빌어먹을 유산이니까, 힘내라! 하지만 나처럼 네 유산이 가족, 친구, 삶 속의 사람들에 둘러싸여 있고 네가 쓰는 코드가 아니라면, 거기에 너무 매달리지 마라.
좋은 사람도 구린 코드를 쓴다. 똑똑한 사람도 구린 코드를 쓴다. 좋은 코더와 좋은 엔지니어도 구린 코드를 쓴다. 코드 품질을 네 자존감의 종속 변수로 두지 마라.
나는 기술이 취미였기 때문에 tech와 코딩 세계에 들어왔다. 그런데 이제 내 취미가 곧 일이 되었고, 일이 내 취미를 망쳐 버렸다. 그래서 이제 내가 기술을 즐기고 싶다면 취미를 그만둬야 한다. 아니면 기술이 더는 내 취미가 아니라는 사실을 받아들이고 새로운 취미를 찾아야 한다.
프로그래밍과 컴퓨터 과학은 뭐랄까, 80년 정도 되었나? 다른 공학 분야와 비교해 봐라. 그래, 우리는 집단적으로 대체 뭘 하고 있는지 잘 모른다.
나는 꽤 좋은 돈을 벌고 있다. 감사해하고 소중히 여겨라. 그리고 저축해라.
나는 여러 팀과 사람들이 여러 해 동안 사용하는 큰 플랫폼과 라이브러리들을 만들어 왔다. 그런데도 이상하게 내가 쓴 코드 중 가장 자랑스러웠던 건 내가 직접 쓰던 작은 스크립트였다.
내 커리어에서 가장 자랑스러운 성취는 다른 사람들이 자기 일을 더 잘하게 도운 것이다. 아마 나는 사람을 관리하는 매니저가 될 운명이라서 그런 것 같고, 그래서 이 말이 다른 사람들에게는 별 도움이 안 될 수도 있다.
구직할 때 나는 Linkedin을 만들고 업데이트했다. 형편없는 답장들만 받고 지워 버렸다. 지금은 우리 회사에 합류할 다른 후보자를 찾는 데 Linkedin을 쓴다. 결론은, Linkedin은 소음이 많다. 지금 내가 그걸 가치 있게 여기는 유일한 이유는 내 일의 일부가 이제 그 소음에 기여하는 것이기 때문이다.
한 번은 대학 때 어떤 여자가 나를 좋아한다는 걸 알게 됐다. 나는 자존감이 낮아서 그걸 믿지 못했지만, 그녀는 나에게 데이트 신청을 했다. 나는 그녀가 정말 멋진 사람이었음에도 관심 없다고 말했다. 그건 내 인생에서 가장 자랑스러운 순간 중 하나였다. 내가 19살에 “아니요”를 성숙한 방식으로 말할 만큼은 성숙했기 때문이다.
r/cscareerquestions는 자아와 잘못된 정보의 거대한 오물 웅덩이 같아서, 나는 그걸 어쩌면 좋을지 모르겠다. 진짜, 대체 뭐냐. 나는 그 사람들을 붙잡고 세상이 실제로 어떤지 설명해 주고 싶지만, 그들은 아마 나를 믿지 않을 것이다.
나는 술에 취했고 평소에는 잘 마시지 않아서, 내가 하는 말은 전부 아마 오글거리거나 끔찍할 거라고 생각한다.
사람들은 돈을 저축하고 투자해야 한다고 나는 강하게 믿는다. 연봉이 6자리라면, 제발 401k를 한도까지 채우도록 최선을 다해라.
나는 내가 늘 싫어하던 사람이 되어 버렸다. 커리어로는 tech에서 일하지만 현실에서는 tech를 피하는 사람 말이다. 아마 나이 든다는 건 그런 건가 보다.
r/ExperiencedDevs는 꽤 멋진 커뮤니티다. 운영진들에게 감사한다. 여러분은 마땅히 받아야 할 것보다 훨씬 적은 감사를 받고 있다. 진심으로, 고맙다.
아마 나는 내 커리어와 연봉, 내 삶을 Reddit에 빚지고 있을 것이다. Reddit은 욕을 많이 먹지만, 여기의 커뮤니티들은 나를 빈곤에서 끌어올려 줬다. 최저임금을 받으며 주유소에서 일하던 나를, Linux, SQL, python, C#, Python, 그리고 다른 것들을 배우게 해서 지금의 자리까지 오게 해 줬다.
아이들은 정말 좋다. 나는 선택에 의해 아이가 없다. 왜냐고? 나는 아이들을 사랑하고, 내가 어떤 종류의 아버지가 될지 두렵기 때문이다. 아 젠장, 이거 여기 올리기엔 너무 개인적인가?
한 번은 누군가가 내가 누구를 존경하느냐고 물었고, 나는 Conan O’Brien이라고 대답했다. 그랬더니 그 사람이 나를 비웃었다. 하지만 나는 진지했다. 왜냐하면 그가 Tonight Show 마지막 방송에서 관객들에게 친절하라고, 그리고 열심히 일하라고 말했기 때문이다. 그 일은 내 삶의 어려운 시기에 일어났고, 내가 그 말을 들었을 때 나는 생각했다. 그래, 알겠어, 나는 정말 그렇게 할 거야. 어차피 잃을 게 뭐 있겠어? 그리고 정말로, 나는 10년이 넘는 시간 동안 내가 친절했기 때문에 배울 수 있었던 뛰어난 사람들을 많이 만났다. 그리고 나는 열심히 일하고 새로운 것을 시도하는 걸 두려워하지 않으면서 정말 많이 성장했다. 그리고 내 삶은 그 말들 덕분에 무한히, 무한히 더 좋아졌다. 그래서 그래, 심야 토크쇼 하나 때문에 내가 삶에서 어느 정도의 충만함을 얻었다고 말하는 게 우습고 심지어 터무니없어 보일 수도 있다. 하지만 있잖아, 에라 모르겠다, 이건 내 삶이고 나는 내가 이룬 어떤 성공이든 심야 TV의 한 코미디언 덕분이라고 자랑스럽게 말할 것이다.
나는 몹시 취해 있으니 내가 하는 말은 뭐든 무시해 달라. 그리고 횡설수설한 것도 미안하다.
나는 이 글을 저장해 두었다. 우리 업계에 대해 내가 읽은 것 중 가장 솔직한 글 중 하나이기 때문이다. 데이터 엔지니어로서 10년 넘게 일한 나도 이 글의 거의 모든 내용에 동의한다 — 특히 SQL이 왕이라는 부분, 기술 스택은 생각만큼 중요하지 않다는 부분, 그리고 최고의 코드는 아예 코드가 없는 것이라는 부분에. 내가 유일하게 반론을 제기하고 싶은 건 동적 언어에 대한 견해다. 하지만 뭐, 그 사람은 술에 취해 있었으니까.