Article Weekly, Issue 28
|Period
2024-07-07
~ 2024-07-13
Unexpected Anti-Patterns for Engineering Leaders — Lessons From Stripe, Uber & Carta
- 엔지니어링 리더십의 3가지 안티패턴
- 마이크로매니지먼트 회피
- 불완전한 지표 측정 기피
- 리더가 팀을 위한 우산이 되는 것
- 마이크로매니지먼트 회피
- 엔지니어링 임원은 서로 상반되는 세 가지 역할을 수행해야 하며, 최고의 임원은 이 역할들 사이를 능숙하게 오갈 수 있음
- 경영진 일원으로서의 역할
- 엔지니어링 관리자로서의 역할
- 엔지니어로서의 역할
- 어떤 사람들에게는 이런 조언이 도움이 될 수 있음을 인정함
- 하지만 고도로 유능한 경영진은 자신이 운영하는 도메인에 대해 어느 정도 세부적인 이해를 가지고 있음
- 세부사항에서 너무 멀어지면 관료가 될 뿐이고, 너무 많은 엔지니어링 매니저들이 결국 관료가 되고 마는 이유임
- 엔지니어링 임원은 서로 상반되는 세 가지 역할을 수행해야 하며, 최고의 임원은 이 역할들 사이를 능숙하게 오갈 수 있음
- 불완전한 지표 측정 기피
- 측정에는 안티패턴이 만연해 있음
- 이상적으로 순수하게 “우리는 그것을 측정하지 말아야 해"라고 말할 수 있지만, 그렇게 하면 주위 조직의 학습만 느려질 뿐임
- 엔지니어링 임원이 가장 가치있는 일은 다른 임원들에게 공학이 어떻게 작동하는지 교육하는 것
- 리더가 팀을 위한 우산이 되는 것
- 과거에는 팀을 보호하기 위해 매니저가 “우산"처럼 행동하는 것을 믿었음
- 하지만 팀을 현실로부터 보호하는 것은 장기적으로 팀에게 해를 끼침
- 매니저와 엔지니어 모두 중요한 대화에 참여할 수 있게 해야 함
The Right Kind of STUBBORN
- 성공적인 사람들의 특징: 끈기
- 단순한 고집은 실패의 요인
- 필자가 만난 결단력 있는 사람들을 보면 끈기와 고집은 실제로 다른 행동임
- 고집스러운 사람들은 단순히 틀렸다는 이유만으로 귀찮은 게 아님. 남의 말을 듣지 않는 것이 문제
- 반면 끈기 있는 사람들은 문제점을 지적하면 경청하고 심지어 포식자처럼 집중함
- 성공한 사람들은 자신의 의견에 반대할 때 오히려 더 적극적으로 경청함. 반면 고집스러운 사람들은 문제점을 지적해도 오히려 교리적으로 반응함
- 끈기 있는 사람들의 특징은 에너지임
- 그들은 단순히 저항하는 게 아니라 끈질기게 시도함
- 계속 시도하려면 상상력도 필요함
- 시도할 만한 것들을 계속 생각해내야 하기 때문
- 에너지와 상상력은 훌륭한 조합임
- 서로 시너지 효과를 냄
- 하지만 어려운 문제를 해결하려면 복원력, 좋은 판단력, 목표에 대한 집중력이 추가로 필요함
- 구성요소를 볼 때 올바른 고집이 잘못된 고집보다 훨씬 희귀하고 훌륭한 결과를 내는 게 당연함
- 고집은 누구나 할 수 있음. 오히려 아이들, 술주정뱅이, 바보들이 잘함
- 반면 올바른 고집의 5가지 자질을 갖춘 사람은 매우 드물지만, 그럴 때 마법 같은 결과를 만들어냄
Coders’ Copilot code-copying copyright claims crumble against GitHub, Microsoft
- 2022년 11월, 개발자들이 GitHub, Microsoft, OpenAI를 상대로 집단 소송을 제기함
- Copilot이 GitHub에 호스팅된 오픈 소스 소프트웨어를 무단으로 사용하여 코드 스니펫을 제공한다고 주장
- 소송 진행 상황
- 소송 초기에는 22개의 주장으로 시작되었으나, 대부분이 기각됨
- 최근 판결에서 DMCA 섹션 1202(b) 관련 주장 등 3개의 주장이 기각됨
- 현재 남아있는 주장은 오픈 소스 라이선스 위반과 계약 위반 주장 2개임
- 법원의 판결
- Copilot이 제공하는 코드가 원 저작물과 충분히 유사하지 않다고 판단
- Copilot이 코드 스니펫을 제공할 때 저작권 관리 정보를 제거하지 않았다고 판결
- DMCA 섹션 1202(b) 주장은 증거 부족으로 기각됨
- 양측의 불만
- 원고 측은 피고 측이 문서 제출을 지연시키고 있다고 주장
- 피고 측은 원고 측이 과도한 정보를 요구하고 있다고 반박
- OpenAI는 이메일 요청 절차가 제대로 이루어지지 않았다고 주장
- GitHub의 입장
- “AI가 소프트웨어 개발 방식을 혁신할 것이라고 확신하며, Copilot이 관련 법을 준수하고 있다고 믿음”
- “AI 기반 개발자 경험을 위해 지속적으로 투자하고 책임감 있게 혁신할 것”
No more boot loader: Please use the kernel instead
- Red Hat 부트로더 엔지니어링 팀은 GRUB 부트로더를 대체할 새로운 방안을 개발 중임
- nmbl (no more boot loader)이라는 빠르고 안전한 리눅스 기반 사용자 공간 솔루션을 제안
- GRUB 부트로더의 문제점
- GRUB은 강력하고 유연한 부트로더로 여러 아키텍처에서 사용됨 (x86_64, aarch64, ppc64le OpenFirmware)
- 그러나 기능이 복잡하여 유지보수가 어렵고, 리눅스 커널과 중복되거나 뒤처지는 경우가 많음
- 또한 많은 보안 취약점을 야기함
- 리눅스 커널의 장점
- 리눅스 커널은 큰 개발자 기반을 가지고 있어 빠른 기능 개발과 취약점 대응이 가능함
- 전반적인 검토가 더 철저하게 이루어짐
마이데이터 플랫폼의 대용량 데이터 처리 개선! 구경 한번 해볼래?
- 카카오페이 마이데이터에서 대용량 처리시 기존의 문제점을 분석하고 개선한 내용
- 배치와 관련해서 샤딩처리라던가, 각 문제를 해결하기 위해서 적용한 솔루션에 대해 소개함
Engineering Principles for Building Financial Systems
- 회계는 지난 수백 년 동안 크게 변하지 않았음
- 그럼에도 불구하고, 금융 시스템을 위한 소프트웨어를 구축하는 올바른 방법에 대해 많은 혼란이 있음
- 이 글에서는 대기업에서 금융 시스템을 구축한 경험을 바탕으로 한 교훈을 공유
- 회계 시스템 구축에 초점을 맞추겠지만, 이 원칙들은 더 일반적인 금융 시스템에도 적용됨
References
- https://review.firstround.com/unexpected-anti-patterns-for-engineering-leaders-lessons-from-stripe-uber-carta/
- https://paulgraham.com/persistence.html
- https://www.theregister.com/2024/07/08/github_copilot_dmca/
- https://pretalx.com/devconf-cz-2024/talk/W3AVCT/
- https://tech.kakaopay.com/post/mydata-platfrom-improvement/
- https://substack.wasteman.codes/p/engineering-principles-and-best-practices