엔지니어링 문화가 모든 것이다: 실제로 작동하는 팀을 구축하는 방법
InfoQ 팟캐스트에서 Gonzalo Maldonado가 엔지니어링 문화의 중요성, 정성적 지표를 통한 팀 건강도 측정, 그리고 다른 엔지니어링 분야에서 배울 수 있는 교훈에 대해 설명합니다.
3줄 요약
- 엔지니어링 문화는 제품 품질과 비즈니스 성과에 직접적인 영향을 미치며, 정량적 지표보다 정성적 평가가 더 중요합니다.
- 호기심 있는 엔지니어를 채용하고, 무책임 문화와 5 Whys 기법을 통해 기술적·사회적 문제를 모두 해결해야 합니다.
- 토목, 전기 등 다른 엔지니어링 분야의 표준과 윤리 강령에서 배워 소프트웨어 엔지니어링의 성숙도를 높여야 합니다.
📌 주요 내용
엔지니어링 문화가 모든 것인 이유
Gonzalo (Glo) Maldonado는 베이 에리어에서 15년 이상의 경력을 가진 전 플랫폼 엔지니어링 스태프이자 스타트업 CTO 출신입니다. 그는 InfoQ 엔지니어링 문화 팟캐스트에서 엔지니어링 문화가 왜 중요한지에 대해 심도 있는 인사이트를 공유했습니다.
모든 훌륭한 엔지니어는 호기심이 많고 세부 사항에 주의를 기울이며, 자신의 시스템이 사람들에게 어떤 영향을 미칠지 고민합니다. 비즈니스와 영업 측면에서는 고객을 만족시키려 노력하지만, 엔지니어링 측면에서 많은 기술 부채가 있고 개발자들이 출근하는 것을 두려워한다면, 이는 제품과 영업에 그대로 드러나게 됩니다.
좋은 엔지니어링 문화의 모습
좋은 엔지니어링 문화를 측정하는 방법은 정량적 측정과 정성적 측정 두 가지가 있습니다. Maldonado는 DORA 메트릭스보다 SPACE 메트릭스를 선호한다고 밝혔습니다. 그 이유는 각 조직이 자신만의 메트릭스를 구축해야 하며, 작업의 품질이 모든 것에 어떻게 영향을 미치는지 파악해야 하기 때문입니다.
영업 분야의 Net Promoter Score(NPS)와 유사하게, 엔지니어링 팀에서도 “이 제품을 다른 사람에게 추천할 가능성이 얼마나 되는가?”라는 질문이 중요합니다. 팀원들이 친구에게 자신의 회사를 추천하고 싶어 한다면, 그것은 훌륭한 일을 하고 있다는 증거입니다.
기술 리더로서 문화 선택하기
Ben Horowitz의 책 “What You Do is Who You Are”에서 언급되듯이, 행동을 선택하는 방식이 중요합니다. 엔지니어도 사회적 동물이며, 여전히 사회기술적 문제를 주로 다룹니다. 프로세스를 선택하는 것, 심지어 프로세스가 없는 것도 하나의 프로세스입니다.
모니터링과 관찰 가능성의 메타포를 사용하면, 알려진 알려진 것(known knowns), 알려진 알려지지 않은 것(known unknowns), 알려지지 않은 알려지지 않은 것(unknown unknowns)에 대해 항상 이야기합니다. 이러한 개념은 시스템 수준에서 정말 중요하며, 사회기술적 시스템도 시스템입니다.
호기심 있는 엔지니어 식별하기
채용 과정에서 호기심을 확인하는 방법은 여러 가지가 있습니다. 관리자 입장에서는 사람들이 다양한 면모를 가지고 있으며, 관심사와 동기가 있다는 것을 기억해야 합니다. Maslow의 욕구 계층 이론을 이해하면, 사람들이 가족을 부양해야 하지만 그 이상의 단계가 있으며, 이것이 문화를 형성한다는 것을 알 수 있습니다.
Maldonado가 항상 묻는 질문 중 하나는 “취미에 대해 말씀해 주시거나 최근에 관심을 끈 것에 대해 말씀해 주세요”입니다. 중요한 것은 그들이 무엇을 하는지, 관심사가 무엇인지가 아니라 호기심을 듣고 싶어 하는 것입니다.
팀에서 다양성과 교차성 장려하기
다양성을 장려하는 것은 프로세스와 문화 두 측면에서 볼 수 있습니다. 프로세스 측면에서는 소프트웨어 개발 수명 주기에 검토를 위한 공간, 다양한 사고를 도입하는 공간을 만들면 훌륭합니다. 새로운 기능을 작업하기 전에 제품 관리자, 영업 담당자, 엔지니어를 모두 같은 방에 모아 이 기능에 대해 논의할 수 있다면 그것은 놀라운 일입니다.
문화 측면에서는 SRE 서클에서 매우 인기 있는 무책임 문화(blameless culture)가 중요합니다. “누가 무엇을 망쳤는지는 신경 쓰지 않습니다. 왜 망가졌는지에 관심이 있습니다.” 이것은 문화 측면과 기술 측면 모두에 적용되는 가장 중요한 엔지니어링 원칙 중 하나인 5 Whys입니다.
다른 엔지니어링 분야에서 배우기
토목 공학은 우리가 가진 가장 오래된 엔지니어링 직업 중 하나입니다. 로마인들은 분명히 토목 엔지니어가 있었습니다. 우리는 1960년대, 1970년대에 실제로 전기 기계가 이 작업을 수행하기 시작했을 때까지 엔지니어를 얻지 못했습니다.
많은 산업이 인증과 윤리 강령을 갖고 있는 데는 이유가 있습니다. IEEE와 ACM이 하는 작업은 필수적입니다. IEEE는 전기 엔지니어를 위한 것이고, ACM(Association of Computing Machinery)은 소프트웨어 관련 인력을 위한 것입니다. 우리는 시스템이 문화를 반영한다는 것을 이해해야 합니다.
토목 공학에서 배울 수 있는 것은 그들의 교훈입니다. 벽돌이 발명되었을 때, 그것은 혁명이었습니다. 프리메이슨에 대한 이야기는 매혹적입니다. 사람들은 프리메이슨이 기술보다는 기법, 즉 이러한 건설 기법이 표준에 부합하도록 보장하는 문화였다는 것을 잊습니다.
화학 엔지니어와 대화해 보고, 그들의 표준에 대해 이야기해 보세요. 네 개의 직사각형이 있는 다이아몬드 모양에 다른 색상이 있습니다. 그것들은 의미가 있고, 정말 중요한 의미가 있습니다. 그 코드를 이해하지 못하면 실험실에서 큰 문제에 빠질 것입니다. IDE에서 모델까지 모든 것에 대해 그런 코드가 있었으면 좋겠고, 우리가 그것을 발명해야 합니다.
기술과 문화의 상호작용
Maxwell 방정식은 우리의 통신에서 디지털 신호 처리에 이르기까지 모든 것에 영향을 미쳤습니다. 할리우드 황금기의 여배우 Hedy Lamarr도 주목할 만합니다. 그녀는 “피아노에 여러 음이 있는 것처럼, 통신에 이것을 사용할 수 있을까? 레이더에 사용할 수 있을까?”라고 생각했습니다. 그것이 오늘날 우리 휴대폰이 작동하는 방식입니다. CDMA라고 불리며 변조라고 불리고, 기본적으로 “네, 데이터를 전송하는 데 다른 코드를 사용할 수 있습니다”라고 말하는 것입니다.
👨💻 개발자에게 미치는 영향
문화가 기술 부채와 생산성에 미치는 영향
개발자들은 종종 기술 부채와 레거시 코드베이스에 압도당합니다. 이 팟캐스트는 좋은 엔지니어링 문화가 이러한 문제를 어떻게 완화할 수 있는지 보여줍니다. 팀원들이 출근을 기대하고, 코드베이스를 개선하는 데 적극적으로 참여하며, 친구에게 회사를 추천하고 싶어 한다면, 그것은 건강한 엔지니어링 문화의 지표입니다.
호기심과 지속적 학습의 가치
Objective-C 개발자를 더 이상 고용할 수 없는 상황과 같이, 기술 변화는 불가피합니다. 지속적 학습의 문화를 가진 조직은 사람들이 빠르게 Swift를 배우고 적응할 수 있습니다. 개발자로서 호기심을 유지하고, 시스템을 이해하며, “왜?”라는 질문을 계속하는 것이 장기적인 경력 성공의 핵심입니다.
다학제적 접근의 필요성
인류학, 심리학, 다른 엔지니어링 분야에서 교훈을 얻는 것은 더 나은 소프트웨어 엔지니어가 되는 데 도움이 됩니다. Margaret Mead의 인류학 이론, Yuval Noah Harari의 “Sapiens”, Theo Jansen의 예술 작품 등을 탐구하면 기술이 문화의 산물이며 문화가 기술을 형성한다는 것을 이해할 수 있습니다.
