개요
이 글은 10년 경력의 데이터 엔지니어가 커리어, 기술, 동료, 삶에 대해 비교적 거칠지만 솔직하게 정리한 회고입니다.
핵심은 특정 기술 스택 찬양이 아니라, 좋은 엔지니어링이란 무엇인가, 커리어를 어떻게 다뤄야 하는가, 무엇에 자기 가치를 걸지 말아야 하는가에 대한 태도입니다.
한 줄 요약
“스택보다 원칙이 중요하고, 좋은 코드는 이해하기 쉬운 코드이며, 커리어와 삶은 직급이나 총보상보다 더 큰 문제다.”
커리어
이직이 가장 강력한 성장 수단
- 커리어 성장의 가장 효과적인 방법은 종종 이직
- 불만족스러운 직장에 오래 머무를 이유는 적음
- 새벽 2시 온콜이 반복되면 고치거나 떠나야 함
핵심은 버티기보다 환경 선택입니다.
직급과 보상에 자기 가치를 묶지 말 것
- 직급은 회사마다 다르고 과장되기 쉬움
- 총보상은 중요하지만, 자기 가치의 기준이 되어서는 안 됨
- 커리어 초반에는 승진이 성장 신호일 수 있지만, 후반에는 직급보다 역할과 영향이 더 중요
기술
스택보다 원칙
- 각 분야에는 대략 10~20개의 핵심 원칙과 반복 패턴이 있음
- 기술 스택은 그것을 더 쉽게 하게 해주는 도구에 가까움
- 기술은 바뀌어도 기본 원칙은 크게 바뀌지 않음
좋은 코드
- 좋은 코드는 주니어도 이해할 수 있는 코드
- 훌륭한 코드는 더 단순한 코드
- 최고의 코드는 아예 없는 코드
이 관점은 영리함보다 가독성과 제거를 높게 평가합니다.
문서화와 제안서
- 가장 과소평가된 스킬 중 하나는 문서화
- 변경 사항에 대한 좋은 proposal 작성 능력도 매우 중요
즉, 엔지니어링은 코드만이 아니라 설명하고 정렬하는 능력까지 포함합니다.
몇 가지 기술적 의견
- SQL은 가장 수익성 높은 초급 기술 중 하나
- Linux 이해는 여전히 중요
- 언어 자체보다 에코시스템 이해가 더 어렵고 중요
- 테스트는 중요하지만 TDD를 종교처럼 다루는 건 경계
동료와 조직
똑똑한 사람과 일할 것
- 방에서 가장 똑똑한 사람처럼 느껴지면 떠날 시기일 수 있음
- 똑똑한 엔지니어와 일하면 코딩이 늘고, 똑똑한 비기술 동료와 일하면 엔지니어링 판단이 늚
- 인턴과 주니어에게서도 계속 배울 수 있어야 함
좋은 리더십
- 최고의 리더는 실수의 책임을 대신 짐
- 충돌하는 의견을 함께 설명해주는 리더가 강함
- 책임 전가 문화가 보이면 떠날 시기
삶
기술이 전부는 아님
- 취미였던 기술이 일이 되면 더 이상 취미가 아닐 수 있음
- 코드 품질을 자기 가치와 동일시하지 말 것
- 싫어하지 않는 일을 하는 것이, 좋아하는 일을 찾는 것보다 더 중요할 수 있음
친절함과 꾸준함
- 모든 사람에게 친절할 것
- 열심히 일하고, 새로운 것을 시도하고, 장기적으로 좋은 관계를 쌓는 태도가 인생을 바꿈
글 전체에서 가장 오래 남는 메시지는 기술적 팁보다도 이 부분입니다.
의미
이 글이 좋은 이유는 완전히 정교해서가 아니라, 시니어 엔지니어가 시간이 지나며 무엇을 덜 중요하게 여기고, 무엇을 더 중요하게 여기게 되는지를 잘 보여주기 때문입니다.
- 기술 스택 집착 감소
- 가독성과 단순성 중시
- 문서화와 설명 능력 중시
- 환경 선택과 인간관계의 중요성 인식
- 자기 가치와 직업 성과의 분리