애송이 개발자에게 멘토하기를,
너가 프로그램을, 칠판을 눈여겨 관측하다가, 원하는 패턴이 나오면 잽싸게 거기에 맞는 알고리즘을 전략적으로 지나치지도 모자라지도 않게 딱 맞는 멀티 스레드로 짤 수 있다고 하자. 너의 머리가 이렇게 구조화되어 이런 것이 자연스럽다 하자. 그렇지만, 내가 분명히 말하건데 그렇게 하는 것이 조금이라도 다른 방법보다 더 리스키하다던가, 개발 시간이 오래 들면 그 건 안된다. if then else 형태로 100배 크고, 100배 느려도 기한을 맞추면 그게 맞는 것이다. 이런 것을 이쪽 세계에서 효율화, 리스크 회피 방법이라 한다.
너가 받는 돈 만큼 품질을 맞추어라. 이런 것을 생태계에 적응한다, 먹이사슬에 포함된다, 또는 좋은 말로 value chain에 한 몫을 담당한다고 한다. 좀 느낌이 구리구리하면 정의 구현하는 것이라고 생각해라.
너가 볼 때 너의 상급자의 개발 지시가 영 아니라고 느낄 때, 가능하면 거기에 맞추어라. 상급자의 방법이 맞을 수 있지 않냐? 혹, 아니더라도 너 책임이 아니지 않는가? 이렇게 하는 것을 현명하다고 한다.
이런 것은 절대 냉소적인 것이 아니다. 너는 그런 감정에 빠질 틈도 없을 것이다. 이런 것을 defensive programming이라 한다.
'소프트웨어 이야기' 카테고리의 다른 글
유튜브를 보고 (0) | 2013.08.18 |
---|---|
빅데이터와 하둡 사이의 적정 거리는? (0) | 2013.02.01 |
오픈소스와 명품과의 거리 (0) | 2013.01.23 |
Big Data 단어 유감 (0) | 2013.01.22 |
어떤 메소드 (0) | 2012.11.21 |