산만한 코더를 위한 코딩 심리학

저같이 개발 능력이 부족하고 성격이 산만한 사람에게 코딩은 힘듭니다.
코딩을 할 때 매번 느끼는 감정을 한번 정리해 보았습니다.

먼저, 어떤 간단한 파이썬 애플리케이션을 만든다고 합시다. 책을 봐서는 답이 안 나오고.. 일단 다른 코드를 봅니다.

허걱! 뭐 이렇게 내가 모르는게 많은지.. 이건 뭐 … 어디서부터 봐야할지 엄두가 안 나네요 ㅜㅠ
여기서 포기하면 안 됩니다. 일단 에디터를 열고 개발환경을 만듭시다.
개발을 하기위해 나에게 맞는 최소의 에디터를 고르시겠다고요? 제발 참으세요. 일단 간단한 atom이나 sublime, 또는 jetbrain 커뮤니티에디션 추천드립니다.

어라, 개발환경 만드는게 뭐 이리 힘든가요-
정말 복잡해요- 벌써 포기하고 싶네요.
여기서 개발환경의 설정 하나하나를 이해하려고 하면 하세월입니다. 이런거 다 이해하는 건 고수구요. 그걸 다 이해하고 개발하겠다는건, 영문법 다 띄고나서 영어 읽기 시작하겠다는 겁니다. 그냥 웹 검색한거 일단 copy&paste 하고 하나 따라갑시다.
Virtualenv와 pyenv 의 차이가 궁금해도 그냥 넘어갑니다.

에디터를 열었지만 뭘 할지 모르겠어요-
네. 정상입니다. 모르는게 정상입니다
일단 무엇이든 시도 합니다. 문서에 있는 튜토리얼도 보고 stackoverflow 도 검색합니다. 가장 중요한건 멈추거나 포기하지 않은 겁니다.

또 정말 중요한게 있는데, 자꾸 코드를 실행하는 겁니다.
이게 오늘의 포인트예요. 실행하는거.
한 줄의 코드를 위해 내가 사용하는 코드가 하는일, 부작용, 옵션 등을 다 알고 돌리면 좋겠지만 일단 코딩을 하고 돌려보면서 앞으로 나아갑니다.
물론 TDD라는 참 좋은것도 있고 그런데 일단 다양한 시도를 하는게 중요합니다.
왜 시도(실행)가 중요할까요?
시도를 하면 비로소 자신이 무엇을 잘못했는지, 잘했는지 알 수 있습니다. 좋은 개발환경이라면 로그에서 친절하게 (영어긴 하지만..) 알려줍니다. 그게 나에게 꼭 맞는 내용이기때문에 공식 매뉴얼보다 도움이 되거든요.

코딩을 하는건 시간이 아주 많이 걸리는 일입니다. 한 발짝 한 발짝 디디기전에 모든것을 이해하고 움직이는 것이 이상적이지만, 자주 시도하고 실패하는 것이 빠르게 배우고 목표를 달성하는 길 입니다. 코딩은 시도했을 때 실패의 비용이 매우 작은 경우가 많기 때문에 그렇습니다.

물론 평생 이런 방식으로 코딩한다면 실력이 늘지 않습니다. 다양한 책과 문서를 통해 기본원리를 이해하는 것이 중요합니다. 그리고 이렇게 시도를 해보고 책을 읽으면 아주아주 이해가 잘됩니다. 경영학을 책으로 배우는 것과. 회사를 운영해보고 경영학을 배우는 차이랄까요?

개발은 즐거운 일입니다. 하지만 여느 일과 같이 시작이 힘들고 중간에 포기하는 분들도 많습니다.
여러분의 여정에 조그만 도움이 되었기를.

PS. 이 글은 저를 위해 썼습니다.
저도 맨날 코딩하기전에 에디터 설정하느라 시간보내고, 문서보느라 코딩을 안합니다.

Leave a Reply