brunch

You can make anything
by writing

C.S.Lewis

by 멸치맛초코 Jan 30. 2022

2. 어렵고도 난해한 자바의 세계

글쓰기 위해 개발하는 일기 #2


요즈음 대부분의 국비지원 학원은 비전공자를 위한 커리큘럼을 주로 밀곤 한다. 계속되는 취업난에 개발자는 부족한 실정이 맞물리면서 수많은 사람이 개발자를 하겠다고 나서고 있다. 나는 국비지원 학원을 다닌 적이 있다. 국비지원 학원은 수강생 입장에선 부담해야 할 부분이 없다. 학원비는 당연히 무료(국가 지원)이고, 교재와 시설 지원도 이루어진다. 적은 돈이지만 학습 지원금도 지급된다. 이러한 수업은 대부분 배우려는 사람이 많은 반면, 준비도 안 된 상태에서 다짜고짜 수업을 들으려는 사람도 종종 있다. 그래서 학원 측에선 사전 면담을 통해 최대한 따라갈 수 있고, 오랫동안 다닐 수 있는 사람을 찾는다.


학원에 다니기 전엔 ‘나만 비전공자면 어떡하지?'란 생각과 ‘수업을 못 따라가면 어쩌지?’란 걱정이 가득했다. 하지만 막상 인터뷰 때 들었던 이야기는 조금 달랐다. 수강생 80%가 비전공자라고 했고, 완전 처음인 경우가 대다수라는 것이었다.


인터뷰 후 얼마 지나지 않아서 합격 통보를 받았다. 이후 최종 확인 연락과 함께 몇 가지 당부사항을 전달받았다. 그중 하나는 자바(Java) 중심의 선행학습이었다. 비전공자는 대부분 SI 쪽으로 많이 시작한다. 대부분의 SI 기업은 여전히 자바 중심, 혹은 자바가 기본이 되는 언어로 개발한다. 당연하게도 학원의 커리큘럼도 SI에서 주로 사용되는 언어로 구성된다. 내가 참여한 수업도 그랬다.


그리고 대부분의 프로그래밍 언어는 기본적인 접근 방식이 유사하다. 파이썬 정도가 아닌 이상은 대부분의 언어가 코드를 짜는 방식이 자바와 흡사하다. 대부분 첫 언어를 자바로 시작하길 권장하는 것엔 이와 같은 이유도 있다.


당시 학원에서 선행학습을 위해 추천해주었던 강의는 너무나도 유명한 생활코딩이었다. 코딩이 어려운 일반인을 대상으로 쉽고 간단하게 코딩을 가르쳐주는 대표적인 강의다. 코딩해본 사람이라면 못해도 한 번은 봤을 정도로 엄청 유명하다(!)


학원 측에선 선행학습을 위해 생활코딩을 여러 번 볼 것을 당부했기에 커리큘럼이 시작되기 직전, 한 달 동안 자바 강의를 두 번은 본 것 같다.


C를 해본 적은 있어도 단순히 교양 식으로 배웠던 것이었으며, 정말 밥벌이랑 연결된다고 생각하니 부담감이 상당했다. 다행히도 쉬운 내용에 차근차근 설명하는 강의 덕분에 (어렵긴 했다만) 큰 문제없이 완강하고 학원으로 향했다(!)



아... 내가 공부한 게 자바가 아니었던가...?



수업 때 사용했던 한빛미디어의 [이것이 자바다]. 책이 좀 재미없긴 한데, 엄청 상세하고 친절하게 잘 되어 있다. 요즘 다시 보면서 부쩍 좋은 책이라고 느낀다.


학원에서 한 달 동안 속성으로 배운 자바는... 정말 하루하루가 고난이었다. 일단, 9시~18시까지 하루 8시간이나 수업을 들었기 때문에 진도를 엄청 빠르게 나갔다. 교재가 1, 2권 합쳐서 약 1,200장 정도 된다. 보통 하루에 천천히 나가면 50장 정도 배웠던 것 같은데, 어떤 날에는 책의 1/10이나 배울 때도 있었다. 거기에 강사님도 성격이 급하신 분이어서... 강의 속도 조절이 안 되는 경우가 다반사였다. 자주 ‘모르는 것이 있으면 질문하라’라고 말씀하셨지만, 아는 게 있어야 질문도 할 수 있는 법. 모든 것이 새롭고 아는 것이 없는 나에겐 질문은 선택지에도 없었다. 가장 문제는... 이건 진짜로 인간적으로 너무 어렵다는 점...



타입, 필드, 매서드, 클래스, 생성자, 인터페이스, 스레드, 조건문, for문, case문, while문, 제네릭, List, Set, Map, Stream, 람다식..........



낯선 세계와 생소한 언어가 주는 압박감은 정말 눈앞이 깜깜할 정도였다. 무언가 계속 쓰면서, 실행하여 내가 쓴 코드가 정상 동작하는 것을 보고, 디버깅하면서 예제와는 다르게 쓰는 재미가 상당하긴 하지만... 수업을 듣는 내내 ‘아... 이걸로 밥벌이할 수 있을까...’란 생각이 드는 것은 어쩔 수가 없었다. 내가 주체적으로, 딱딱 상황에 맞춰 코딩하는 그림이 그려지지도 않았다.


가장 절망적이었던 순간은 한 달 다 지나면서 책 진도를 거의 마칠 즈음이었다. 정말 예고도 없이 시험(!)을 봤다. 객관식 20문제와 서술형 5문제. 객관식은 간단한 개념을 묻는 수준이었고, 서술형은 당연하게도 코딩 테스트 형태. 아직 이해도 다 안 되는데 시험 보는 게 말이 되나 싶었지만, 의문을 가질 시간도 없이 시험은 시작됐다. 종일 시험을 봤고, 객관식은 그럭저럭 다른 사람과 비슷하게 했지만... 코딩 테스트는 5개 중에 온전히 혼자 푼 내용은 단 한 문제에 불과했다.


‘비전공자가 많으니까 다들 비슷하지 않을까?’


하고 생각할 수도 있었지만... 실상은 전혀 달랐다. 다들 못해도 3문제 이상 풀었고, 비전공자도 거뜬히 5문제를 다 푸는 경우도 허다했다. 첫 일주일이 정말 고비라고 생각했다. 그러나 제출할 코드 한 줄도 없는 파일을 보내야 하는 그 비참한 순간이 정말 그만두고 싶게 만들었다.








웃긴 점은, 이렇게 매일매일 ‘때려치울까...’라고 되뇌면서도 그때는 물론이고 현재까지도 그만두지 않았다는 것이다. 절박한 심정이었던 것일까? 아니면 포기할 용기가 없었던 것일까? 






매거진의 이전글 1. 이공계가 아닌데도 코딩을 할 수 있나...?
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari