짜장면과 개발자

위의 글이 요즘 IT쪽 블로그 스피어를 꽤 뜨겁게 달구나 봅니다.
글 쓰신 분은, 자세히는 모르겠지만 아마 웹 기획자이거나 디자이너이신 듯...? 여튼 개발자와 많이 부대끼는 쪽이신 거 같습니다.

이래저래 말들이 많아서 저까지 쓸 필요는 없을 거 같긴 하지만...
글 내용은 한 마디로 요약하면, '중국집도 해 주는 걸 개발자는 안 해준다' 뭐 이런 식입니다. 짜장면 시키면 단무지 주는게 당연한데 개발자는 당연한 걸 안해준다...는 얘기죠.

비유는 쉽고 재미있게 이해를 시킬 수 있는 장점이 있긴 합니다만, 개발자 식으로 말하면 과도한 추상화로 인해 중요한 특징을 생략해 버릴 수도 있는 결정적인 단점도 있습니다. 그래서 적절한 비유를 찾는 것은 쉬운 일이 아니며 적절하지 못한 비유를 자신의 주장 관철을 위해 사용하는 것은 여론 호도나 다름 없지 않을까 싶습니다.

물론 저는 개발자 출신이니 개발자 편을 드는게 일면 당연하겠지만...-_-
어쨌든 저 글은 S/W 프로젝트의 중요한 요소는 다 빠뜨려 먹은 비유를 들어가면서 개발자의 고지식함(?)을 비판하는 것으로 보이는군요.

예를 들어 짜장면 시켰는데 단무지 안 준다는 불평에 대한 반론을 하나 들자면... 유럽이나 일본 가시면 반찬도 돈 따로 받습니다 -_-;
짜장면이 요즘 얼마쯤 하는지는 잘 모르겠습니다만, S/W 개발은 그렇게 싸구려 업무가 아니죠. 개발자를 상대하는 사람들이 다들 저런 마인드를 갖고 있으니 개발자들은 갈 수록 힘들어질 수 밖에 없을겁니다.

S/W 프로젝트의 요구사항이란 건 설계 단계에서 사실 아무리 세세하고 정확하게 분석한다 해도 구멍이 생길 수 밖에 없는 일입니다. 이는 집이나 자동차로 드는 비유조차도 적당하지 않은 부분인데요, 이는 S/W가 눈에 보이지 않는 것이기 때문입니다.
사용자들이 웹이나 GUI를 통해 보는 것은 사실 S/W가 아닙니다. 사용자들이 볼 수 있는 건 빙산의 일각에 불과하고 나쁘게 말하면 정치인들의 선거철 지하철 타기나 시장 방문과도 비슷합니다 - 내부가 개판인 S/W라도 화면으로는 어떻게든 숨기고 이쁘게 보이려 한다는 의미입니다..
다시 말하면 S/W를 모르는 사용자들이 S/W에 대해 이리저리 고쳐달라고 말하는 것은 개발자들에게는 큰 고통일 수 밖에 없습니다. 그렇기 때문에 최대한 요구사항 변경을 줄이려고 하지만 그것도 쉽지 않으니 Agile 방법론 같은 것이 등장하고 하는 거죠.

뭐, 사람은 누구나 자신의 입장에서 말할 수 밖에 없긴 하지만 개발자들 또한 그런 부분에 대한 고민이 아주 없지는 않음을 알아주셨으면 하네요. 그 비유가 얼마나 어이없는 것들인지 굳이 반박을 해 본다면...


1. 짜장면을 시켰는데 단무지는 왜 없죠? - 단무지 말 안했잖아요
  -> 이런 경우는 단무지가 아니라 '스프'가 더 적당할 것 같습니다. 다시 말하면 개발자 귀에는 '짜장면을 시켰는데 스프는 왜 없죠?' 로 들립니다.

2. 단무지를 다시 갖고 왔는데 젓가락을 안 가져왔다
  -> 마찬가집니다.

