(번역) 코딩 튜토리얼로부터 자신의 프로젝트 만들어 보기로의 이동

April 25, 2020

요즘 사이드 프로젝트를 하려고 준비중인데 시의적절하게 좋은 글이 있어서 자세하게 읽어보고 싶어서 적어봅니다.

feature image

코딩 튜토리얼로부터 자신의 프로젝트 만들어 보기로의 이동

코딩에 있어서 당신을 발전시키는 유일한 방법을 직접 코딩을 하는 것이다.

튜토리얼은 배움에 있어서 중요하다 - 특히 무언가를 처음 배우려고 할 때와 기초를 배울때에는 특히 중요하다. 여러분들은 손에 이끌려서 무언가를 만들거나 단계적으로 셋팅하는데 안내를 받는다. 이를 위한 자료는 온라인과 어프라인 모두 매우 많다. 물론 유튜브나 구글은 대부분 사람들이 이용하는 방법이다. 만약 당신이 약간 올드 패션이라면 책을 읽음으로써 배울 수도 있다. 배움에는 많은 다양한 방법들이 있다.

하지만 튜토리얼만을 끊임없이 쫓으면 여러분들은 결국 무언가를 만들어내지는 않게 됩니다. 튜토리얼로부터 많은 것을 배울수도 있지만 배움에 있어서 최고의 방법은 여전히 직접 해보면서 손을 더럽히는 일이다. 꾸준히 튜토리얼을 따라할때는 좀더 깊은 내용을 배우도록 깊게 진행하지 않게 됩니다.

책을 읽거나 온라인 코스를 듣거나 워크샵에 참석하여 배울 수 있는 것에는 그 정도 밖에 없다. 예를 들어서 유튜브 튜토리얼을 따라하는 경우에 어떤 특정한 문제를 해결해야하는지, 여러분의 환경에 가장 잘 맞는 해결책은 무엇인지에 대해서 생각해볼 필요가 없습니다. 성가신 특정한 소프트웨어 문제들의 전반적인 프로세스가 이미 당신을 위하여 해결이 되어진 것입니다. 당신에게 남겨진 것은 튜토리얼이 당신에게 작성하라고 하는 동일한 코드를 쓰는 것 뿐입니다.

끊임없는 튜토리얼에 갇히는 것이 결국 당신이 얻게 되는 것입니다. 자바스크립트 기본에 대한 15시간 비디오 자료, 이어서 프레임워크에서 이벤트 처리가 어떻게 되는지에 대해서 또 다른 10시간은 새로운 것을 배우는 가장 효과적인 방법이 아닙니다.

그래서 배움에 있어서 이제는 다른 접근 방법을 필요한 시점입니다. 이 새로운 접근법은 당신을 옳은 방향으로 나아가도록 조금씩 당신을 밀어줄 것입니다.

어떻게 시작해야 하는가 ?

시작하기 전에 저는 한 가지 명확하게 하려고 합니다. 튜토리얼을 따라하면서 배우는 것이 배움는 방식으로서 나쁜 것이라 생각하지 않습니다. 아니 저는 좋은 방법으로 생각을 합니다. 특히 완전히 새로운 무언가를 배울때와 기본적인 것을 배움에 있어서는 좋은 방법입니다. 하지만 튜토리얼은 당신을 단지 특정한 수준에 오르기에만 도움을 주기 마련입니다. 일단 그 정도 수준에 도달하게 되면 그 분야에서 당신이 튜토리얼로부터 배울 수 있는 것은 더 이상 남아있지 않습니다.

저의 의견은 진정 무언가를 배우고 개발자로서 발전하는 최고의 방법은 사이트 프로젝트를 하는 것입니다. 이 방법은 당신이 기본적인 사항을 알고 있거나 아니면 전혀 모르는 상태에서 시작한 경우에 상관없이 잘 동작합니다. 실제로 무언가를 만드는 과정에서 당신은 많이 배우게 됩니다. 이는 업무적으로 사무실에서 무언가를 만드는 경우에도 사실이지만 더욱 좋은 것은 당신이 작업하리라 결정한 그것 - 진정 당신을 흥분되게 만들고 개인 시간에도 기꺼이 작업하게 만드는 사이드 프로젝트에서 훨씬 잘 동작합니다.

당신이 진정으로 좋아하는 사이드 프로젝트 작업을 할 때 좀더 빠르게 배우고, 배운 것을 쉽게 잊어버리지 않는 경우가 많습니다. 튜토리얼이 어떤 특정한 문제점을 어떻게 해결하는지 알려주는 대신에 중간 중간 만나게 되는 모든 문제점들에 대해서 어떻게 해결해야 하는지 당신 스스로 알아내야 합니다.

하지만 당신의 손을 더럽히기 시작하기 전에 당신은 무엇을 만들 것인지에 대해서 결정을 해야 합니다. 이것에 대해서 지나치게 생각해서는 안 됩니다. 무엇을 만들 것에 대해서 너무 많이 시간을 쓰진 마세요. 당신이 무엇을 만드지는 사실 정말 중요한 문제는 아닙니다. 당신은 당신이 해결할 수 있는 많은 기술적인 문제점들을 만나게 될 것입니다. 아무도 사용하기 않게 될 사이드 프로젝트에 대해서 일하게 되는 것을 전혀 걱정하지 마세요. 당신이 이것을 만드는 것은 좀더 좋은 개발자가 되기 위함이지 이것을 사업으로 하는 것이 아님을 명심하세요.

대부분 사람들은 재미있는 사이드 프로젝트에 대한 아이디어 혹은 영감이 부족하기 떄문에 당신이 결정하는데 도움이 될만한 두 가지에 대해서 적어보았습니다. 당신이 무엇을 만들어야 하는지 잘 모르겠다면 사이드 프로젝트를 선택하기 위한 영감을 얻을 수 있도록 한 번 이용해보세요.

이제 아마도 당신은 사이드 프로젝트를 선택하셨겠군요. 이제 가장 재미있는 부분이 만들기로 넘어갈 시간입니다.

아는 것으로부터 시작하라

당신이 이미 알고 있는 것에서부터 시작하는 것은 항상 좋습니다. 나머지는 진행하면서 알게 될 것입니다. 목표가 다 나은 개발자가 되는 것이기 때문에 결국 당신은 이전에 접해보지 못한 완전히 새로운 문제점들을 접하게 될 것입니다. 이러한 문제점들이 당신이 프로젝트를 진행하는 것을 방해하는 것이 아닙니다. 저는 Anthony Robbins의 다음 명언을 아주 좋아합니다.

모든 문제점들은 선물입니다
문제없이는 성장할 수 없기 때문입니다.

특히 프로그래밍 문제를 해결함에 있어서는 모든 문제는 해답이 있다는 것을 명심해야 합니다. 만약 당신의 사이드 프로젝트에 열광한다면 이는 당신을 움직이게 하고, 당신의 문제 해결에 필요한 창의력을 부채질해줄 것입니다.

만약 특정한 문제에 빠져 있다면 지체하지 않고 바로 도움을 청하세요 어떤 특정 문제에 대해서 인터넷에서 어떠한 유용한 정보도 얻지 못하는 경우는 거의 없습니다. 포럼에 당신의 질문을 올릴 수도 있습니다. Stackoverflow 등과 같이 당신이 이용할 수 있는 포럼이 꽤 많이 있습니다.

왜 사이드 프로젝트가 당신을 성장하게 만드는가 ?

사이드 프로젝트를 수행하는 것은 기술적으로나 인간적으로나 당신을 부각되도록 해줍니다. 아무도 당신을 강요하지 않능 상황에서 기꺼이 당신 개인 시간을 내서 당신이 열정을 느끼는 것에 대해서 일하기 위해서는 특정한 사고방식이 필요합니다.

거기에다가 전체 개발 사이클을 경험하게 됩니다. 단지 아이디어만을 가지고 완전히 비어있는 프로젝트에서 시작을 하게 됩니다. 처음부터 완전하게 작동하는 프로젝트나 제품에 이르기까지 그것을 쌓아가는 것은 당신에게 너무나 많은 “아하!” 순간들과 새로운 통찰력을 줄 것이다.

제품 디자인, UX/UI 혹은 아마도 마케팅과 같은 다른 훈련에 대해서도 생각이 나게 될 것입니다. 당신은 프로젝트에서 일하는 유일한 사람이기 때문에 이들 모두는 당신의 몫입니다. 이것은 당신에게 이러한 학문들과 그것들이 서로 어떻게 상호작용하는지에 대해 더 잘 이해할 수 있게 해줄 것이다.

마지막으로 중요한 것은, 사이드 프로젝트에서 일하는 것은 새로운 기술을 가장 빠르고, 좀더 심도깊게 배우게 됩니다. 당신이 동작하도록 몇 시간을 키보드 뒤에서 노력을 했을때 당신이 단지 튜토리얼을 따라서 코딩을 하는 경우에 비교하여 당신은 더욱 깊이있게 배우고 있는 것입니다. 이것이 이론에서 행동 가능한 지식으로 갈 수 있는 가장 효율적인 방법입니다.

결론

코딩에 있어서 발전하는 유일한 방법은 직접 손을 더럽히는 것입니다. 아무도 사용하지 않는 것을 만들게 될 것이라고 겁먹지 마세요. 이러한 사이드 프로젝트를 사용하여 상황이 어떻게 돌아가는지 더 잘 이해하십시오. 결국 당신의 어플리케이션을 끝내지 못하더라도 전에 몰랐던 것들을 생각해 보라. 당신이 실험으로 얻은 지식의 작은 부분 하나하나가 더 나은 개발자가 되거나 심지어 개발자로서 새로운 직업을 얻는 것에 대한 엄청난 이득이다.


By @tkhwang: 🌱 I want to DEVELOP something FUN and USEFUL.