brunch

You can make anything
by writing

C.S.Lewis

by 신영하 Feb 23. 2024

코딩은 모르지만 개발자는 되고 싶어

비전공자 개발자의 본격적인 개발 도전기

할 줄 아는 언어가 없는 개발자

    우리가 흔히들 한국어도 못하고, 영어도 못하는 사람일 때 0개국어 사람이라고 하는 말을 쓰듯이, 나는 개발자로서 0개 국어를 하는 개발자였다. 요즘 초딩들도 한다는 파이썬도 거의 할 줄 모르는 수준이었고, C/C++도 들어만 봤지 어떤 언어인지도 본적이 없었다. 하지만, 이런 나의 잠재력을 알아봐 준 이 회사의 경영진에게, 당신들의 선택이 틀리지 않았다는 것을 보여주기 위해서는 할 수 있는 모든 노력을 하는 수 밖에 없었다.


    첫 출근을 하던 날 나의 책상 위에는 2개의 책이 놓여 있었다. 하나는 로지컬 씽킹이라고 하는 우리 회사의 대화법에 대한 바이블 같은 서적이었고, 하나는 C++ 프로그래밍에 대한 책이 놓여있었다.




    이 책이 놓아 주신 분은 나를 채용해주신, 우리 팀 담당의 이사님이었다. 이사님께서는 내 자리에 오셔서는 이렇게 말해주셨다.


"너무 부담 갖지 말고 이 책을 공부해 보세요. 저는 영하님에게 1달 정도의 시간을 드릴 수 있어요. 그 동안 이 언어를 공부하고, 그 후에 프로젝트를 드리려고 해요."


    한 달 ? 길다고 하면 길고, 짧다고 하면 짧은 시간이다. 하나의 프로그래밍 언어를 습득하는데 있어서 얼마만큼의 시간이 걸리는지 모르는 나로써는 나에게 얼마만큼의 마지노선을 주신 건지 알 턱이 없었다. 하지만 내가 항해사로 일하면서 가지게 된 절대 법칙이라는 것이 하나 있었는데, 그 법칙을 생각하면서 그러한 마음으로 이 책에 접근하기로 마음먹었다.


    그 절대 법칙이 뭐냐면, 초반에 높은 몰입력으로 승부를 봐야한다는 것이었다. 처음에 야근을 엄청하는 한이 있더라도, 어느 정도 수준의 포텐셜을 끌어 올리기 위해서는 초반에 엄청난 몰입력을 가져오는 것이 필요하다는 것이었다. 그래서 내가 항해사로 일할 때 그 배의 업무에 적응하기 위해서 처음에는 잠을 엄청 줄여가면서 모든 업무를 빠르게 익히려고 하고, 그 이후에 점차 나의 체력에 맞게 일을 조절해 나가면서 밸런스를 잡아가자 하는 것이었다.


    다시 c++ 프로그래밍 이야기로 돌아와서, 우선 내 자리에 놓여있는 프로그래밍 책의 목차부터 훑어보기 시작했다. 역시 내가 모르는 분야이다보니까 목차를 읽어도 어떤 흐름으로 작성된 책인지 이해가 되지 않았다. 하지만 상관없었다. 이상하게 못할 것 같다는 기분은 들지 않았고, 해낼 것 같다. 재밌을 것 같다는 생각이 들었다.



우분투요 ? 그건 뭐하는 건가요


    그리고 나에게 첫번째 작은 과제가 주어졌다. 바로 개발 환경을 셋팅하라는 것이었다. 처음에는 이 말을 듣고 "개발 환경"이라는 것이 무엇일까에 대해서 고민했다. 사실 내가 잘 아는 분야인 항해사 분야에서 일하면서, 어떤 말인지 못알아 듣는 단어는 없었다. 기초적인 단어부터, 심화적인 전공 언어까지 정확하게 어떤 단어인지는 모르더라도 대충은 유추할 수 있는 단어들로만 하루가 구성되었었다. 하지만 지금부터는 완전 다른 판이 되어버렸다.


    개발 환경이라. 개발이라는 단어도 분명 아는 단어이고, 환경이라는 단어도 분명 아는 단어인데 개발 환경이라는 범위에는 어디서 부터 어디까지 포함되는 것인가?


    그래서 나에게 개발 환경 셋팅을 하라고 말씀하신 이사님께, 개발 환경이라는 것이 어떤 것을 설정하라는 것을 말하는 것인가요 ? 라고 되물었다. 평소의 내 성격이라면 일단은 알겠다고 하고 인터넷 서칭을 하면서 하나씩 알아간 이후에 다시 되물었을 테지만, 이것은 도통 어떤 것인이 감이 오지도 않아서 바로 되물었다.


    이사님께서는 허허 웃으면서 (지금 생각하면 정말 좋으신 분이다. 개발 환경 셋팅도 모르는 개발자라니 최악이다. ) 차근차근 알려주셨다. 심지어 거의 대부분은 직접 설치해 주셨다. 운영체제부터 내가 사용하게 될 IDE, 관련된 라이브러리까지 거의 다 설치해주셨다.


    개발자가 아니던 시절 나에게 있어서 컴퓨터라고 하는 것은 말이다.