3. 양이 전보다 부족해 보인다 - 그럼 처음부터 곱배기로 주문했어야죠
  -> 무슨 비유인지 모르겠네요 여튼 1,2번과 비슷한 듯

4. 맛이 이상하다 - 만들 줄 모르면 말을 마셈
 
-> 맛이 어떻게 이상한지에 따라 해석은 달라지겠지만 이 부분은 사실 개발자의 잘못도 있는 거 같긴 하네요. 하지만 문어 요리를 시켜놓고 다리가 왜 2개 모자라냐고 성질내는 사용자 또한 많습니다.

5. 면이 불어서 떡진 것을 지적했다 - 이거 수타면인데 내려칠 때 각도가 어쩌고 저쩌고
  -> 수타면과 면이 부는 것과는 상관이 없죠, 다시 말해 이 비유는 좀 안드로메다인 듯... 개발자가 그 정도로 상관없는 얘기를 했다면 물론 개발자 잘못입니다만 '본인의 이해부족' = '관계없는 대답'은 아니죠. 그 정도로 어렵게 개발자가 대답을 했다면 개발자의 커뮤니케이션 능력도 아쉽긴 합니다만.

6. 먹을 수 없어서 짬뽕으로 재주문 - '만들어논 짜장 소스가 있어서 짬뽕은 못 만들어요'
  -> 역시 비유가 잘못 되었습니다. 재주문이라면 처음부터 프로그램을 다시 짜 달라고 얘기했다는 건가요? 이건 '이 집에서 살기 힘들어서 부시고 재건축 요구'와 마찬가지네요. 누가 다시 만들어줄까요.

7. 개발자랑 얘기하는 거 힘들다 - 개발자가 아니구 코더에요
  -> 뭔 소린지 모르겠음.


마지막으로...

그리고 짜장면 시키면 단무지하고 나무젓가락 기본으로 오고 서비스로 군만두 정도 바라는게 무리는 아닐 것이다. 그랬으면 좋겠다. 군만두 서비스까지는 안 바라더라도 단무지 정도는 말 안해도 갖다주는..

다시 말하지만 외국이라면 반찬 서비스 바라는 건 무립니다. 게다가 외국에선 부가세도 내고 팁도 줘야 합니다. 저런 비유도 말이 안되겠죠(그리고 짜장면 3개 시켜도 군만두 갖다줄까 말까입니다, 중국집 망하기 바라시나...).
저는 그 놈의 서비스 바라는 사상이 사실 많은 부분에서 사회를 갉아먹고 있다는 생각을 가끔 합니다만...
글 쓰신 분은 댓글엔 갑을 관계 얘기가 아니라고 쓰셨지만 어쨌든 '요구'하는 입장에서 글을 쓴 걸로 비춰질 수 밖에 없을 거 같고, 가볍게 풍자하신 거라는데 별로 가볍게 보이지도 않네요(반응이 격하니 얼버무리는 느낌..?).

여튼 제가 보기엔 상식적인 것 이상을 바라는 건 문제가 있는 것 같습니다. 본인은 상식적인 것이라고 생각해도 실제로 일하는 사람 입장에서는 어떤 어려움이 있는지 모르는 것도 사실일테니까요. 게다가 아무리 설명해줘도 못 알아들으니 개발자 입장에서도 힘듭니다.


결론 : 그 놈의 '말 안해도 알아서'라는 것 때문에 수많은 프로젝트가 산으로 갑니다. 집 지어놨더니 '엘리베이터는 왜 없어요?' 이러고, 끝날 때 다 되어서야 '안되겠네요, 한옥으로 바꿔주세요' 이러고, 몇년 고생했는데 갑자기 '이러고도 돈 받을라고?' 이러는 사람들이 그런 마인드의 연장선상에 서 있는 사람들이 아닐까 싶네요(짜장면 비유보다 이런 비유가 더 현실적이지 않나 싶네요).
이올린에 북마크하기(0) 이올린에 추천하기(0)

'Programming Story' 카테고리의 다른 글

