코딩 배우는데 며칠이나 걸릴까요?
주변에 좋은 개발자 없나요?
코딩을 좋아하지만 여전히 대답하기 어려운 질문들이다. 몇년 째 하고 있지만, 나도 코딩을 잘하는 건지 못하는 지 사실 잘 모르겠다(나도 이런데, 이걸 며칠 걸린다고 해야 하지?) 주변에 좋은 개발자는 정말 없다(좋은 개발자가 대체 뭔데?!) 위 질문들에 대한 답은 아니지만, 적절한 비유가 떠올랐다. 나는 요리를 좋아한다(취미, 요리). 꽤 거리가 멀어보이지만, 코딩과 요리 사이에는 몇가지 공통점이 있다.
해보지 않고는 절대 모른다
식탁에 차려진 요리를 먹기만 해서는 그 요리가 어떻게 만들어지는 지 절대 알 수 없다. 마찬가지로, 서비스를 사용하기만 해서는 어떻게 코딩을 하는 지 절대 알 수 없다. 너무 당연한 얘기지만..
맛있는 파스타를 먹어본 경험만 가지고 식당을 차리려는 사람은 별로 없다. 하지만 좋은 서비스를 사용해본 경험만 가지고 서비스를 만들겠다는 사람들은 정말 많다(!) 맛이나 서비스에 대한 풍부한 경험과 좋은 취향은 엄청난 강점임에 틀림 없다. 하지만 파스타를 물에 넣어서 익혀야하는 것인 지도 모르는 사람이 식당을 차리겠다고 하면 음... 친하면 말리고 안 친하면 거리를 두자.
요리도, 코딩도, 해봐야 감이 온다. 라면 끓이는 법을 아무리 많이 읽어봐도, 최고의 김치찌개 레시피를 아무리 물어보고 다녀도 해보지 않고는 알 수 없다. 직접 라면 봉지를 뜯고 물을 끓여봐야 감이 온다. 김치를 썰고 육수를 부어 끓여봐야 '찌개 끓이기에 적당한 산도'에 대한 감이 온다.
극강의 레시피만 읽고 식당을 잘 해내겠다는 사람은 별로 없지만, 최신의 개발 방법론을 인터넷이나 책에서 읽고 서비스를 잘 만들어내겠다는 사람은 많다(!) 해보지 않고는 절대 모르는 것들을 알기 위해 할 수 있는 유일한 일은 '해보는 것'이다. 이외의 다른 길은 없다. 이외의 다른 길을 찾다 보면 이런 일이 생긴다. '린하고 애자일한 방법론을 배워왔어요. 우리에게 중요한 건 시간이니, 빠르게 피자 한조각을 만들어 봅시다! 그 다음 한조각 씩을 늘려가면 우리가 원하는 최고의 피자 한판에 다다를 수 있을 거예요!'
피자의 린한 버전은 식빵에 케첩이지 않을까?
해보면 더 모른다
일단 요리를 한번 해보면, 뭔가 애매한 상태라고 느끼기 쉽다. 분명 30분짜리 레시피라고 했는데, 3시간이 걸렸고, 맛이 없지는 않은데, 이 맛이 맞는지 도통 모르겠다. 분명 3시간만에 끝내는 웹서비스라고 해서 시작했는데, 나는 일주일이 걸렸고, 그래서 내가 웹서비스를 만들게 된 건지도 모르겠다(물론 아니다).
중요한 건 이 때부터다. 무엇을 모르는 지에 대해서 알게 된 후에 하는 행동이 나머지를 결정한다. 김치찌개 한가지만 파는 사람도 있고, 한식이라는 영역을 파보려는 사람도 있으며, 전세계의 수프에 전문성을 키우려는 사람도 있다. 되는대로 이것저것 시도하면서 소위 말하는 '노하우'를 쌓으려는 사람도 있고, 분석적으로 접근하는 사람도 있다. 어떤 접근을 어떤 식으로 하느냐가 남은 인생에서의 '앎'의 정도를 결정한다. 나는 분석적 접근을 선호한다.
그러니 뭐든 다 안다고, 쉽다고 이야기하는 사람은 조심해야 한다. 3분 카레를 데워본 경험이 그 사람의 요리 실력에 대해서 말해주지 않듯이, 짧은 온라인 코스나 자기자랑이 누군가의 코딩 실력을 말해주지 않는다. 누군가가 뭘 모르는지에 대한 이야기보다 뭘 아는 지에 대한 이야기를 훨씬 길게 한다면, 리누스 토발즈의 말을 기억하자.
Talk is cheap. Show me the code.
잘 하기가 쉽지 않다
코딩은 주어진 문제를 컴퓨터를 활용해서 풀어내는 방법에 대한 전반적인 과정이다. 그래서 잘한다/못한다를 빨리 결정하는 것이 참 어렵다. 결과물로 판단하는 것은 상대적으로 쉬운데도 그렇다. 요리를 먹고 맛있는지/맛없는지를 판단하는 것은 (상대적으로) 쉽지만, 짧은 시간에 사람을 만나고 그 사람의 요리 실력을 결정하는 것은 어려운 문제다. 문제를 분석하고, 주어진 정보를 활용하고, 모르는 부분을 찾아내고, 적용하는 과정을 반복할 줄 아는지를 알아내야 하기 때문이다.
그래서 '코딩 배우는데 얼마나 걸릴까요?'라는 질문은 참 어렵다. 나는 아직도 즐겁게 배우고 있다. 어쩌면 질문이 잘못되었을 수도 있다.
요리 배우는데 며칠이나 걸릴까요?
한시간이 걸릴 수도 있고, 평생이 걸릴 수도 있다. 무슨 요리를 어느 정도의 예산으로 왜 하고 싶은지에 따라 다르다. 요리에 대한 당신의 열정과 지능이 상대적 기간을 결정한다. 그보다, 질문이 좀 이상하지 않나요..?
주변에 좋은 요리사 없어요?
없다. 좋은 요리사는 보통 좋은 식당에 있다(그리고 제 주변에 사람이 별로 없..) 혹시 주변에 잠시 노는 요리사가 있더라도, 어떤 음식점에서 어떤 역할로 일할 지는 알아야 하지 않을까? 중국집에 파스타 요리사 추천할 수는 없잖아요.. 요리 주점에 미슐랭 요리사 추천할 수도 없구요..
사족
•
내 머릿속에는 코딩, (서비스)개발이 비슷한 개념으로 뭉쳐 있어서 글 전체적으로 단어 개념이 뒤죽박죽이다.