야근중 갑자기 떠오른 옛날 안드로이드 어플 개발하던 시절 이야기

2010년 즈음 L모 그룹 SI회사에서 일하고 있던 때,
L모 그룹 전자회사에서 일하는 동창과 차타고 이동하던 중 나눈 대화

친구 : 모바일 오피스 이딴걸 왜 만든거야? 아오 진짜 그지같네
나 : 음 사정이 있지 않았을까? 그룹사 전체 시스템을 모바일로 통합하는 작업도 만만치 않았을 테고
친구 : 아오 짜증나 진짜 이딴걸 왜 쓰라고 해서 짜증나게 하는거야
나 : 그거 만든사람도 잘 만들고 싶었을 거야. 근데 너도 알다시피 전자랑 SI하면 일정 겁나 쪼잖아. 솔직히 잘 만들기 힘들지
친구 : 아오 그래도 어떻게 앱을 이렇게 만드냐 이건 쓸 수 있는 수준이 아니잖아!
나 : 뭐 좀 그렇긴 한데 아까 말했듯이 일정 문제도 있고 그 기간에 이제 막 나온 안드로이드로 갑자기 개발하려면 쉽지도 않고…
친구 : 그래도 이건 아니지! 이거 만든 개발자를 잡아다 족쳐야되
나 : 내가 만들었다 개새야! 닥쳐!

놈이 운전하고 있어서 차마 때릴 수가 없었다.

요즘 헬 프로젝트에서 개발자로서 일할 때 느끼는 몇가지

요즘 헬 프로젝트에서 개발자로서 일할 때 느끼는 몇가지

1. 좋은 기술이라고 막 가져다 쓰지 말자

최신 레이져총을 가져다가 몽둥이처럼 휘두를 거라면 그냥 동네 문방구에서 파는 야구방망이나 사다 휘두르자. 그게 더 확실하고 값싸고 안전하다. 최신 레이저총이 뿜어내는 고열에 자폭당하고 싶지 않으면 말이다. 제어할 수 없는 강력한 기술은 약간의 변수로도 재앙 덩어리리로 변하기 쉽상이다.

그리고 쓰기로 작정했으면 제발 메뉴얼 정도는 읽어두자. 우리는 뉴타입이 아니다. 혹, 내가 뉴타입인거 같은 느낌이 들더라도 메뉴얼 꼭 읽자. 같은 뉴타입이라도 종이 다르다. 아무로의 미친 짓은 아무나 따라 하는게 아니다.

2. 자존심 따위는 개나 줘버리자

주변엔 나보다 잘나고 뛰어난 동료가 널려있다. 잘 모르고 못하겠으면 그냥 난 모르겠음 선언하고 물어보자. 만고의 진리나 깨달음을 얻진 못하더라도 최소한 더 나은 해결책은 반드시 나오기 마련이다. 백짓장도 둘이 드는게 낫다.

실천하기는 정말 쉽다. 뭔가 일이 막힐 때 자존심은 잠시 서랍 안에 놓아 두고, 개인적으로는 그냥 쓰레기통에 버리는 것도 좋다고 본다, 잘 알것 같은 사람을 찾아가 솔직하고 겸손하게 물어보자. 죄송한데 잘 모르겠으니 좀 도와달라고 말이다. 그리고 나로 인해 소모될 상대의 두뇌의 포도당을 걱정하며 손에 초콜릿 하나 쥐어 주는건 센스다.

3. 상사에게 혼나는 것을 두려워 말고 상사에게 거짓말을 하는 것을 두려워 하자

수 많은 일들이 복잡하게 얽히는 사회 생활에서 상사에게 혼나는 일이 없을 수가 없다. 그건 매우 자연스러운 일이라고 생각한다. 그것보다는 상사에게 혼나는 것을 두려워하여 거짓말을 하게 되는 것을 경계해야한다고 본다. 혼나는것이 두려워 거짓말을 늘어놓다 보면 큰 소리 몇번 듣고 끝날 일을 팀 전체를 한방에 훅 보내버리는 대형 사고로 진화시킬 수 있다.

안타깝게도 가끔 솔직하게 말하는 사항들에 대해서 과하게 반응하거나 무시해버리는 상사들에 대한 이야기를 듣게 되는데 그런 상황에 처해 있다면 상사가 그러지 않다록 잘 설득 하던가 그게 안되면 제껴 버리던가 그것도 안된다면 어서 다른 거처를 마련하고 떠나야 한다고 본다. 머지 않아 그 사람으로 인해 단체로 훅 가버릴 확률이 매우 높다.

4. 정확하고 완결성 있게 일하도록 하자

뭔가 일만 잔뜩 벌려놓고 결과는 뭔가 싸다 만 똥 마냥 남겨 놓는다면 곧 그 업을 혼자 감당해야 하는 지옥을 경험하게 될 것이다. 특히 여러 팀과 협업하는 상황에서 한번 잘못 전달된 사항들은 계속 재생산 되며 끝없이 나를 괴롭힌다. 그리고 주변 동료들의 히스테리와 상사의 질책은 보너스로 주어진다.

시시포스의 형벌 같은 업무를 즐기는 변태성 노동자가 아니라면 많이 일하는 것 보단 정확하고 완결성 있게 일하는 것에 힘쓰도록 하자. 회사일을 하다 보면 급한 일이니 대충이라도 처리하라는 지시를 자주 받게 되는데, 생각 있는 개발자라면 언발의 오줌 누기식 개발은  안하느니만 못하다는 것을 잘 알것이다.

