brunch

You can make anything
by writing

C.S.Lewis

by 시모네 Mar 15. 2021

9. 개발자 교육첫 3달의 경험과 후회하는점

많은 분들이 개발자로 전향을 생각하고 있으나 가지고있는 고민과 궁금증에 비해 도움을 받을곳이 많지 않습니다. 저도 비전공 출신으로 28살의 나이에 개발을 배우기 시작했으나 처음 개발을 배워볼까 고민하던 순간 부터 취업하기까지 많은 고민과 문제가 있었고 도움을 받을곳은 없었습니다. 아직 현업에서 2년째 일하고있는 부족한 개발자지만 아직까지 생생하게 기억하고 있는 경험과 지식이 3년전의 저같은 사람에게 큰 도움이 될거라 생각합니다.  

앞으로 개발자 전향을 고민하는시점부터 취업까지 모든 경험과 생각을 연재합니다. 



교육이 시작되면 이제 어색한 사람들과 함께 6개월간 힘든 과정을 겪게된다. 여러가지 기초 개념들을 익혀나가고 학원에서 내주는 숙제를 하나 하나 힘겹게 풀고 학습하며 개발자로서 발걸음을 떼기 시작한다. 이 글에서는 첫 3달동안 겪었던 경험과 후기 그리고 잘했던것과 후회 하는것들을 적어보려한다. 6개월중 첫 3개월과 그 다음 3개월은 다르다. 따라서 어떤 목표를 가지고 3개월을 보낼지도 다르다.

첫 3개월은 학원교육에 성실히 100% 따라가는것을 목표로 하는것이 좋다고 본다. 기초적인 부분을 잘 배우고 넘어가야하고 그것또한 쉽지않다. 그 다음 세달은 학원 교육을 넘어서 조금 더 진취적이고 능동적인 행동을 하기를 추천한다. 이것에 대해서는 다음에 적도록 하겠다.


선행 학습은 역시 좋았다.


교육이 시작되고 매일 6시간의 수업 그리고 2시간의 자습 시간이 주어졌다. 6시간의 수업은 생각보다 지구력이 많이 요구되는 무지 긴 시간 이다. 그 긴 시간만큼 수업의 진도 또한 빠르게 나갔었다. 몇일이 지나자 이미 상당한 양의 진도가 넘어가게 되었고 강사님은 2시간의 자습시간에 할만한 숙제를 내주기 시작했다. 나는 나름의 선행 학습덕에 수업내용이 모두 이해가 갔었고 숙제를 풀 자신이 있었다. 결국 매번 자습시간이 끝나기 전에 숙제를 다 풀게 되었고 누구보다 빨리 해결 했다라는 사실과 함께 코딩에 대한 자신감과 자존감이 높아지기 시작한 계기였다. 다 풀고 나면 "됐다!" 혹은 "예쓰!" 라고 티나게 소리냈고 친해진 수강생들은 재수 없다고도 했지만 해결 방법을 와서 묻곤했다. 그렇게 사람들은 내가 잘한다고 생각했고 강사님도 나를 팀프로젝트의 팀장을 시켰다. 나는 사람들의 기대에 부응하기 위해 더 열심히했다. 선행학습이 결국 6개월간 더 열심히 공부 하게될 원동력이 된것이다.



프로젝트


교육이 지나고 세달이 되어갈때면 이미 기본적인 JAVA 문법과 ORACLE 을 배우고 웹 프로그래밍 과정의 경우 HTML CSS JQuery JSP 를 배운다. 고작 3개월만에 이것들을 다 배웠다니 지금 생각해봐도 진도가 빠르긴 하다.

그리고 이때쯤 첫 팀 프로젝트를 진행하게 된다. 프로젝트는 추후 취업을 할때 경력도 없는 상황에 그나마 내세울 만한 무기가 된다. 그래서 이 프로젝트는 나중에 생각보다 중요한 역할을 하게 될것이다.


내가 팀장을 맡아 5명이서 처음에 진행했던 프로젝트의 시연영상은 여기있다

우리는 프로젝트로 요즘 광고에 많이 나오는 'Class101' 처럼 관심사에 따른 영상 수업을 판매,구매하는 플랫폼을 구현했다. 2년이 지난 지금 다시 보니 생각보다 나쁘지 않았네? 라고 생각이 든다. 회원가입,로그인, 포인트구매(결제X), 상품검색페이지, 메인페이지, 마이페이지, 영상업로드 페이지, 상품상세 페이지 등등 3개월 된 개발 초짜들 수준치고는 꽤 많은 기능을 구현 했던것 같다. 



