이제 코딩을 시작하는 사람들에게 하는 평범한 학생 프로그래머의 조언과 이야기

jun0911.dev·2021년 8월 30일
18

내 이야기

목록 보기
1/1
post-thumbnail

현재 공부중인 학생이므로 이 글이 혹시라도 잘못된 정보가 있더라면,
댓글로 잘못된 부분을 지적해주신다면 수정하겠습니다.
앞으로 잘못된 부분을 잘 지적해주셔서 제가 올바르게 성장이 할수 있게 도와주십시오

여는글

최근 코딩 교육이 열풍이라는 뉴스나 소식을 많이 듣는다.
나는 평범한 중학교 1학년 학생이다. 그래서 그런지 내 주변 친구들도 한두명씩 코딩 학원이나 과외를 받는 친구들이 늘어난거 같다. 나는 현재 웹쪽을 이제 5개월 정도 공부를 해봤고 지금부터 나는 내가 5개월동안 코딩과 프로젝트를 만들어 보면서 느꼈던 것을 한번 적어보려한다. 아직 중학교 1학년 인지라 많이 부족한 말이 많겠지만 너그러운 마음으로 이해를 해주면 좋겠다.

나의 코딩 시작

나의 컴퓨터 시작

나는 초등학교 2학년때부터 게임을 무척 좋아했다. 그래서 그런지 게임 관련된 영상을 많이 보기도 했고
많이 하기도 했다. 하지만 나는 게임 체질이 아닌건지 도통 게임 티어가 오르지 않았다.
내가 좋아했던 게임은 스타크래프트였는데 내 주변 초등학생때는 스타크래프트를 하는 사람들이 많이 있지 않았다. 그래서 나는 다른 게임을 온라인에서 만난 사람들과 같이 플레이 하곤 했었다.
그때부터 나는 컴퓨터라는 세계에 더욱더 흥미를 느끼게 됬던거 같다.

나의 코딩 시작

나는 초등학교 5학년 말까지 게임을 하루에 6시간이상 할 정도로 많이 하고 있었다. 그 중간에 부모님한태 많이 혼나기도 했고 컴퓨터에 비밀번호도 걸리게 되었다. 그렇게 시간이 흐르고 초등학교 5학년 겨울방학때 부모님이 나에게 코딩학원을 가보라고 했었다. 나는 그때 코딩이 뭔지도 몰랐기에 컴퓨터를 할수 있다는것에 들떠서 바로 가자고 했던거 같다. 이때부터 나의 코딩의 시작이다.

코딩을 하면서

막상 코딩 학원에 갔을때는 모든것이 새로웠고 신기했다. 컴퓨터를 할수 있는 학원이 있다는것에 놀랐었던것 같다. 코딩 학원에 흥미를 가지게 된 뒤부터 나는 코딩학원을 다녔다. 하지만 나는 코딩이란것을 영화에서 나오는 해커처럼 뭔가가 실행되고 코드를 보면서 엔터를 치면 무언가가 엑세스 되고 이런것을 코딩이라고 생각을 했다. 하지만 현실은 달랐다. 처음에는 아두이노를 가지고 블록코딩을 했었다. 블록코딩은 내가 상상했던 것과는 완전히 다른것이였고 그다지 흥미를 느끼지 못했다.

나의 막연했던 과거

나는 그런 블록코딩의 흥미를 느끼지 못해 수업시간에는 블록코딩을 배웠고 자율시간에는 내가 하고 싶은걸 하려고 했다. 나는 웹해킹 책을 무작성 사서 웹해킹을 공부했었다. 그때는 아무것도 모른상태에서 책을 읽고 해봤던 것이라 웹해킹에서 무언가가 터미널에서 명령어를 치면 실행되고 고급스러워 보이는 코드를 보면서 나는 해킹이라는것이 단순하게 재밌고 쉬운것이라는 막연한 생각을했었다.

코딩의 진짜로 들어온 계기

