전체 글
-
팀원을 해고시켜 보셨나요?Management 2024. 7. 19. 18:23
매니저의 역할중에 빛과 그림자처럼 조직과 팀원들을 성장시키는 밝은 면과 조직에 어울리지 않은 팀원을 내보내는 결단을 하는 어두운 면이 있어요.많은 서적과 블로그에는 밝은 면을 중점적으로 이야기하지만 정작 제일 어려운 어두운 면을 이야기하는 곳은 찾기 힘들어요.직접 몸으로 경험하고 내공이 쌓이는 영역인지라 제가 매니저를 채용 인터뷰할때 꼭 체크하는 영역이에요. 왜냐하면 팀원을 성장시키는 것보다 5배 정도는 더 꼼꼼히 고민하고 한마디 한마디 신중에 신중을 더해서 진행해야 하기 때문이에요.매니저 역량이 올라갈만큼 어려운 과제이고 꼭 챙겨야 하는 부분이라고 생각해요.두번하기 싫지만 꼭 해야하는 매니저의 임무중 하나를 상기해 봅니다. Hans.
-
니들이 Disagree & Commit을 알어?Management 2024. 7. 19. 18:19
(오래된 광고 패러디. 신구 선생님 건강하세요.)몇~년전에 팀에서 엔지니어들이 코딩 컨벤션을 정하는 미팅에서 제가 크게 화를 낸 적이 있었어요. 그냥 화도 아니고 정말 고래고래 소리치면서 뒤엎었다는 표현이 맞을 정도로요.(물론 나중에 달래는 시간도 가졌구요. =.=)그때의 회의 상황은 모든 엔지니어가 본인이 선호하는 것만 이야기하고 다른 동료의 의견을 전혀 듣지 않고 있었죠. 4명이서 1:1:1:1로 논쟁을 벌이고 있는 상황이었어요. 모두 "내가 옳다."인거죠.20분정도 중재하다가 크게 화를 내고 제가 가장 Reasonable한 하나를 정해서 회의를 종결시켰는데 나중에 팀원중에 한분이 1:1에서 제가 왜 화를 내는지 이해를 못하겠다고 하시더군요.본인은 Disagree and Commit(D&C) 을 한것..
-
[2부] OKR - OKR ScoringManagement 2024. 4. 19. 11:22
Key Result(KR)에서 설정한 목표대비해서 얼마만큼 나아졌는지 체감하고 결과를 평가하고 성패를 판단해야 합니다.하지만 많은 조직이 프로젝트 달성 여부(배포/완료)만 표현해서 KR에 대한 성과 달성이 세부적으로 표현되고 있지 않는 경우가 많습니다. 그래서 달성률을 표현하지 않아서 우리가 목표대비해서 얼마만큼 나아졌는지 체감할 수 없고 성공과 실패를 평가할 수 없습니다.OKR Scoring을 통해 목표대비 달성률을 측정하고 결과에 대한 명확한 판단을 할 수 있습니다.OKR Scoring의 효과OKR 추적이 쉬워요.KR에 대한 데이터를 정기적으로 기록하면 팀의 성과와 장기적인 Product의 성장에 대한 추세와 패턴을 찾을 수 있습니다.목표와 성공 기준이 명확해져요.OKR을 설정하면 구성원들이 목표와 ..
-
[1부] OKR - Key Result 설정하기Management 2024. 4. 19. 11:21
OKR을 통해 목표 관리를 하는 회사는 많습니다. 그런데 Objective를 설정하는데 어렵지 않지만, Key Result(KR)를 설정하는데 많이 어려워하고 있습니다. 그래서 어떻게 목표를 설정해야하는지 간단한 내용으로 소개를 하려고 합니다. KR만 잘 설정하면 구성원들이 지금 무엇을 어떻게 해야하는지 명확하게 알 수 있어서 동기부여와 조직 방향에 100% 얼라인될 수 있습니다. Objective는 무엇인가?Objective는 사전적인 의미로 '목적'입니다. OKR에서는 '우리 조직이 실현하려고 하는 최종 목적'을 의미합니다. 목적은 조직 구조의 레벨에 따라서 달라지겠지만, 전사의 Objective와 Alignment가 맞춰진 것으로 지정해야 합니다.Objective의 예로 '운영 비용 감소', '매출..
-
모놀리식 애플리케이션의 분해(분리) 전략 - MicroserviceArchitecture 2024. 3. 27. 22:24
많은 서비스들이 성장하면서 모놀리식 애플리케이션(Monolithic Application) 이 된다. 비즈니스 피처를 붙이고 붙이다 보면 거대한 하나의 덩어리가 되고 기술 부채가 눈덩이처럼 쌓여서 팀의 퍼포먼스를 떨어뜨리는 요인으로 작용하는게 일반적이다. 이때 팀에서는 마이크로 서비스로 분리할 대상을 찾은 뒤에 어떤 전략을 실행해야하는지 선택해야 한다. 가장 일반적으로 선택할 수 있는 전략 두가지를 이야기하고자 한다. 모놀리식 애플리케이션의 분해 전략 컴포넌트 기반 분해(Component-bated Decomposition) 컴포넌트 기반 분해는 (애플리케이션의 논리적 구성 요소인) 컴포넌트를 정제/추출한 후 분산 아키텍처를 점진적으로, 제어 가능한 방향으로 구성하면서 다양한 리팩터링 패턴을 적용하는 방..
-
엔지니어링뿐만아니라 리더십도 Full Stack이다. - Full-stack Engineer! Full-stack Leader, too.Management 2023. 7. 19. 19:28
리더십은 비전과 목표를 제시하고 구성원들을 이끌어 가는 힘입니다. 유능한 리더는 자신의 영향력을 활용해 구성원들에게 비전을 제시하고 좋은 성과를 만들어냅니다. 리더십에 대한 블로그나 서적들을 읽어보면 '리더십은 서번트, 민주형, 권위주의형등등 여러가지가 있고 각각의 장단점이 있으니 당신에게 맞는거 선택해서 성공하세요.'라는 내용이 대부분입니다. 최근 몇년동안 두 회사에서 여러 조직을 매니징하면서 크게 깨달은 점이 있습니다. 그것은 바로 '리더십도 Full Stack으로 갖춰야 겠다.'라는 것입니다. 말이 쉽지... 리더십을 여러가지로 구사할줄 알아야 한다는 것은 정말로 힘든 일입니다. 카멜레온처럼 엄청난 상황 대처 능력이 필요한 것이죠. 조직, 업무와 특수한 상황이 발생됐을때 해야하는 리더십 스타일을 다..
-
JPA Entity를 Http Response Dto로 절대 사용하지 말아야 하는 이유Back-end Engineering 2023. 7. 17. 17:04
몇몇 개인 블로그에서 JPA Entity를 Http Response로 리턴하는 사례를 보고 이런 Anti-Pattern은 꼭 알려야 겠다는 생각이 들었습니다. 그 잘못된 정보의 포스팅을 보고 개발 업무에 적용하는 사례가 생기면 안되니 꼭 제대로 정정했으면 하는 바램입니다. 왜 Http Response Dto로 Entity를 사용하면 안되는 이유를 알아보시죠. Entity 객체를 Json으로 Serialize할때 Query의 실행으로 시스템 부하가 올라갑니다. Entity Entity 간 양방향으로 Relationship이 걸린경우 무한루프가 발생하면서 시스템이 Down 상태가 됩니다. Entity를 Serialize하기 위해서 추가하는 코드가 아키텍처링 혼선을 만듭니다. Client에 전달해서는 안되는 ..
-
실시간 데이터 집계 시스템 아키텍처Architecture 2023. 7. 17. 13:15
우리가 사용하는 많은 서비스를 통해 실시간으로 데이터가 집계되는 기능을 매일매일 접하고 있다. 유투브의 라이브 방송에서 시청자 수를 확인한다거나, 게시판 글의 개수처럼 Count를 본다거나 해야할 때다. 그런데 현업에서 오래 일하다 보니 PO/PM Side에서는 '실시간 데이터 집계'라는 기능 자체를 굉장히 쉽게 생각하는 경우가 많아서 구현 난이도에서 발생한 Gap으로 인해 갈등이 일어나거나 PO, PM과 개발자 모두 '실시간 데이터 집계'라는 요구사항에 매몰되서 Over Engineering하는 경우가 많았다. '실시간'이라는 요구사항이 가지는 무게는 생각보다 무겁고, 난이도는 어렵다. 무엇이 중요하고 무엇이 중요하지 않은지 판별할 수 있는 것이 Expert의 역할이고 역량이라고 생각한다. 왜냐하면 실..