본문 바로가기
Mindset

엔지니어가 가져야 할 자세

by growing.ryan 2024. 1. 14.

Amazon에 Principle Engineer가 지향하는 가치와 기대치에 잘 정리해 놓은 것이 있다(링크).
시니어 엔지니어에게 기대하는 가치와 기대치이지만 경력이 많고 적음을 떠나서 모든 엔지니어가 가져야할 자세라고 생각해서 정리를 해보게 되었다. 총 9가지의 가치가 있다

1. 모범적인 실무자
실무에 직접 참여하여 모범을 보여야 한다. 아키텍처 설계부터 실제 구현에 이르기까지 수준 높은 결과물을 제공해야 한다.
단순히 주어진 요구사항을 만족하는데 그치는 것이 아니라 큰 그림과 디테일을 잘 파악해야 한다.

2. 기술적으로 두려움이 없는
본질적으로 어려운 문제를 해결하고, 필요한 경우 편안한 접근 방식을 넘어서는 모험을 감행한다.
필요에 따라 전문 지식을 습득하여 새로운 영역을 개척하기도 하며 이를 통해 다른 동료에게 가능성에 대한 영감을 준다

3. 공감으로 리드
다른 사람의 의견을 경청하고 존중받고 권한을 부여받는 포용적인 엔지니어링 문화를 형성한다.
자신의 말과 태도가 다른 사람들, 특히 영향력이 약한 사람에게 어떻게 영향을 미칠지를 의식하며, 의도적이든 그렇지 않든 그 영향에 대해 책임감을 갖는다.

4. 균형 잡힌 실용성
실용적인 문제 해결사이다. 판단력과 경험을 바탕으로 서로 다른 이해관계 사이에서 적절한 균형을 잡는다.
장기적인 관점에서 프로세스와 기술을 단순화 한다

5. 조명 및 명확화
복잡성을 명확하게 파악하고 간소화하는 현명한 방법을 제시한다. 각 문제를 고객과 비즈니스 맥락에서 파악하고 본질에 집중한다.
가정을 조사하고, 함정을 밝히고, 공유된 이해를 촉진한다. 명확하고 시기적절한 의사결정을 내림으로써 발전을 가속화 한다.

6. 유연한 접근 방식
팀, 프로젝트, 제품의 요구사항을 충족하기 위해 접근 방식을 조정한다. 다양한 견해를 존중하고 더 많은 것을 배우면서 기꺼이 생각을 바꿀 수 있다. 종종 실행 가능한 해결책이 많으며 때로는 최선의 해결책이 다른 문제를 해결하거나 문제를 전혀 해결하지 않는 것일 수도 있다는 것을 알고 있다.

7. 이전 버전 존중
전임자들에게 감사를 표한다. 업무 시스템의 가치와 그 안에 담긴 교훈을 높이 평가한다. 많은 문제가 본질적으로 새로운 것이 아니라는 것을 갈고 있다

8. 학습, 교육 및 옹호
끊임없이 학습한다. 기술 지식을 추구하고 트렌드, 기술, 접근 방식에 대해 조직 전체에 교육한다. 비전과 재량권을 결합하여 유익하고 판도를 바꿀 수 있는 기술 선택을 추진한다

9. 큰 영향력 행사
"결과물 제공"은 낮은 기준이 아니다. 스포트라이트를 받지 않으면서도 기술, 제품, 회사 전반에 걸쳐 지속적인 영향력을 발휘한다. 일관된 아키텍처 전략에 맞춰 팀을 조정함으로써 영향력을 확대한다.

9가지의 가치들을 보면 매우 간략히 적혀있기는 하지만, 모두 끄덕일 수 있는 내용들이었다. 개인적으로는 '이전 버전 존중'에 대한 내용이 약간을 생소하게 느껴졌지만 필요한 자세인 것 같다. 우리가 흔히 레거시(Legacy) 코드를 보게 되면, '아..이거 왜 이렇게 짰어'라는 말을 하기가 쉽다. 이런 코드를 개선하기 위해 막상 리팩토링을 하다보면 가끔씩은 내가 생각하지 못한 사이드 이펙트가 생기면서, 지금의 코드가 꽤 많은 고민을 해서 나온 것임을 이해하는 경우도 있다. 그때 당시에는 올바른 코드였지만 시간이 지나면서 하나 둘 작은 요구사항이 더해지면서 안좋은 코드가 되기도 한다. 그때 당시에는 올바른 코드였던 것이다. 그렇기에 이전에 작업한 동료를 존중하고 겸손함으로 레거시 코드를 바라보는 것도 필요한 덕목이라고 생각한다.

댓글