5. 직접 해보고 확인한 결과에 대해서만 말하자

어디서 강의만 듣고 와선 다 아는 것처럼 떠들어 대거나 구글에서 검색한 소스를 적당히 Copy&Paste 해놓고 엄청난 일을 한것 마냥 으시되는 것처럼 꼴불견도 없다. 개발자라면 최소한 직접 해보고 확인한 결과에 대해서만 말하도록 하자. 상황이 어쩔 수 없어 뭐라도 말해야 한다면 적어도 그 출처와 정확성에 대해서라도 상세하게 말할 수 있어야 한다. 그렇지 않다면 그냥 뻥쟁이일 뿐이다. 그리고 그 뻥쟁이가 득세하는 곳은 영원히 지옥의 나락에서 벗어나지 못할 것은 뻔하다.

그러니 개발자라면 언제나 리누스 토발즈님의 명언을 가슴에 아로 새기도록 하자.

Talk is cheap. Show me the code.

6. 누군가에게 일을 부탁할 때는, 혹은 지시할 때는, 정확히 원하는 내용을 전달해 주자

“내가 만들던거 하나 있는데 그것좀 마저 개발해줘. 소스 받아서 확인해보면 될거야.”

막막하다. 대체 당신이 하던 일이 뭐고 그 소스는 어디있는거고 그 소스의 어디를 보라는 건지 알려는 줘야 할거 아니오! 이양반아! 설명하기 귀찮은건지 본인도 자기가 뭘 하고 있는지 몰라 그러는건진 몰라도 여튼 당신하기 싫은 뻘짓 나보고 하란 이야기잖아!

개발자라면 최소한 부탁하려는 일의 목적은 무엇이고 현재 상황이 어떠한지, 그리고 일이 어디까지 진행된 상태이고 상대방이 무엇을 해주면 되는지를 정확히 전달하도록 하자. 나의 친절한 설명 한번이면 상대방은 부탁받은 일을 수월하게 진행할 수 있고 나는 원하는 결과를 빨리 받을 수 있으니 서로에게 좋은 일이다.

7. 문서 기반으로 일하자

개발자라면 내가 만든 결과물을 다른 사람과 공유해야할 때가 자주 있다. 그럴때를 대비해 언제나 문서화를 생활화 하도록 하자. 전달 받는 사람 입장에서는 잘 정리된 문서가 있으니 언제든 참고 할 수 있어 좋고, 전달 해주는 입장에서는 만나는 사람마다 일일히 설명해줘야 하는 부담을 덜 수 있으니 좋다. 30분만 투자에서 정리해 놓으면 그 몇배 이상의 시간 절약할 수 있다.

먼저 문서로 일하고, 부족한 부분은 전화로 해결하는 것이 빠르고 쉽다.

몇가지 더 있는데 정리가 안되므로 나중에…

하나를 얻었으면 다른 하나는 잃기 마련이다.

하나를 얻었으면 다른 하나는 잃기 마련이다. 매우 간단한 원리다.

여자친구를 얻었다면 주말에 누리던 개인의 자유는 포기해야 한다.
행복한 가정을 얻길 원한다면 총각의 자유로움은 당연히 포기해야한다.
차를 가졌다면 유지 비용과 관리해야 하는 시간을 잃어 버릴 것이고, 사기당하지 않으려면 어느정도 공부도 해놔야 한다 ,
조각같은 몸매를 가지려면 달콤한 술과 야식을 포기해야한다.

문장의 마무리가 잃는다는 끝나니 뭔가 부정적으로 보이기도 하는데 반대로 보면 매우 긍정적이다.

별일 없이 보내던 혼자만의 시간을 포기한다면 상상속의 동물로 여기던 여자 친구를 얻을 수 있다.
(사실 포기해야 할 것이 더 있지만 자세한건 생략한다. 히히히!)
총각의 자유로운 삶을 포기한다면 당신은 행복한 가정을 꾸릴 수 있다.
유지 비용과 관리 시간을 감당할 수 있다면 당신은 멋진 차를 가질 수 있을 것이며,
술과 야식을 포기한다면 당신은 조각같은 몸매와 건강을 얻을 수 있다.

알게 모르게 우리는 이 간단한 원리 속에서 늘 삶의 중요한 선택을 해왔다.

사람의 근본적인 불행의 원인중 하나는 공존할 수 없는 두개를 동시에 원한다는 것이다.
하나를 얻는 순간 다른 하나는 포기할 수 밖에 없다는 사실을 인정하지 않는 순간 삶은 고통의 나락으로 떨어진다.

뭐 스스로의 강력한 의지로 그 고통의 나락에서 몸부림쳐 두개를 모두 얻는다 해도 그 두개가 정상일 확률은 극히 적다.
행복한 가정과 함께 다른 여자와 달콤한 연애를 꿈꾸는 삶은 결국 불륜의 나락으로 떨어지는 것 처럼 말이다.

나름 살면서 느낀 행복론 중 하나는 하나를 얻었으면 하나는 잃기 마련이라는 사실을 인정하는 것이다.
이 원리 하나에만 충실해도 나를 괴롭히는 삶의 불행중 상당수는 자연히 사라진다.