1. 전원을 킨다

2. 윈도우 로고를 빤히 본다

3. 빨리 켜지도록 마우스를 좀 휘적휘적 거린다

4. ...

5. 그래도 안켜지면 키보드도 좀 두드려 본다


    이정도의 매커니즘을 가진 나였기 때문에, 이사님이 설정하고 계시는 모습을 옆에서 보고 있노라면 정말 영화속에 나오는 해커들이 은행 금고를 털때 나오는 그런 화면들이 가득차는 모습 같았다.


    그렇게 나의 첫번째 작은 과제도 내가 딱히 할 수 있는 일은 없는채로 마무리 되었다.



제가 제일 어린 줄 알았는데요


    처음에 입사를 하고 나서, 일주일의 온보딩 기간이 주어졌는데, 회사에 적응하라는 뜻이기도 하고, 사람들과 잘 어울려보라는 취지에서 구성된 일주일이었다.


    그렇게 처음 입사를 하던 날, 전체 구성원에게 전체 메일을 보내는 문화가 있다고 말씀해주셨다. 그래서 나는 약간의 자기소개와 함께, 내가 아마 막내일것 같다는 확신이 가득차서는 막내로서 잘 부탁한다는 문구를 넣었다.


    근데 이게 무슨 일인가? 나보다도 훨씬 어린 친구가 있었다. 그 친구는 고등학교를 프로그래밍과 관련된 것을 배우는 마이스터고를 졸업해서, 바로 우리 회사에 입사한 친구였다. 내가 당연히 막내라고 생각한 내가 오만했던 것 같았다. 그 친구는 벌써 프로그래밍에 대한 경력이 3-4년차 정도가 되어가는 스타트업치고 꽤 오래된 주니어 개발자였다. 이렇게 또 개발자 세상에서 모르는 것을 하나 배웠다.


    숨은 재야의 고수, 그것도 한참 어린 고수들이 많은 분야라는 것을.


자판기 지옥, 가위바위보 지옥

    

    이제부터는 본격적으로 c++ 정복 일주가 시작되었다. 처음으로 프로그래밍 책을 펴고는 첫 장을 읽었다. 어떻게 자료형을 작성하는지, 등등 영어 인것 같으면서도 영어가 아닌 것 같은 글들이 줄줄 이어져 나갔다. 책에 적혀 있는 예제 문제들을 하나씩 풀어나가기 시작했다.


    처음에는 오타나 이런 빌드 문제들이 많아서 거의 책을 보고 옮겨 적는 것만해도 한참이 걸렸었다. 그러다가 점차 이 언어의 구성이 어떻게 되어 있는 것인지, 어떻게 오류 문을 읽는 것인지 하나둘씩 눈에 들어오기 시작했다.


    이렇게 점점 자신감이 붙어갔다. 그렇게 나에게 완전 근본 없는 자신감은 아니지만 "약간 근본있는 자신감"이 생겨나기 시작했다. 하지만 이런 근.자.감을 보란듯이 눌러버리는 예제들이 나오기 시작했다.


    프로그래밍 첫걸음에 대한 책들에 보면 빠지지 않는 예제인 자판기 문제, 가위바위보 문제들과 같은 논리가 더해진 문제들이 나오기 시작했다. 그러다보니, 연속적인 for문, while문에 갖혀버려 프로그램이 더이상 종료되지 않는 문제들이 나타났다.


    하지만, 더 무서운 것은 말이다. 나는 분명 제대로 이해하지 못했는데, 대충 만들었고, 분명 오류가 있을 것 같은 문제인데 제대로 돌아가고, 정답도 예제의 정답과 일치될때 오는 그 알수없는 찝찝함이었다.

    이렇게 책 한권을 마쳐나갈 때 쯤, 이사님에 내 자리에 오셔서는 이렇게 말하셨다.


"이제 어느정도 익숙해지셨죠? 이제 정식 프로젝트를 드려봐도 될까요 ? "


    이렇게 나의 본격적인 비전공자 탈출기가 시작되었다.



    

이전 09화 #Heave up anchor:비전공자 개발자 면접은?
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari