스스로를 믿지 마세요. 개발자라면!

스스로를 믿지 마세요. 개발자라면!

복사 붙여넣기를 했는데, 오류가 발생한 적 있나요?
책에서 알려준 대로 코딩했는데, 실행이 안 된 적 있나요?
분명히 똑같이 따라 한 거 같은데 동작을 안 하는 건, 어떤 이유일까요?
혹시 원본 소스나 책을 의심한다면, 아직 내공이 부족한 거예요.


기계는 거짓말을 안 해요.
정확히 말하자면, 거짓말을 못해요. 입력받은 그대로 출력할 뿐이죠.
코드는 사람이 입력해요.
실수는 무조건 사람이 원인이에요.
사람을 믿지 마세요. 개발자라면 말이죠.

기계어라고 들어봤을 거예요. 비트 단위로 쓰이는 컴퓨터 언어죠. 대부분의 개발자가 기능 구현을 위해 배우고 코딩하는 개발 언어는 기계어가 아닌 고급 언어예요.
고급 언어, 즉 우리가 입력하는 문자는 문법을 가지고 있어요. 문법에는 규칙이 있죠. 하나의 명령문에는 세미콜론을 붙인다거나, 특수문자를 사용하면 안 된다거나, 간격을 일정하게 띄어쓰기를 해야 한다거나.

오픈 소스를 완전히 똑같이 복사 붙여넣기를 했는데, 오류가 나는 경우는 딱 두 종류예요. 소스를 제공한 사람이 실수로 오류가 있는 코드를 공유했거나, 종속성(dependency) 문제예요.
전자의 경우는 사람의 실수가 명확하니, 후자인 종속성 이슈를 생각해 보죠.

스스로를 믿지 마세요. 개발자라면!

대부분의 라이브러리나 프레임워크는 최대한 많은 버전에서 동작하도록 테스트하고 배포돼요. 오픈 소스를 그대로 사용했는데, 종속성 오류가 난다는 건, 특정 버전의 라이브러리 혹은 모듈을 사용한다는 거죠.
이럴 경우에는 반드시 해당 버전에 대한 경고 메시지를 표시하거나, 범용으로 사용하는 버전을 적용해서 공개해야 해요.

결국 종속성 오류도 소스를 공유한 사람의 작은 부주의 또는 실수로 발생해요. 주니어 개발자 시절에 디버깅할 때는 항상 소스를 의심했었어요. 라이브러리가 잘못이거나 언어 자체를 의심했죠.
경험이 쌓이고 개발의 본질을 배울수록 대부분의 오류는 그 누구의 잘못도 아닌 저 자신이라는 걸 깨달았죠.

컴퓨터는 엄청 단순해요. ‘0’과 ‘1’만 알아요. 우리는 멍청한 기계를 위해 정해진 문법으로만 명령해야 해요.
처음엔 누구나 의심해요. 난 제대로 구현했기 때문에 오류가 나는 건 내 잘못이 아니라 개발 언어가 잘못된 거라고.
소스를 천천히 잘 살펴보세요. 답은 코드에 있어요.


취업, 이직, 퇴사, 커리어 고민으로 힘든가요?

Notices를 확인하고 상담 서비스를 받아보세요.

1분만 투자하세요.
1분으로 1년을 아끼고, 10년의 커리어가 달라져요.