나는 그러한 해킹을 계속해서 아무것도 모른상태로 명령어만 치면서 실행되는걸 보면서 즐겼던거 같다. 그러면서 학원에 자율시간에만 집중을했고 수업시간에는 집중을 하지 않게 되었다. 그러한 생활이 거의 1년을 다다를 때쯤 학원에 새로운 선생님이 왔다는것을 봤다. 그때가 올해 3월이고 그때부터 그 선생님이랑 대화를 많이 했었다. 그 선생님은 게임 스타트업 회사 팀장자리까지 갔다가 학생들에게 코딩을 알려주고 싶어서 코딩 선생님을 하게 됬다고 한다. 선생님이랑 계속해서 얘기를 하면서 나의 벽이 점점느껴지게 되었다 웹해킹이라는것이 얼마나 어려운지 진짜 개발이 뭔지를 느끼게 되었던 나의 터닝 포인트였던거 같다. 그때부터 나는 진짜 코딩을 해보겠다는 결심을 하게 되었다.

갑작스러운 시작

나는 그 선생님을 만나고부터 내가 무엇을 해야하는지 찾게 되었던거 같다. 그러한 나의 적성에 맞는 분야를 찾아보니 javascript, html, css를 접하게 되었다. 지금까지의 내가 배웠던 c언어는 콘솔에 무언가를 찍히는것이였지만 html은 내가 태그를 넣고 내용을 넣으면 웹사이트 형식으로 텍스트가 찍히고 실행결과가 바로 내눈으로 볼수 있는것에대한 나는 매우 흥미를 느꼈던것같다. 그때부터 나는 점점 웹이라는 세계에 빠져들었던것같다.

내가 느꼈던 점

나는 웹쪽을 하게 되면서 정말많은것을 느꼈고 정말 빠르게 성장하였다. 만약 나는 그 선생님이 없었더라면 지금의 나는 코딩을 하고 있지 않았을수도 있다. 난 하루하루에 대한 정말 많은 감사를 해야겠다는 생각을 하게 되었다. 지금은 웹을시작한지 5개월 정도가 되었다. 현재는 Node.js를 이용한 backend 개발과, 딥러닝(CNN, RNN), 네트워크 통신을 공부하고 있다. 내가 보기에도 정말 빠르게 성장한것 같아서 기분이 좋았던것같다.

이제 코딩을 시작하는 내 친구들에게

나는 위에 설명한 정말 많은 상황을 겪고 코딩을 본격적으로 하게됨으로써 내가 느꼈던점을 이제 코딩을 시작하는 친구들에게 나와 비슷한 상황이 일어나지 않도록 말해주려고 한다.

수학을 하지 않아도 개발자를 할수 있다.

나도 위와같은 생각을 예전에 했었다. 수학을 하지 않아도 물론 코딩을 시작할수 있다. 하지만 내가 장담할수 있는것은 수학을 모르면 결코 내가 원하는 시스템을 만들 수 없다.
나는 인공지능을 이제 공부를 하고 있으며 내가 인공지능을 공부하면서 내가 왜 수학을 하지 않았을까라는 생각을 너무 많이하게 된다. 웹을 처음 시작할때는 수학을 하지 않아도 됬다. 그
때까지만 해도 나는 수학이 필요없다고 생각했었다.
하지만 점점 깊게 파고 네트워크, socket 통신쪽으로 들어가다 보면 정말많이 수학이 들어간다. 나는 현재 수학을 잘하지 못해서 그러한 파트를 이해하지 못하고 있다.
또한 인공지능에서는 정말 모든것이 수학이다.
특히 CNN, RNN 딥러닝 파트에서 정말 많이 수학의 필요성을 느꼈다.
자세하게 설명하기는 어렵지만 확실한것은 내 프로젝트를 만들때는 수학이 필요하다.
수학을 하지 않으면 양산형 개발자가 될 확률이 높으며 진정한 내 프로젝트나 시스템을 설계할수 없다. 수학을 모르면 다른 대형 프로젝트나 시스템을 구현할수 없으며 많은 힘든과정을 거칠수 있다. 땅을 치고 후회하기전에 수학을 시작했으면 좋겠다.

오픈소스를 사용하는것에 대한 두려움

