brunch

You can make anything
by writing

C.S.Lewis

by EasyCode Dec 20. 2023

나를 위한 개발 "무식론"

 나도 효율적인 것들을 추구하지만 때로는 무식함도 도움이 될 때가 있다

나는 현재 컴퓨터공학과에 재학 중이다. 2024년에 4학년이 되는데, 나름 3년간 학부 생활을 열심히 했다고 생각한다. 오늘 이야기할 내용은 내가 1학년때부터 현재까지 개발에 대한 공부와 학부 과정에서의 학습을 통해 느낀 점이다. 물론 아직 졸업을 하지도, 엄청나게 많은 양의 학습을 해본 것은 아니지만 더 성장해 있을 미래의 내가 이런 시절도 있었구나를 회상할 수 있도록 기록해 본다. 



# 학부 1학년

사실 1학년 때에는 개발이라고 하기에는 다소 애매한 감이 없지 않아 있다. 그저 동기들과 수업 시간에 카트라이더를 하고 파이썬이 그나마 재미있어서 터틀을 이용해 그림을 그리거나 C언어 수업 시간에 계산기, ATM 기기를 만드는 정도..? 전 글에서도 말했지만 난 이게 개발의 전부인 줄 알았다. 내가 걸어갈 길도 이런 프로그램을 만드는 사람이겠구나 싶었다. 뭔가 대단한 프로젝트를 강의 시간에 하는 것도 아니고, 주변 동기들도 나와 같은 상태였기에 발전은 더욱더 어려운 환경이었다. 그렇게 어중간하게 공부하다 1학년은 3.5/4.5 성적을 받고 군대를 가게 된다. 이때까지는 내가 공부를 좋아한다던가, 개발을 좋아하는구나 라는 생각은 단 한 번도 한 적이 없었다.


# 군생활

군대에서 전역 후 어떤 사람이 될지에 대해서 엄청나게 고민하고 책도 많이 읽었다. 나에게 이 시기가 없었더라면 지금의 나도 존재하지 않았을 것이다. 내가 군대에서 만든 습관이 몇 가지 있는데, 그중 하나는 '엉덩이를 무겁게'였다. 내가 군생활을 한 곳은 핸드폰을 사용할 수 없고 외부로 나갈 수 없는 구조였기에 개인정비 시간에 독서, 공부, TV 시청, 운동 밖에 선택지가 없었다. 이때, 선임이 두고 간 파이썬 책을 보게 되었고 이때부터 쉬는 시간만 생기면 앉아서 하루종일 책만 읽었다. 핸드폰이나 PC가 없었기에 코딩도 직접 손으로 작성해 책과 비교하고 그랬다. 알고리즘 문제를 풀 때에도 앉아서 생각을 하고 손으로 옮겨 적어보는 습관을 지켜나갔다. 이 덕에 나는 공부를 하는 기본 습관을 만들 수 있게 되었다.


# 학부 2학년 / 3학년

전역 후, 학부 2학년 때 나의 공부 열정은 절정을 향해 뻗어 나간다. 그 열정이 어느 정도였냐면 공부가 너무 하고 싶어 연구실에 들어가 학부연구생을 하고 석사를 지원하기 위해 학석사 통합 과정까지 신청을 해버린다. (나중에 제정신 차리고 다시 철회한다...) 아무튼 그 정도로 공부하는 것에 흥미를 느끼게 되는데, 이때 가장 큰 이유는 전역하자마자 친구와 창업을 계획하고 서버 개발을 시작했기 때문이다. 이때도 군대에서 했던 공부 방법론과 매우 일치하는데, 진짜 아무것도 모르는 상태로 일단 부딪혀본다. 당시 NodeJS와 Express로 서버를 구현하는 토이 프로젝트를 시작했는데, JS가 뭔지도 모르고 서버가 도대체 뭔지 감도 안 잡혔다. 근데, 그냥 예제를 따라 하면서 수많은 에러 로그를 하나하나 읽어보고 검색해서 해결하고..  하루 24시간 중 16시간은 이와 같은 행동을 반복했다. 진짜 말 그대로 무식하게 "삽질"을 한 셈이다. 이런 무식한 방법을 싫어하고 효율적인 학습을 지향하는 사람은 멍청하다고 욕할 수 있지만, 나는 이때부터 개발이 재미있고 모르는 것을 하나씩 알아가는 것이 얼마나 흥미 있는 일인지를 깨닫게 된다. 뛰어난 머리를 가지진 못했지만 군대에서 만든 집요함과 무식함이 나를 발전시키고 있었다. 지금 와서 생각해 보면 손으로 직접 코드를 작성하고 눈으로 디버깅하는 것, 모르는 것이 생기거나 에러를 맞이했을 때 두려워하지 말고 일단 끝까지 도전해 보는 것을 미리 경험해 봤기에 지금 그런 상황에서 조금 더 유연하고 효율적으로 해결할 수 있게 된 것 같다고 느낀다. 

개발뿐만 아니라, 전공 수업을 대하는 나의 태도도 달라졌다. C++을 듣게 되면서 객체 지향이라는 것에 더 많이 다 갈 수 있었는데, 수많은 에러를 겪어보고 모르는 언어를 배우면서 숨이 턱턱 막혔던 순간을 이미 겪었기에 과거에 내가 생각한 객체 지향이나 C++이라는 언어에 대한 두려움은 더 이상 없었다. 또, 언어라는 것이 기본 흐름은 비슷하고 언어마다의 문법이 조금씩 다르다는 것을 알아갔기에 이해하는 속도가 엄청나게 빨라졌다. 이론 같은 수업도 모르는 부분이 생길 때면 내가 완전히 내 것으로 만들 때까지 놓지 않았고 컴퓨터 공학에서 다루는 전공들이 유기적으로 연결된다는 것을 느꼈다. 그 흐름을 느낀 순간 나는 새로운 세상에 발을 딛는 기분이 들었다. 내가 배워야 할 내용들이 얼마나 많은지 또 그런 내용들이 얼마나 빠르게 변화하고 있는지 알았고 두려움보단 더 배울게 많다는 것에 설렘이 느껴졌다.

2학년부터 스타트업 개발자의 삶과 강의를 듣는 컴퓨터공학과 학부생의 삶을 동시에 살게 되며 그 결과로 개발자의 삶에선 실제 서비스를 배포/운영을 경험하게 되었고 학부생의 삶에선 2학년부터 현재까지 단 한 번도 4.5/4.5 성적으로 장학금을 받아보지 못한 적이 없는 사람이 되어 있었다. 



# 결론 

당연히 나도 무식하게 문제를 해결하는 것보다 효율적으로 문제를 해결하는 것을 추구한다.  난 그저 무식함에서 오는 효율성도 생각하는 것뿐이다. 이것은 내가 직접 경험해 봤으니까. 몸으로 직접 느껴봤기 때문에 잘 안다. 무식함에서 오는 효율성은 생각보다 단단하고 견고하다. 그렇기에 이를 경험해 본 사람의 효율성과 그렇지 못한 사람의 효율성은 분명히 차이가 존재한다. 한 번쯤은 혹은 무엇인가를 처음 배우는 과정일 때 "삽질"과 같은 무식한 방법으로 문제를 해결해 보는 것을 적극적으로 추천한다.

매거진의 이전글 컴퓨터공학과의 현실 
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari