좋은 엔지니어가 되려면 '경험' 쌓기가 중요합니다
이 글은 구글 크롬 웹 브라우저를 개발하는 엔지니어링 리더 '애디 오스마니(Addy Osmani)'의 글을 요약한 글입니다.
글에서 그는 좋은 엔지니어가 되려면 경험을 쌓는 것이 중요하다고 강조합니다. 초보자 때에는 특정 프로그래밍 언어나 라이브러리를 배우는 데 집중했겠지만, 경력이 쌓일수록 기술뿐 아니라 접근 방식, 방법론, 패러다임 등 관심 범위가 넓어져야 하며 고립된 기술이 아닌 각 부분을 엮어내는 능력이 중요하다는 것이죠.
"훌륭한 엔지니어가 되기 위해서는 경험을 쌓아야 합니다. 작은 프로젝트일지라도 모든 프로젝트는 새로운 기술과 도구를 도구 상자에 추가할 수 있는 기회입니다."

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