요즘 헬 프로젝트에서 개발자로서 일할 때 느끼는 몇가지
1. 좋은 기술이라고 막 가져다 쓰지 말자
최신 레이져총을 가져다가 몽둥이처럼 휘두를 거라면 그냥 동네 문방구에서 파는 야구방망이나 사다 휘두르자. 그게 더 확실하고 값싸고 안전하다. 최신 레이저총이 뿜어내는 고열에 자폭당하고 싶지 않으면 말이다. 제어할 수 없는 강력한 기술은 약간의 변수로도 재앙 덩어리리로 변하기 쉽상이다.
그리고 쓰기로 작정했으면 제발 메뉴얼 정도는 읽어두자. 우리는 뉴타입이 아니다. 혹, 내가 뉴타입인거 같은 느낌이 들더라도 메뉴얼 꼭 읽자. 같은 뉴타입이라도 종이 다르다. 아무로의 미친 짓은 아무나 따라 하는게 아니다.
2. 자존심 따위는 개나 줘버리자
주변엔 나보다 잘나고 뛰어난 동료가 널려있다. 잘 모르고 못하겠으면 그냥 난 모르겠음 선언하고 물어보자. 만고의 진리나 깨달음을 얻진 못하더라도 최소한 더 나은 해결책은 반드시 나오기 마련이다. 백짓장도 둘이 드는게 낫다.
실천하기는 정말 쉽다. 뭔가 일이 막힐 때 자존심은 잠시 서랍 안에 놓아 두고, 개인적으로는 그냥 쓰레기통에 버리는 것도 좋다고 본다, 잘 알것 같은 사람을 찾아가 솔직하고 겸손하게 물어보자. 죄송한데 잘 모르겠으니 좀 도와달라고 말이다. 그리고 나로 인해 소모될 상대의 두뇌의 포도당을 걱정하며 손에 초콜릿 하나 쥐어 주는건 센스다.
3. 상사에게 혼나는 것을 두려워 말고 상사에게 거짓말을 하는 것을 두려워 하자
수 많은 일들이 복잡하게 얽히는 사회 생활에서 상사에게 혼나는 일이 없을 수가 없다. 그건 매우 자연스러운 일이라고 생각한다. 그것보다는 상사에게 혼나는 것을 두려워하여 거짓말을 하게 되는 것을 경계해야한다고 본다. 혼나는것이 두려워 거짓말을 늘어놓다 보면 큰 소리 몇번 듣고 끝날 일을 팀 전체를 한방에 훅 보내버리는 대형 사고로 진화시킬 수 있다.
안타깝게도 가끔 솔직하게 말하는 사항들에 대해서 과하게 반응하거나 무시해버리는 상사들에 대한 이야기를 듣게 되는데 그런 상황에 처해 있다면 상사가 그러지 않다록 잘 설득 하던가 그게 안되면 제껴 버리던가 그것도 안된다면 어서 다른 거처를 마련하고 떠나야 한다고 본다. 머지 않아 그 사람으로 인해 단체로 훅 가버릴 확률이 매우 높다.
4. 정확하고 완결성 있게 일하도록 하자
뭔가 일만 잔뜩 벌려놓고 결과는 뭔가 싸다 만 똥 마냥 남겨 놓는다면 곧 그 업을 혼자 감당해야 하는 지옥을 경험하게 될 것이다. 특히 여러 팀과 협업하는 상황에서 한번 잘못 전달된 사항들은 계속 재생산 되며 끝없이 나를 괴롭힌다. 그리고 주변 동료들의 히스테리와 상사의 질책은 보너스로 주어진다.
시시포스의 형벌 같은 업무를 즐기는 변태성 노동자가 아니라면 많이 일하는 것 보단 정확하고 완결성 있게 일하는 것에 힘쓰도록 하자. 회사일을 하다 보면 급한 일이니 대충이라도 처리하라는 지시를 자주 받게 되는데, 생각 있는 개발자라면 언발의 오줌 누기식 개발은 안하느니만 못하다는 것을 잘 알것이다.
5. 직접 해보고 확인한 결과에 대해서만 말하자
어디서 강의만 듣고 와선 다 아는 것처럼 떠들어 대거나 구글에서 검색한 소스를 적당히 Copy&Paste 해놓고 엄청난 일을 한것 마냥 으시되는 것처럼 꼴불견도 없다. 개발자라면 최소한 직접 해보고 확인한 결과에 대해서만 말하도록 하자. 상황이 어쩔 수 없어 뭐라도 말해야 한다면 적어도 그 출처와 정확성에 대해서라도 상세하게 말할 수 있어야 한다. 그렇지 않다면 그냥 뻥쟁이일 뿐이다. 그리고 그 뻥쟁이가 득세하는 곳은 영원히 지옥의 나락에서 벗어나지 못할 것은 뻔하다.
그러니 개발자라면 언제나 리누스 토발즈님의 명언을 가슴에 아로 새기도록 하자.
Talk is cheap. Show me the code.
6. 누군가에게 일을 부탁할 때는, 혹은 지시할 때는, 정확히 원하는 내용을 전달해 주자
“내가 만들던거 하나 있는데 그것좀 마저 개발해줘. 소스 받아서 확인해보면 될거야.”
막막하다. 대체 당신이 하던 일이 뭐고 그 소스는 어디있는거고 그 소스의 어디를 보라는 건지 알려는 줘야 할거 아니오! 이양반아! 설명하기 귀찮은건지 본인도 자기가 뭘 하고 있는지 몰라 그러는건진 몰라도 여튼 당신하기 싫은 뻘짓 나보고 하란 이야기잖아!
개발자라면 최소한 부탁하려는 일의 목적은 무엇이고 현재 상황이 어떠한지, 그리고 일이 어디까지 진행된 상태이고 상대방이 무엇을 해주면 되는지를 정확히 전달하도록 하자. 나의 친절한 설명 한번이면 상대방은 부탁받은 일을 수월하게 진행할 수 있고 나는 원하는 결과를 빨리 받을 수 있으니 서로에게 좋은 일이다.
7. 문서 기반으로 일하자
개발자라면 내가 만든 결과물을 다른 사람과 공유해야할 때가 자주 있다. 그럴때를 대비해 언제나 문서화를 생활화 하도록 하자. 전달 받는 사람 입장에서는 잘 정리된 문서가 있으니 언제든 참고 할 수 있어 좋고, 전달 해주는 입장에서는 만나는 사람마다 일일히 설명해줘야 하는 부담을 덜 수 있으니 좋다. 30분만 투자에서 정리해 놓으면 그 몇배 이상의 시간 절약할 수 있다.
먼저 문서로 일하고, 부족한 부분은 전화로 해결하는 것이 빠르고 쉽다.
몇가지 더 있는데 정리가 안되므로 나중에…