Open DaehunGwak opened 2 years ago
우리에게는 스스로의 행동을 직접 결정할 수 있는 힘이 있다. 이 업계는 우리에게 다양한 기회를 주고, 주도권은 우리에게 있으니 행동하라.
개인적으로 최선을 다하는 것이 전부가 아니다. 불가능하거나 위험 요소가 크면 책임을 맡지 않을 권리가 있고 실수를 저지르거나 잘못된 판단을 내렸다면 잘못을 인정하고 대안을 제시해야 한다. 책임을 맡은 업무에서 외부 요인이 문제가 있더라도 그것까지 커버해야 한다.
“잘 모르겠어요. 하지만 알아볼게요” → 모른다는 것을 인정하고 전문가답게 책임을 지는 방법
현재 회사를 다니면서 스스로 결정을 많이 합니다. 그 결정이 합리적이라면 전적으로 믿어주는 팀원들이 있습니다.
나쁜 설계, 잘못된 결정, 형편없는 코드 등은 모두 깨진 창문이며 발견하자마자 고칠 것. 엔트로피가 우리를 지배하도록 내버려두지 말 것
그러기 위해서는 먼저 망가트리지 말아야 한다.
프로젝트에 깨진 창문은 얼마나 많은지? 어떻게 고칠 것인지?
변화의 촉매가 될 것. 사람들은 각자 자신의 자원을 지키려고 한다. (시작 피로) 계속되는 성공에는 합류하기 쉽다.
비슷한 경험을 했습니다. 같이 일하는 디자이너분들과 사이드 프로젝트를 하는데, 첫 미팅 후에 다음 미팅 때 간단하게라도 데모 버전을 보여드렸던 적이 있습니다. 굉장히 반응은 뜨거웠고 크게 동기부여가 되서, 아이디어도 많이 나왔고 디자이너 분들의 의욕이 넘쳐나는 것이 보였습니다. 다음 미팅때도 기능을 조금 더 추가한 데모 버전을 보여드렸고 그 결과 업무에 지쳐있던 분들의 컨디션을 끌어올릴 수 있었고 계속해서 동기를 부여할 수 있었습니다.
큰 그림을 기억하라. 당장 하고 있는 일에만 정신을 쏟지 말고, 주변에서 무슨 일이 벌어지는지 살펴봐야 한다.
특히나 격무에 시달릴 수록 앞으로의 삶과 주변 환경에 대해서 아무 생각도 안하게 되는 경우가 많다고 생각한다.
문제는 이러한 문제들에 대해서 생각하지 않으면 그 격무에서 영원히 벗어날 수 없다는 거..
보통 가장 먼저 타협할 수 있는 비용으로 이러한 고민에 대한 비용을 선택하는 경우가 많은데 그리 해서는 안 된다고 생각한다.
"죄송합니다. 제 잘못이에요."가 생각보다 꺼내기 어려운 말이다. 높으신 분들과 함께 있는 자리에선 더더욱 그렇다. 하지만 이걸 제 때 얘기하지 못하면 정말 수습하기 어려운 사고가 터지게 되더이다..
도전해볼 것 1
도전해볼 것 2
마침 최근에 깨진 창문을 하나 수습했던 적이 있다. 도전해볼 것에 대한 답 대신 해당 과정을 공유함.
여러 로직 작업에 필요한 기반 코드를 작성하고, 설계 철학을 발표했고, "하면 안되는 것들"에 대해서 코드 및 문서에 틈틈히 기록
그 이후 다른 문제들을 처리하러 가면서 대략 반년간 해당 기반 코드를 보지 않았음
그리고 해당 기반 코드와 관련된 설계 논의를 요청받으면서, 요청자가 이상한 말을 하는 걸 듣고 불길한 직감을 느낌
아니나 다를까 코드는 예전의 모습이 거의 남아있지 않은 엉망진창인 상태였다.
초기에 작성된 기반 코드는 실제로 필요했으나 설계 시점에서 밝혀지진 않았던 몇 가지 요구사항들을 만족시킬 수 없는 상태.
이 시점에서 해당 작업자가 기반 코드를 고치기 위한 설계 논의를 하는 것 보다 당장 창문을 깨고 구멍을 내서 돌아가기만 하는 코드를 만드는 걸 선택함
하필 해당 코드는 "상호작용"이었고 인게임 로직의 코드 대부분이 그쪽을 거쳐가게 됨.
누가 창문을 깬 거 보고 원래 그렇게 하나보다 하는 식으로 잘 모르는 사람들이 같이 창문을 깨기 시작
현재의 유지보수 불가능한 누더기가 탄생
일단 해당 로직을 건드렸거나 건드릴 모든 프로그래머를 불러모았음
같이 모여서, 커버할 수 없었던 요구사항을 커버 가능한 새 설계를 만들었다.
그리고 그 자리에 있던 사람들에게 "OK 떨어질 때 까지 이거 건들지 마세요" 했음
작업 시작. 이틀에 걸쳐서 기존에 있던 구현을 다 부수고 새로 작성함
테스트 도중 의도대로 동작하지 않는 부분이 있어서 보아하니 또 다른 곳의 깊은 부채와 엮여있는 부분이 있었다
해당 부분만 동작을 롤백하고 앞뒤 및 중간 중간에 주석을 덕지덕지 바르고 메소드 이름에 HACK__ 따위를 붙이는 형태로, "절대 이렇게 하면 안되겠다" 스티커를 덕지 덕지 붙인 상태로 일단 마무리.(현상태)
Life Is Frog
도전해 볼 것 1
뭔가에 꽂혔을 때 그런 얘길 들으면 이 사람이 이유 없이 내 발목을 잡는 것 처럼 느껴질 수 있지만, 실제로 뒤통수 맞기 전까지는 일단 "우리 모두는 서로가 더 잘되길 바라는 사람이다"라고 생각하고 일하는게 좋다.
왜 직접 바꾸지 않습니까
요즘 무기력한 증상이 많이 찾아오고 있었고, 왜 나의 상황은 이럴까에 대한 고민을 하고 있었다. 부질없다. 그냥 내가 스스로 계속 해야하는 것이다. 불만이 있다면 바꾸고자 노력해보자.
자신과 자신의 행동에 대한 책임을 지는 것
깨진 창문
도전해볼 것
깨진 창문을 보았을 때 반응
[내가 깨진 창문을 보았을 때 할 수 있는 것]
- 깨진 창문을 정리하고 어떻게 해결할지 정리
- 공유해보고 맞는 해결방안인지 같이 논의해보기
- 당장 시간은 없더라도 공유 했으니 다들 경각심을 가지는 것만으로 좋다고 생각함 (이후 다시 마일스톤 잡을 시 이야기 다시 꺼내보기)
시작 피로
를 방지하기 위해 작은 것을 요구할 수 있을 만한 것을 찾고 잘 개발하기
도전해 볼 것
돌멩이 수프(점점 좋아지는 것)와 개구리 수프(점점 나빠지는 것)를 어떻게 판단할까?
누군가 돌멩이 수프라 생각하고 아이디어를 내놓더라도, 이것이 개구리 수프 방향의 초석이 될 수도 있기도 해서 정확히 무엇이다라고 기준을 새우긴 어려울 것 같다. 다만, 좋고 나쁨은 프로젝트 상황과 참여하는 사람들에 따라 달라지므로 의논을 주기적으로 가지고 현재 상황을 인식 및 개선 방향을 찾아 나가는 것이 대안이 될 것이다.
open-feign 이라는 api 클라이언트를 팀내에서 가볍게 소개해주신 분이 있는데, 내가 여기에 감회를 받아 여러 테스트를 해본적이 있다. 이런식으로 완벽하지 않더라도 알게된 것을 공유하여 감회되는 분이 한 사람이라도 있다면 이에 관해 다양한 관점으로 디테일을 쌓을 수 있지 않을까?
I don't know but I try to find
누군가가 실수를 했을 때 팀에서는 어떻게 대응하는게 좋은 팀일까?
깨진 유리창을 발견하더라도, 지금 당장 구현해야하는 기능이나 버그 수정이 더 급할 수 있다. 과연 이 때 적절한 대응 방안은 무엇일까? ( 야근을 하자! 는 너무 잔인하니까 빼도록 합시다 )
돌멩이 스프 이야기를 통해 이 변화가 돌멩이 스프인지, 개구리 수프인지 판단할 수 있는 좋은 방법은 무엇이 있을까? 그런 것들을 팀 내에서 어떻게 판단하면 좋을까? ( 공유를 활발히 한다? 그것만으론 부족할 것 같다. 구체적인 방안에 대해... )
진도
일시