만약 5명이서 프로젝트를 진행할때 5명이 모두 잘하지는 않을것이다. 그만큼 결과물이 아쉬울수도 있다. 우리 팀의경우 팀원들이 하고 싶어하는 부분을 선택하여 할수있게 했었지만 초반에는 순조로웠으나 이런 저런 문제들이 생기고 (특히 중요한 페이지를 빼놓는 등 화면 기획에서 문제가 많았다. ) 동시에 팀원들의 작업이 진척이 되지 않기도했다. 그래서 내가 해야할 작업을 끝내고 도왔던것 같다. 팀장으로서 잘 마무리 지으려는 책임감인지 아니면 욕심이 많아서 그랬었었는지 모르겠지만 그들이 끝까지 마무리 할수 있도록 하지못해 미안하기도 하다. 그러나 이렇게 함으로써 결국 나는 다양한 기능구현을 담당하게 되었고 이런 저런 문제들을 많이 겪은 경험이 되기도 했다. 


프로젝트를 어떻게 구현했는지 정확히 기억이 나지않아 Git에 들어가서 다시 확인하였다. 

그때 당시 코드 

ORACLE로 데이터베이스를 만들어 JAVA를 통해 통신했고, 서버로 부터 받아온 데이터를 모델링 한후 

JSP를 통해 프론트로 던져줬다. 프론트에서는 jquery를 통해 이벤트 처리를 하고 HTML CSS 를 사용했다.

입문자라면 아직 이게 무슨말인지 이해를 못했을 수도있지만 중요한점은 고작 3개월만에 이 많은것들을 배우고 나름 수준있는 프로젝트를 구현 할수 있었다는 것이다. 국비지원 3개월차가 이정도이며 이것이 개발 입문자가 국비지원 교육과정을 해야할 이유라고 생각한다.


그리고 프로젝트가 완성된후 이렇게 작업물에 대한 코드와 시연영상을 잘 보관하길 바란다. 학원 교육 과정에서는 프로젝트를 로컬IP에서만 돌아가게 구현하기 때문에 서버,DB가 없어서 나중에 다시 돌려볼수 없다.


이해하고 사용하자.


2~3년이 지난 지금 다시 봐도 프로젝트의 구현은 만족스러웠다. 코드도 기대 이상이었다. 그러나 지금 돌아보니 여기서 사용했던 코드들중 그때 당시에 이해를 하지 않고 사용했던 것들이 꽤 있다는점을 깨달았다. 프로젝트를 진행하며 사용했던 코드들은 수업내용에 작성했던 코드들을 참조하여 사용 했었지만 그중 이해를 하지 않고 사용했던 것들도 많았다. 예를들면 interface를 구현하고 상속받는등의 객체지향설계나 자료구조 등등 왜 이렇게 해야하는지 모르고 사용했었다. 이것들은 나중에 따로 힘들게 공부했었던 내용이다. 만약 이것을 알고 사용했다면 나중에 따로 공부 해야 할일이 없었을것이다.  

나는 과연 그때 interface를 이해했을까...?

학원 강사님이 jsp 나 jquery같은 후진 기술을 가르치기나 했지 저런 중요한것들도 가르쳤던지는 모르고 있었다. 그런 점을 알게되고 나서 그때 왜 잘 배워두지 않았는지 후회했다. 물론 이것들이 중요한지 몰랐었기 때문에 했던 그랬던것 같다. 기능 구현이 급했고 거기에 몰두한 나머지 왜 이렇게 해야하는지 왜 이게 좋은지 별론지 등등 이런 깊은 부분은 보지 않았던것같다. 정리하자면 수업 내용중 무엇이 중요하고 중요하지 않은지 아직 판단이 잘 서지 않기 때문에 수업때 배우고 작성했던 모든 코드들은 이게 뭔지 왜 써야하는지 이해를 하고 넘어가는것이 좋다. 학원 강사의 수업이 이해가 가지않아도 유튜브를 찾아보고 구글에 검색해서라도 이해를 하고 넘어가기를 추천한다. 하나하나 꼼꼼히 익히고 넘어가는 자세가 실력을 우상향으로 키워줄것이다.





비전공자 개발자의 성공적인 전향 비법 전자책 보러가기








브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari