본문 바로가기

Architect

누가 빨리 만드나 -Ship IT-

집을 지으려는 두 남자(마이크와 조)가 있었습니다.

한 남자(마이크)는 연장을 구매하고 사용법을 익히는데 상당한 시간과 돈을 썼습니다.
다른 남자(조)는 갖고 있던 연장을 들고 바로 집을 짓기 시작했습니다.

당연하게도, 조의 집이 먼제 형태를 갖추기 시작했습니다.
마이크가 공기압축기와 못총(nail gun) 사용법을 익히고 있을때 조는 못을 박았습니다.

하지만 마이크가 학습 곡선을 넘어서 집을 짓기 시작하자, 순식간에 조를 넘어섰습니다.

마이크는 시간을 투자해서 연장 사용법을 익힌 덕분에 더 나은 집을 더 빨리 지을 수 있었습니다.
다음번에 집을 짓는다면 누가 더 빨리 끝낼지는 자명한 일이지 않습니까?


위 이야기를 매우 공감한다.
한때 내가 아주 초보 개발자 시절에는 무작정 따라하기가 유행이었다.

책을 사면 책의 대부분의 지면이 소스코드만 존재했다.
왜 이러한 내용이 소스코드에 들어가야 하고, 이 프로세스는 전체적으로 어떠한지, 개발을 할때 유의할 점은 무엇인지 설명이 없거나, 매우 빈약하게 존재했다.

그러한 개발이 지속되었다.
이제는 어느정도 개발을 하겠지 라고 생각했을 무렵, 나는 새로운 프로젝트를 시작할 때 앞이 깜깜해지고, 아무것도 할 수 없이, 과거 소스를 찾아서 해메이고 있었다.

Copy and Paste~
요즘 개발자는 너무 여기에 빠져있다. 로직의 중요성과, 도구의 세밀한 내용을 이해하지 못하고, 무작정 개발한다.
그러다 오류가 발생하면, 코드를 조금씩 바꿔본다. 그래서 실수로 운 좋게도 코드가 정상적으로 돌아간다.

다음에 이런 오류가 나타나면, 해결하지 못한다. 그냥 전에 한번 봤을 뿐인 그러한 오류라는 것만.. 기억 저편 보이지 않는곳에 존재할 뿐이다.

이제는 그러한 어리석은 시간낭비는 하지 않는다.
근본을 아는것, 도구를 사용하는 방법을 익히려고 노력한다.
그런후 개발은 매우 빠른 속도로 이루어 지고, 결국 오류 없는 코드까지 만들어지는 단계까지 온다.

무엇을 해도 기본기를 탄탄히 하는것의 중요점을 느낀다.