새해가 밝았다. 이력서를 준비하다, 비전공자인 내가 왜 개발자가 되고 싶은가, 에 대해 생각을 정리할 시간을 가졌다.
개발에 입문한 계기
편하게 일하고 싶었다. 반복적인 서류 작업이나 메일 발송 등을 조금이라도 쉽게 하려고, 그리고 인원 관리 등을 위해 google sheet에서 제공하는 스크립트 기능을 공부했다. 그런데 생각보다 그 작업과 공부가 재미있었다. excel로 함수를 구현할 때보다 복잡했지만 재미있었고, 할 수 있는 일이 많았다.
재미를 느끼자 관심이 갔다. 컴퓨터라는 기계에 대한 흥미도 높아졌고, 컴퓨터 교육 쪽으로 관심이 쏠렸다. 그래서 공부를 시작했고, 프로그래밍 입문 과목을 듣게 되었다. C를 그때 처음 접했다. 그 직전에 들었던 python 수업보다 더 재미있었다. pointer는 어려웠지만 그 어려운 벽을 조금 넘으니 아! 어떻게 이런 생각을 하지? 정말 멋지다. 전율을 느낀 것 같다.
이러한 즐거움, 전율은 전공 공부를 할 때, 어떤 이론에 대해 학습할 때 느꼈던 것과 유사했다. 컴퓨터 구조에 대해 배울 땐 막연하게 경험으로 알던 것들을 이론으로 정리해가며 즐거웠다. 네트워크에 대해 배울 때에는 인터넷에 대한 환상이 깨져갔지만 그 또한 즐거웠다. 0과 1, 껐다 켜졌다로 연결되는 그 신호들이 지금 내가 클릭해서 보는 화면에 띄우는 정보가 되기까지 걸리는 그 과정들을 알아가는 것도, 어떻게 이 세상 사람들이 연결되는지 알아가는 것도. RDBMS에 대해 배울 때에는 데이터 스키마와 테이블을 설계할 때 어떻게 설계할 것인지, 요구사항에 맞추어 구축하는 것이 꽤 어려웠지만 정교하게 틀을 짠다는 것이 정말 즐거웠다. 어렵지만 분명한 성취감이 있었고, 깨달음이 있었다. 궁금한 것들을 검색하면 개발자 커뮤니티에서 누군가 이미 물어보고, 답글을 달아준 것들이 있었다.
이런 공부를, 이런 세상을 늦게 알아서 아쉬웠다. 이걸 내가 중고교생 시절에 접했더라면, 전공을 이 공부로 했었을 텐데 하는 아쉬움마저 들었다.
개발을 사랑하는 이유
개발을 할 때 느끼는 몰입감, 그리고 성취감과 내가 해 온 것들이 쌓여가는 스택을 확인할 수 있다는 점이 매력적이었다. 그리고 코딩, 그리고 컴퓨터 공학 공부를 할 때 느끼는, 시간 가는 줄 모를 만큼의 깊은 몰입감이 내가 개발을 사랑하는 첫번째 이유이다. 어릴 때부터 무언가를 읽고, 상상하고 조립하는 것을 즐겼다. 코딩은 프로세스 내에 이 모든 작업이 존재한다. 졸업 이후 잃어버린 집중력이 순식간에 되돌아왔다. 개발을 접하기 전에도 엑셀 혹은 google spread sheet에 필요한 어떤 기능을 구현할 때 만큼은 시간 가는 줄 모르고, 세상을 잊을 수 있을 만큼 몰입할 수 있었는데, 이제는 정말 밥 먹는 것도 잊고 푹 빠지곤 했다. 코드를 짜는 것도, 공부하는 것도 그랬다. 내가 짠 코드가 어떤 결과물, 원하는 화면, 원하는 기능을 수행함을 확인했을 때 행복했다.
그러나 몰입한다고 하더라도 모든 순간이 순조롭지는 않다. 오히려 많은 문제와 조우하고, 때로는 무엇이 문제인지 파악하는 단계를 시작할 때에는 답답하기까지 했다. 특 히, PintOS 프로젝트를 진행하며 어떤 문제 하나를 해결하기 위해 코드를 뜯어보고, 알고 있는 컴퓨터 공학 지식을 총 동원해 시나리오를 생각하고 확인하는 과정은 뛰어넘을 수 없는 산처럼 느껴졌다.
하지만 많은 console.log, print, 디버거를 활용하여 가장 깊은 곳까지 파고 들어가 디버깅하는 순간은 고되지만, 그만큼 어려웠던 문제를 해결하는 순간 찾아오는 성취감은 그간의 노고를 싹 잊을 수 있을 만큼 달콤했다. 그 시간을 견디고 나니, 이제는 내가 짠 코드가 돌아가지 않아도 내가 출제한 문제(오류, 버그)를 보면 과연 이 문제는 어떻게 해결 할 수 있을까? 도전의식이 차올랐다. 어렵고 힘들지만 이 문제를 극복하면 주어지는 성취감은 매우 달콤하고 중독적이었다.
개발은 컴퓨터와 대화하지만, 역설적으로 사람과의 대화가 많이 필요한 작업이었고, 동료에 대한 존중이 필수로 느껴졌다. 프로그래밍은 컴퓨터에게 효율적으로 일을 시키는 작업이지만, 협업하는 동료가 없다면 내가 낼 수 있는 생산력엔 분명한 한계가 있다. 그러나 동료가 있다면, 생산력은 곱절로 뛰었다. 서로 생각이 다른 사람들이 머리를 맞대고 논의와 문서를 통해 커밋 컨벤션부터 코드 커벤션을 정했고, 매일 아침 전날 작성한 코드 리뷰를 하며 완성한 결과물은 결코 나 혼자 만들 수 없는 것들이었고, 그것을 우리 모두가 함께 힘을 합쳐 만들어낸 것들을 돌이켜 볼 때마다 감사함과 성취감이 차올랐다.
컴퓨터 공학 지식을 학습하는 것도 즐거웠다. 이 학습은 무협지로 따지자면 '운기조식' 과 같았다. 하면 할수록 이것이 내 개발자로서의 능력의 가장 근본이 되는 것들이구나, 이 지식이 있다면 어떤 어려운 문제들을 만나도 이겨낼 수 있겠구나. 그런 믿음이 들었다. 특히 크래프톤 정글에서 매주 제시된 키워드들과 얕은 곳에서 더 깊은 곳으로 학습하는 방향성은 내게 정말 큰 힘이 되었다. 당장 이해하지 못하더라도, 이러한 개념이 있다는 스키마를 머릿속에 남길 수 있었고, 프로젝트를 할 때에도 로딩 문제 등을 겪을 때 이렇게 활용하는 방법이 있음을 떠올려 적용해볼 수 있었다.
개발자로의 커리어 전환 도전
현재진행형인 이야기다. 엘리스 AI 트랙을 통해 유사 실무 경험을 쌓음과 동시에 프로그래밍의 기초를 닦았고, 크래프톤 정글에서 CS지식과 오프라인으로 개발자(사람)들과 부대꼈다. 처음엔 내가 정말로 개발자가 될 수 있을지, 개발을 업으로 삼을 수 있을지 염려하였으나 현재 3개월에 접어드는 이 시간동안 개발자로서의 삶을 살아가고 싶다는 결심을 확실히 할 수 있었다. 이 도전기를 성공적으로 마무리하고 그 다음 삶을 준비할 때가 머지 않기를 바란다.
'개발일기 > Krafton Jungle 기록' 카테고리의 다른 글
[회고] 0주차 미니프로젝트 회고 (0) | 2023.10.14 |
---|---|
Jungle Essay 01 (0) | 2023.10.13 |