Re: 짜장면과 개발자  (3) 2009/06/29
일하면서 배우기  (8) 2009/06/18
AspectJ 맛보기  (0) 2009/05/28
막장 프로젝트  (4) 2009/05/06
Posted by eminency

제목에서 혼란이 올 수도 있을 거 같습니다만, 이 글은 '가이드'가 아닙니다.
저 말에 숨어 있는 근거없는 '낙관론'에 대한 비판입니다.

아마 여러분이 아직 IT분야에 종사할 예정이나 현재 취업 전의 신분이라면, 그리고 본인의 실력에 대해 불안감을 가지고 있다면 아마 특히 많이 들을 만한 격려성 얘기는 대략 이런 종류일 겁니다.

"취직해서 일하면서 배우면 돼, 다 할 줄 안다 그래"

요즘은 어떤 지 모르겠지만 저는 저 말을 꽤 자주 들은 거 같네요.
어쨌든 저런 말을 들었는지 못 들었는지 모르지만 최근에는 근거없는 자신감으로 취업문턱에 들이대는 사람이 많아 보입니다.

'지금부터 6개월 학원 다녀서 프로그래머가 될까 하는데요. 신입 연봉은 2천이상 받을 수 있을까요?'

대략 이런 식..? (실제 사례입니다).
물론 2천이 많다는 얘기는 절대 아닙니다. 하지만 그건 상식적인 선에서 그런 거고 저런 류의 사람들은 대개 본인의 실력은 전혀 생각하지 않는다고 볼 수 있습니다.
보통 저는 '회사 사정 봐줄 필요 없다'라고 얘기합니다만, 직장을 구하는 경우라면 최소한 실력은 갖춰놓고 배짱을 부려야 정상 아닐까요. 보면, 아무 근거 없이 회사들이 자기를 채용할 거라고 생각하는 경우가 많은 것 같은데요.

이러면서 모자라는 실력은 어떻게든 우겨 들어가서 일하면서 배우면 되겠지 라고 생각한단 말이죠.
일하면서 배운다는 말이 일부 맞을 수도 있긴 합니다만, 회사는 학원도 학교도 아닙니다. 회사 입장에서 생각해 봅시다.

예를 들어 독자적으로 개발한, Fuckache라고 자기들이 이름붙인 캐싱기술을 적용한 서버 S/W를 만드는 회사에서 신입을 뽑는다고 해봅시다.
아마 신입사원 채용시 면접 때 'Fuckache 기술 쓸 줄 알아요?'라고는 절대 묻지 못할겁니다. 다시 말해 이 기술은 이 회사에서밖에 못 배우는 기술이니까요.
좀 범위를 넓히면 Rails라든가 Django같은 웹 프레임워크도 비슷합니다. 안 해봤다고 떨어뜨릴 이유는 되지 않습니다. 너무 특화된 기술이라 웹 프로그래밍 과목같은게 있다 쳐도 꼭 가르친다는 보장은 없습니다.
학교는 개념을 심어주는 곳이지 기술을 가르치는 곳이 아니니까요(하지만 요즘의 대학은 취업학원화 되어가죠 -_-).

저런 것들에 대해서는 '하면서 배우면 되지'란 말이 통할 수 있습니다.
근데 컴퓨터를 전공했는데도 불구하고, 다룰 수 있는 언어 목록에 C나 Java가 없다든가 그나마도 할 줄 안다고 하는 언어가 기초 수준 정도라다든가, 기본적인 Stack이나 Queue 구조를 프로그래밍 할 수 없다든가 이런 수준이라면 좀 심각하죠.

이런 수준인데도 불구하고 '하면서 배우면 되지'라고 생각하는 사람은 취직하기 힘들겁니다. 특히 좋은 회사라면요. 취직해도 이상한 회사에서 노예 취급 받다가 때려칠 가능성이 높습니다.
저런 걸 회사에서 가르치기 시작한다면 아마 제대로 된 일을 하려면 1년 이상 걸릴겁니다. 회사가 자선 단체가 아닌 이상 도저히 그럴 수는 없는 노릇이죠. 게다가 중소기업이라면 그렇게 가르쳐놔도 좀 있다가 회사 옮겨버리기 일쑤입니다(물론 사람만 탓할 수는 없죠).

