2004년 11월 19일 금요일

Design

Software engineering은 complexity가 관건인데,
내가 design하면 뭐든 좀 복잡해 지는 것 같다.


점점 복잡해지고 이런 저런 meter, assert, data structure, object, component들을 추가하다보면
도저히 내가 감당할 수 없는 범위까지 커진다.


그럼 senior에게 가서 물어보는 데, 대략 1~5초만 지나면
훨씬 간단한 해결책을 준다.
"이런 case는 거의 발생하지 않아 무시해."
"이렇게 복잡하게 하지말고 그냥 key를 바꾸면 간단해 지지"
"그건 할 필요 없어 아무도 안 쓸꺼거든 그냥 skip해"
"더 간단한 구조를 써"
"지금 시간없으니 이것저것 생략하고 몇 가지 가정을 한 후 쉬운 것부터 구현해"


내가 봤을 때는 더 간단해 질 수 없어 보이는 것들도
senior들에게 가져가면 금방 간단한 design으로 변해서 돌아온다.


그럼 또 주눅들어서 독립성을 잃고 자꾸 senior들에게 의존하게 된다.
자신감이 없어진다. 내가 만들면 왠지 복잡해 보이니까.
자꾸 그들에게 물어보는 빈도가 증가한다.
또 물어보고 또 물어보고..
급기야, senior들이 귀찮아 질 때까지 물어본다.
"그런 사소한 건 물어보지 않아도 돼."
"그게 무슨 걱정이지, 그런 일은 안 일어나."
"네 생각대로 해."
"그건 지난번 결정에 따라 그대로 해."
"녀석 끈질기네 그만 물어봐."


그럼 또 며칠간 물어보지도 못하고 혼자 해결하기도 찝찝해지고 해서
그냥 갈팡질팡한다.

댓글 없음:

댓글 쓰기