내가 개발하면서 한편으로 오픈소스를 사용하는것에 대해 불편한 마음을 느꼈다. 지금도 오픈소스는 남이 만든것이니 사용하면 안된다는 생각을 하지 말자.
나는 오픈소스라는것이 없었더라면 개발분야가 이렇게 빠르게 성장할수 없었을것같다.
다른 사람들이 만든 소스를 가져다가 분석하면서 점차 수정하는과정을 거쳐가게 된다면 오픈소스는 나만의 고유한 코드가 될 수 있다.
그러니 오픈소스의 두려운 생각을 하지 말자. 하지만 명심해야될것은 오픈소스를 분석하지않고 그냥 가져다가 쓰기만 한다면 그것은 절대로 나만의 코드가 될수 없다.
오픈소스의 장점은 오픈소스를 사용하면 대한 소스를 이해하면서 나만의 방식으로 코드를 수정을 해나가면 더 많은 지식과 배경지식을 얻을수 있다.

오류을 해결하는 방법

나는 예전에 오류를 해결할때 오류가 나면 그 오류를 복사해서 해결하는 방법만 가져다가 썼었다.
물론 그렇게 하면 오류는 해결할수 있겠지만.
다음에 또 같은오류가 나게될시 해결방법을 알수없다.
따라서 오류가 나면 오류를 복사해서 그 오류에 대한 답을 찾는것이 아닌 오류가 발생했는지 내가 무엇을 모르고 있는지 찾아봐야한다. 그렇게 점차 오류의 대한 발생원인을 따져가면서 찾다보면 오류에 대한 발생원인과 왜 발생했는지 내가 무엇을 잘못하고 있었는지 알수있다.
오류가 난다고 샷건만 치고 해결하지 않으려 들면 결코 오류를 해결할수 없다. 내 힘으로 스스로 오류를 찾아보고 해결하면 그보다 더 좋은 기분은 없다. 그 기분을 느끼게 된다면 점차 오류를 피하는것이 아닌 오류의 발생원인을 분석할수 있을것이다. 따라서 오류에 대한 정답만 찾는 방법은 피하도록하자. 모든 개발의 정답은 없다.

코딩을 즐기자.

내 친구들은 부모님의 권유로 코딩을 하는 친구가 많다. 하지만 그런 방식으로 코딩을 하게 된다면 코딩을 일로 생각할것이고 즐길수 없다. 그렇게 된다면 금방 포기하게 되고 결국에는 손을 놓을수밖에 없다. 나는 책에서 이런 글을 본적이 있다 "학생이 공부를 재미없다고 하는 이유는 놀이와 공부를 구분하기 때문이다. 공부와 과제는 일로 생각하고 놀이는 즐거운 것이라고 생각하기 때문에 공부가 재미없어 지는것이다." 나는 이 말이 너무 인상깊었다, 내가 지금까지 코딩을 일로 생각했다면 여가시간과 코딩하는시간을 구분했을것이다.
하지만 나는 여가시간에 침대에 누워있을때 자꾸만 코딩을 하고 싶어지고 개발을 하고 싶어진다.
이것은 나는 여가시간과 코딩을 구분하지 않고 있다는 것이기도 한다.
따라서 코딩을 일로 생각하면 그사람은 정해진 경계선에서 더이상 발전할수 없으리라 생각한다.
코딩을 일로 생각하지 않고 노력하고 즐기는사람은 경계선이 아닌 성장할수 있는 좋은 길이라 생각한다. 코딩을 즐겨보자.

책을 읽자.

나는 예전에 책을 무지하게 많이 샀다 하지만 정작 나는 책을 읽지 않았다. 책을 사서 개발에 대한 지식을 쌓는것은 매우 좋지만 책을 너무 많이 사고 정작 읽지않는것은 쓸대없는 낭비일것이다.
개발은 책을 보고 공부를 하는것이 아닌 직접 느끼고 경험을 쌓아야만 비로소 진짜를 느낄수 있다. 책은 하나의 지식을 쌓을수 있는 부분이고 책만 읽고 정작 프로젝트가 개발을하지 않는다면 그것은 지식만 많이 쌓이고 경험은 부족해지게 된다. 지금 내가 이러한 글을 쓸수 있는것도 전부 경험에서 나오는 것이다. 경험을 해보지 않으면 이러한 충고나 내 코딩인생을 이야기 할수없다.
그러니 책에만 의지하지말고 만들어보자 직접 느끼는것이 가장 좋은 성장방법이다.

