Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back

Just Do It!

#javascript
5년 전
654
2

 'challenge' 는 그 단어 자체만으로 가슴을 뜨겁게 만든다. challenge를 신청하긴 했지만 

javascript를 한번도 경험해 본 적이 없었다. HTML과 CSS도 코코아톡 클론 강의의 이론편만 한바퀴 돌린 상태였다. challenge를 할 실력을 갖추고 있지 않았다. 게임에서 수준에 맞지 않는 몬스터를 잡는 것은 힘들다. 수준에 맞는 몬스터를 잡을 때보다 시간이 배는 걸린다. 또 과정이 너무 고되서 중간에 포기하고 수준에 맞는 몬스터를 잡으러 가기도 한다. 하지만, 일단 한번 잡아보면 수준에 맞는 몬스터를 잡았을 때와는 비교할 수 없는 경험치를 얻는다. 나는 이 '비교할 수 없는 경험치'를 얻고 싶었다. 그래서 일단 챌린지를 신청했다.

 수업을 이해하는 것은 그렇게 힘들진 않았다. 아무래도 학교에서 C언어를 필수교양으로 수강한 1년간의 경험이 이해하는데 많은 도움이 된 것 같다. 그러나 챌린지를 하기 위해서는 코드 몇 줄에 대한 '이해'만으로는 부족했다. 코드의 전체적인 맥락과 알고리즘을 이해하고 혼자서도 프로그램을 만들 수 있어야했다. 수업과 챌린지를 병행하던 나는 시간이 절대적으로 부족했다. 그날 배운 개념을 완전히 이해하고 적용, 응용까지 하기가 쉽지 않았다. 그래서 나는 역으로 완성된 코드로부터 공부를 시작했다. 코드의 각 기능을 이해하고 알고리즘이 어떻게 짜여져 있는지 분석했다. 그런 다음에 분석한 내용을 바탕으로 안보고 내가 직접 알고리즘을 짜보고 이를 바탕으로 코드를 작성해봤다. 과제도 이런 식으로 진행했다. 일단 구글링으로 어떻게든 짜집기를 해서 과제를 완성하고 완성된 과제를 다시 분석하고 구글링 없이 혼자서 만들어보았다. 이렇게하니 알고리즘 구상에 걸리는 시간이 대폭 줄어들어 수업과 챌린지를 병행할 수 있었다. 

 챌린지를 해보니 확실히 왜 다들 일단 만들어보라고 하는지 알게 되었다. 실전은 다르다. 내가 생각한대로 그리 간단히 프로젝트가 완성되지 않는다. 만드는 과정에서 내가 이런 것도 제대로 구현하지 못하는구나 자괴감이 들기도 하지만 그만큼 정확히 자기가 무엇이 부족한지 알 수 있다. 또 이번 챌린지를 진행하면 '프로그래머로서의 눈'을 얻을 수 있다. 기존에는 유튜브나 넷플릭스를 이용하더라도 아무생각이 없었을 것이다. 하지만, 챌린지를 하고 나면 그런 프로그램들을 보면 "와... 이런건 대체 어떤 사람들이 만드는거야?"라는 생각을 하면서 이용한다. 그런 프로그램들의 알고리즘을 짜기도 전에 내 머리가 먼저 박살날 것 같다는 '프로그래머로서의 눈'(?)을 가질 수 있다. 

 사실 나의 전공은 전자재료공학이다. 그러나 필수교양으로 수강한 c언어로부터 프로그래밍의 매력을 알게 되었다. 그래서 현재 소프트웨어학과로 전과를 신청한 상태이다. 우리 학교가 전자분야에 특화된 학교이기에 아웃풋은 현재 학과가 더 좋다. 그래서 동기들은 뭐하러 사서 고생을 하냐고 다들 나를 말렸다. 나도 프로그래밍이 너무 좋아서 전과 신청을 하긴 했지만 "내가 과연 이 분야에서 성공할 수 있을까?"라는 생각이 들었다. 하지만 이번 챌린지를 하면서 프로그래밍의 매력에 더 빠지게 되었고 자신감도 많이 얻을 수 있었다. 꼭 성공해서 친구들 코를 납작하게 해줄 것이다. 편견은 반전줄 때 더 효과적인 법이니까!

2 comments