계획과 결심의 시기 - “소프트웨어 엔지니어 가이드북”에서 건진 세 가지 화두
목차
첫번째 화두 "업무를 완수하는 엔지니어 Getting Things Done"
두번째 화두 "팀 역학 관계의 개선 - 성장통을 겪고 있는 팀 Team Dynamics"
세번째 화두 "배움을 멈추지 말자 Lifelong Learning"
마치며…
첫번째 화두 " 업무를 완수하는 엔지니어 Getting Things Done"
책에서는 뛰어난 소프트웨어 엔지니어나 다재 다능한 시니어 엔지니어라도 가장 중요한 기본은 주어진 업무를 완수하는 것이라고 강조합니다. 어떤 상황에서도 업무를 효과적으로 달성하기 위한 방법이 필요합니다.
다음은 업무를 효율적으로 완수하기 위한 몇 가지 방법입니다:
가장 중요한 업무에 집중하기
무엇이 가장 중요한 업무인지 자문하고, 최우선 과제에 가장 많은 시간을 할애하여 정해진 시간 내에 끝내는 습관을 기릅니다.
막힌 부분 풀기
현재의 상태를 정확히 인식하고, 필요한 지원을 받을 사람을 찾아 도움을 받습니다.
작은 단위로 작업 세분화하기
복잡한 작업을 더 작은 단위로 나누어, 각 단위별로 예상 시간과 일정을 설정해 가며 진행합니다.
협업 및 팀워크
가능하다면 혼자 일하기보다는 동료들과 함께 작업하며, 멘토를 찾는 것이 중요합니다.
우리 팀은 새로운 비즈니스 요구사항을 시스템에 반영하는 것과 더불어 매달 두 번의 공통 개선과제를 진행하고 있습니다. 시스템 대 개체 이후부터 본격적으로 시작하였는데, 자신이 담당하는 프로그램에 대해 품질, 성능, 모델 측면에서 개선을 진행하며 기술부채를 해소하는 시간을 갖고 있습니다. 초기에는 일부 파트 위주로 진행되었지만 현재는 정기적이고 지속적으로 파트 구성원 모두 참여한다는 데 큰 의미가 있습니다.
방향성을 명확히 하고, 팀의 집중력을 응집한 결과 점진적 성과를 올릴 수 있었습니다. 돌이켜 보니 개선할 대상과 목표를 분명히 하고, 작은 단위로 쪼개고 우선순위에 따라 진행한 부분이 책과 맞닿아 있었습니다.
두번째 화두 "팀 역학 관계의 개선 - 성장통을 겪고 있는 팀 Team Dynamics"
책에서는 좋은 성과를 내는 건강한 팀에서 관찰되는 5가지 특징에 대해 언급하고 있습니다.
명확성
팀의 목적, 목표 달성을 위한 방법이 명확하고, 이를 모든 팀원이 이해하고 있습니다.
실행력
팀의 업무는 높은 완성도를 자랑하며, 실행력을 바탕으로 좋은 성과를 내고 있습니다.
높은 사기
사기가 높은 팀원들이 서로 돕고, 팀에서의 이탈 확률이 낮습니다. 긍정적인 분위기에서 업무 동기부여가 이루어집니다.
건강한 소통
서로를 존중하며 건설적인 의사소통을 하고, 더 나은 해결책을 제시하기 위해 열린 자세로 의견을 나눕니다.
높은 참여도
팀원 모두가 팀의 계획 수립과 업무에 적극적으로 참여하고 있습니다.
반대로, 팀이 성장통을 겪고 있는 경우 다음과 같은 징후들이 나타납니다:
조용한 갈등과 뒷담화
겉보기에는 원만하게 의사 소통하는 것처럼 보이지만, 내부적으로 갈등이 발생하고 팀 내에 파벌이 생깁니다.
소리 없이 커지는 실행 문제
문제는 눈에 띄지 않게 발생하고, 장애나 오류가 지속적으로 쌓여 운영 업무가 증가합니다.
잘한 업무가 드러나지 않음
팀 내에서 잘한 업무가 드러나지 않으며, 중요한 기여가 제대로 인정받지 못합니다.
증가하는 퇴사 위험
팀원들이 업무 외의 다른 기회를 찾아 이직을 고려합니다.
충분한 도전 거리가 없는 시니어 중심의 팀
사공이 많아 배가 산으로 가거나, 영향력 있고 흥미로운 프로젝트 참여 기회를 두고 갈등이 벌어지기도 합니다.
이를 개선하기 위해서는 다음의 방법을 적용해 볼 수 있습니다.
먼저 관찰하기
팀의 역학을 파악하고, 팀의 강점과 개선이 필요한 부분을 기록한 후, 팀원들과 열린 대화를 통해 문제를 이해합니다.
시급한 문제 해결하기
가장 시급한 문제가 무엇인지 확인했다면, 그 부분을 시작으로 해결책을 찾아 개선을 도모합니다.
다른 팀과 교류하기
다른 팀과도 생산적인 관계를 맺고, 아이디어와 의견을 나누어 협력합니다.
세번째 화두 "배움을 멈추지 말자 - Lifelong Learning"
최고의 엔지니어와 그렇지 않은 엔지니어를 구분하는 기준은 바로 "배움을 멈추지 않는다"는 점입니다. 기술은 빠르게 변화하고 있으며, 엔지니어는 기술 트렌드에 맞춰 계속 배우고 성장해야 합니다. 최근에는 방대한 학습 콘텐츠와 다양한 매체가 제공되고 있기 때문에, 자기만의 효율적인 학습 방법을 찾아 이를 지속하는 것이 매우 중요합니다.
여기서 소개하는 배움의 접근 방식은 모든 엔지니어에게 도움이 될 것입니다:
호기심과 겸손함 유지하기
아무리 많은 지식을 가지고 있어도, 항상 더 배울 것이 많습니다.
"왜?" "어떻게?"라는 질문을 끊임없이 던지며 학습해야 합니다.
지속적인 학습
쉐도잉(참여하여 관찰하기), 자율 학습, 지식 공유, 결합, 활용 등 다양한 수단을 이용하여 학습해야 합니다.
도전 정신 유지하기
새로운 기술에 도전하고, 업계 교류를 통해 계속해서 성장해야 합니다.
업계 동향 파악하기
최신 기술 동향을 파악하고, 새로운 기술을 사이드 프로젝트에 적용하거나, 프로토타입을 만들며 경험을 쌓습니다.
휴식의 중요성
계속해서 학습만 하면 번아웃의 위험이 있습니다. 때로는 휴식을 취하는 것도 중요한 학습의 일환입니다. 쉬는 데에 죄책감을 느끼지 말아야 합니다.
마치며...
이 책은 엄마의 잔소리 같은 면이 있습니다. 자주 반복하여 들어 지겨울 때도 있지만, 시간이 지나고 보면 그 말들이 틀리지 않다는 것을 알게 됩니다. 곱씹어 보면 애정도 깃들어 있습니다.
모두가 이미 알고 있는 일반적인 이야기 같지만, 적극적으로 실행하고 있지 않거나 단번에 해결하기 어려운 문제들. 이 책은 구체적인 지침은 아니지만 조직이 처한 환경과 상황, 구성원에 따라 다양한 솔루션이 있음을 인정하고 다양한 해법을 제시하려 노력하고 있습니다.
이런 종류의 책을 다시금 찾아보는 건 해결책을 찾기 위해 고민할 때 그런 기본 원칙들을 상기시켜 주기 때문이 아닐까 합니다.
원칙들을 돌아보며 동료들과 함께2025년을 계획해 보는 것은 어떨까요?
책 속의 한 문장으로 글을 마무리하겠습니다.
“Good enough may be better than perfect.”
‘완벽’보다는 ‘충분’이 더 나을 수 있습니다.
당신은 충분히 잘하고 있습니다.