협업을 해보자.

나는 학생이지만 초등학교 6학년때와 지금 현재 협업을 진행중에 있다.
회사나 다른 대기업에서는 나 개인만의 프로젝트도 중요하지만 면접때는 자신의 회사와 잘 맞는지를 먼저 판단하게 된다. 아무리 실력이 좋다고 해도 자신의 회사와 잘 맞지 않으면 결코 좋은 팀원이 되지 못한다.
자신이 하고싶은 것만 강조하지 말고 배려하면서 다같이 윈윈하는 커뮤니케이션 능력을 키워보자
나는 프로그래밍의 제 1덕목은 끈기라고 생각하고 제 2덕목은 협업이라고 생각한다.
협업능력이 없으면 팀원에게도 그리 좋은 팀원이 되지 못한다.
학생들을 대상으로 하는 해커톤이나, 다른 대회를 많이 나가서 협업 능력을 키워보자.
협업에 대한 경험은 절대 돈주고도 알려줄 수 없는 것이다. 내가 직접 겪어 보고 해결해야지만 비로소 경험이 쌓인다.

정리하며

나는 지금 개발자를 꿈꾸고 있는 내 친구들에게 또는 지금 코딩을 시작하려고 하는 내 친구들에게 이러한 조언을 하고 싶어서 글을 쓰게 되었다. 내가 이 글을 쓰게 된 이유는 이제 코딩을 시작하는 친구들에게 나와 같은 실수를 반복하지 않았으면 해서 이글을 쓰고 있다.
나도 아직 중학교 1학년 학생이고 이제 5개월밖에 웹쪽을 공부하지 않았지만 내가 그 5개월이라는 시간과 그 전의 나의 잘못된 생각을 정리하고 알려주고 싶었다.
정리하자면 모든지 실전이 중요하다. 직접 경험해보고 나만의 길을 개척해서 꼭 개발자의 꿈을 이룰수 있도록 응원한다.

https://github.com/jun0911-cmyk
https://stackoverflow.com/users/16649272/jun0911-dev
https://twitter.com/Jun0911D

profile
웹 개발과 정보보안을 공부중인 학생입니다. 잘부탁 드립니다!

10개의 댓글

comment-user-thumbnail
2021년 9월 3일

필력이 좋으시네요!
저는 당시 나이에 뭘 했었나 생각하게 만드는 글이네요
항상 화이팅입니다~

1개의 답글
comment-user-thumbnail
2021년 9월 6일

저도 장년 중1 쯤부터 본격적으로 코딩에 입문한것 같네요.
사실 초등학교 6학년때 html을 조금 만저본 경험은 있었지만 본격적으로 입문한건 중1때 c언어로 입문했던것 같습니다.
C가 사실 실무에서는 엄청 자주 쓰이는 언어는 아니지만 그래도 C로 입문하니 다른 언어들 배우기가 쉽더군요. 지금은 주력 언어가 Python 이 되었지만 확실히 첫 프로그래밍 언어를 C로 잡은 것은 잘 했던것 같습니다.
저보다 한살정도 어리신것 같은데 님의 1년후 모습이 기대되네요. 웹쪽에 관심이 있으시면 시간나시면 python 좀 배우셔서 django 같은 웹 프래임워크 다뤄보는것도 나쁘지 않을 듯 합니다 ㅎㅎ

1개의 답글
comment-user-thumbnail
2021년 9월 7일

정말 대단하네요 :)
응원하겠습니다

1개의 답글
comment-user-thumbnail
2021년 9월 7일

혹시 영재반 아니십니까?!

1개의 답글
comment-user-thumbnail
2021년 9월 8일

저보다 11살이나 어린데 저보다 훨 낫네요.. 반성하고 갑니다..

1개의 답글