취업난이 심각한데도 불구하고 회사들이 '쓸 사람없다'고 하는 것도 다 이런 이유입니다.
'취업'을 삶의 목표로 하고 달려가는 청년들만이 있는 한 이 문제는 해결되지 않습니다. 물론 그 이전에 정부의 정책 탓이 있겠죠.
당사자들도 그런 식으로 항변하구요. 기성세대들이 이렇게 만들었다고.

근데 예전엔 최소한 기성세대들에게 반하는 행동이 실천되었었습니다. 예를 들자면, 좋은 방향이든 나쁜 방향이든 학생운동이란 건 대학생들의 결집된 힘을 보여줄 수 있는 방법이었습니다.
사회 세태가 어떻든 가장 진보적인 생각을 가져야 할 생각을 가져야 할 청년세대가 지금은 상당히 보수적인 생각과 수동적인 삶의 형태를 보여주고 있는데, 어떻게 생각하면 오랜 세월 기득권 정당이 만들어 온 비인간적인 교육정책의 효과가 이제 발휘되고 있는게 아닐까 싶기도 합니다.

글이 점점 무거워지는군요 -_-
일하면서 배우는 건 누가 떠먹여 준다는 의미가 아닙니다. 자기 자신이 노력한 만큼 얻게 되는 겁니다. 게다가 기본적인 베이스가 부족하면 배우지도 못합니다. 일이 진행이 안되는데 어떻게 일을 하면서 배우겠습니까.
처음 보는 S/W를 가져다가 매뉴얼 보고, API documents 보고, 한참 머리 싸매고 고민하고 이것저것 해보다가 '아하!'하고 무릎치면서 무언가 만들어 낼 수 있다면 그게 '일하면서 배우는 것'입니다.
그러기 위해서는 기본적인 프로그래밍 능력은 필수적입니다. 머리 좋고 센스가 좋다면 더 좋겠지요.

프로그래밍에 대해 학교에서 가르쳐주는 것은 너무 적습니다. 대표적으로는 디버깅 기술 같은 것이 그 예인데 이건 꽤 많은 부분 타고나는 면도 있지 않나 싶을 정도입니다.
프로그래밍 카페들을 둘러보다보면 '타이핑'할 줄만 알고 '디버깅'은 할 줄 모르는 바보들이 너무 많더군요. 다시 말하면 프로그래밍=타이핑이라고 생각하는 사람이 많은 듯 합니다.

질문하는 방법을 몰라서 그런건지 예의가 없는 건지, 뭐 이 쪽에 대해선 또 따로 할 얘기가 많습니다만...
늘 게시판에 '정말 모르겠어요~' 이러면서 숙제 요청하는 분들은 프로그래밍 접고 다른 거 알아보세요. 진심입니다.  그게 서로와 모두를 위한 길입니다.

...왜 얘기가 여기까지...-_-;
이올린에 북마크하기(0) 이올린에 추천하기(0)

'Programming Story' 카테고리의 다른 글

Re: 짜장면과 개발자  (3) 2009/06/29
일하면서 배우기  (8) 2009/06/18
AspectJ 맛보기  (0) 2009/05/28
막장 프로젝트  (4) 2009/05/06
Posted by eminency


블로그가 요즘 좀 뜸하네요, 쓰고 싶은 건 많은데 슬럼프인 거 같습니다(사실은 노느라 바빠서...? -_-).

얼마 전에 아들 돌잔치를 했기에 간단하게 만들었던 동영상을 기념으로 올립니다.

'Life' 카테고리의 다른 글

아들 돌기념 제작 동영상 클립  (2) 2009/06/12
아들내미 동영상  (1) 2009/04/22
Miscellaneous  (6) 2009/04/06
2008년 '개인적인' 10대 뉴스  (6) 2009/01/11
Posted by eminency
TAG 첫돌