글에서 그는 좋은 엔지니어가 되려면 경험을 쌓는 것이 중요하다고 강조합니다. 초보자 때에는 특정 프로그래밍 언어나 라이브러리를 배우는 데 집중했겠지만, 경력이 쌓일수록 기술뿐 아니라 접근 방식, 방법론, 패러다임 등 관심 범위가 넓어져야 하며 고립된 기술이 아닌 각 부분을 엮어내는 능력이 중요하다는 것이죠.
"훌륭한 엔지니어가 되기 위해서는 경험을 쌓아야 합니다. 작은 프로젝트일지라도 모든 프로젝트는 새로운 기술과 도구를 도구 상자에 추가할 수 있는 기회입니다."
- 엔지니어링 기술을 '도구 상자(Toolbox)'라고 생각해보면, 엔지니어가 알고리즘, 언어 등 새로운 기술을 배울 때마다 툴박스에 귀중한 도구가 추가되는 것입니다.
- 그런데 도구가 있다는 것보다 그 도구를 언제 어떻게 효과적으로 사용할지를 아는 것은 '경험'에서 비롯됩니다. '컴포트 존(comfort zone)'을 넘어 경험을 넓힐 수 있는 프로젝트를 찾아 적극적으로 경험해봐야 하는 이유죠.
- 경험이 쌓일수록 점점 더 이러한 도구를 혁신적인 방식으로 통합, 적용해 복잡하고 다양한 문제를 해결해나가야 합니다.
- 그런데 도구의 양보다 질이 중요합니다. 도구 상자의 진정한 가치는 그 안에 얼마나 많은 도구가 들어 있느냐가 아니라, ‘이러한 도구가 다양하고 복잡한 문제를 얼마나 효과적으로 해결할 수 있느냐’에 있습니다.
- 한 예로, 전자상거래 프로젝트의 데이터베이스 트랜잭션과 채팅 애플리케이션의 웹소켓 프로그래밍과 같은 실제 경험을 병합하여 실시간 재고 관리 대시보드와 같은 정교한 솔루션을 만들 수 있습니다.
- 이렇듯 다양한 프로젝트의 기술을 통합할 수 있는 능력은 기능뿐만 아니라 우아하고 효율적인 솔루션으로 이어질 수 있습니다.
- 이렇게 컴포트 존을 벗어나 새로운 도전과 다양한 프로젝트를 적극적으로 추구하면, 도구 상자가 확장되고 창의적이고 효과적인 기술 조합을 할 수 있는 능력이 향상됩니다.
- 새로운 기술이나 다른 사고가 필요한 프로젝트를 수용하면 전문성과 적응력이 넓어져 다양한 문제를 해결할 수 있는 다재다능한 인재가 될 수 있습니다.
- 가치 있는 경험을 쌓기 위한 실용적인 팁은 다음과 같습니다.
다양한 프로젝트 큐레이팅하기
회고하고 문서화하기
커뮤니티에 참여하기
멘토링 주고받기
멈추지 않고 배우기
끝으로 그는 말합니다.
"문제 해결에 대한 이러한 다층적이고 미묘한 접근 방식이야말로 진정으로 커리어를 발전시키고 엔지니어로서 여러분을 차별화하는 요소입니다."