이 글은 한 사람의 이야기입니다. 그리고 'Ulrim'이라는 닉네임을 사용하고있습니다.

전역 18.07.01

그리고 백수..

작년 7월에 4년의 군복무(병사 1년 + 장교 3년)를 마치고 고향으로 내려오게되었다.

나는 단순히 목공일을 배워 가구를 제작하는 걸 내 업으로 삼아야겠다는 생각으로 전역을 하였었다.

하지만 전역을 하자마자 목공일을 배우기위해 이곳저곳 학원을 알아보지않고 나는 자유에 목 말라있었기때문에 놀러다니기 바빴다...

정신차리고보니..
어느새 2018년의 마지막 달이 다가왔었고 그제서야 학원을 알아보다가 국비과정이라는 것을 찾게되었다.

국비교육을 받기까지의 과정도 만만치않았다.
취업성공패키지로 시작을 하였고 한달 간의 상담과 교육..
그리고 마지막엔 카드 발급까지..

그래도 친절한 상담선생님 덕분에 내가 원하는 목공학원에 등록을 할 수 있었다.

여기까지는 순탄했는데..

등록은 했지만 그 학원이 원하는 인원수가 채워지지않으면 폐강을 하거나 시작하는 날짜가 계속 미뤄졌다..

이때만해도 전역하고 바로 알아볼껄.. 이라는 후회를 많이했었다. 모든것에는 때가 있는 법이었다.

그래도 어쩌겠는가.. 하고싶은걸 하기위해서 기다리는건데 라고 생각했다.

약간 운명같은.. 만남

어느 날 부모님의 차가 고장이나서 카센터에 맡긴걸 찾으러가기위해서 밖으로 나왔던 날이었다.

카센터까지는 버스를 타고 이동하기로했었는데 거기서 엄마가 포스터를 보고 그냥 한마디 툭 내뱉으셨다.

"너 CAD 배워보는거 어때?" 나는 그 말을 듣고 포스터를 유심히 보았는데 CAD, 전산회계, 안드로이드개발 이렇게 3개의 과정이 있었다.

나도 포스터를 보고 "난 CAD보단 프로그래밍이 더 재밌어보이는데?" 라고 말했고 엄마는 다시 "한 번 생각해봐.." 라고 하셨다.

카센터를 가면서.. 집으로 오면서.. 내가 목공일을 내 업으로 삼을까? 라는 고민보다 짧게 했지만..

목공 학원은 언제 시작할지 모르는 불안감이 있어서 대비를 하자는 생각으로 다음 날 바로 컴퓨터학원을 찾아갔다.

컴퓨터 학원을 갔을 때 첫 느낌은 나쁘지않았다. 상담선생님도 과정설명을 잘해주셨고 일단 나는 프로그래밍의 경험이 전무했기때문에 배우고 싶은 마음도 컸다.

그래서 상담을 받자마자 그 자리에서 바로 등록하겠다고하고 고용센터 상담선생님한테도 학원을 바꾸겠다고 요청하였다.

이건 학원을 다니고나서 알았지만 프로그래밍 과정도 인원이 부족해서 2번정도 날짜가 미뤄졌었고 이후에 교육을 할 수 있는 최소인원이 모여서 개강했다고한다.

새로운 시작 19.03.18

자바기반 안드로이드 개발자 양성 과정의 훈련 기간은 2019-03-18 ~ 2019-10-15 약 7개월 가량이다.

이 기간동안 무엇을 얼마나 배울지 몰랐지만 새로운 걸 배우는거기때문에 막연한 두려움이 있었다.

첫 시작날 가볍게 자기소개를 하고 자바 수업을 받았는데 이건 외계어였다..
뭔지도 모르는데 그냥 하염없이 강사님의 말씀에 따라 코드를 치고 책을 보고 코드를 쳤다.

그냥 쳤다.. 계속..

코드가 익숙해지는데에는 2달정도 걸렸던거같다.

나는 16:40에 교육이 끝나면 집으로 가서도 코딩을 했다.

처음에는 학원 내용을 복습하거나 예습을 했었고 그러다가 자바가 아닌 다른 언어도 찾게되었다.

웹 언어의 발견

자바도 꽤나 재밌는 언어였지만 자바스크립트를 접하고 이건.. 와.. 엄청 쉬웠다.. 라는 표현이 맞는지는 모르겠는데 자바보다는 진입장벽이 확실히 낮았던거같다.

흥미가 생겼다. 그래서 찾아보니 자바스크립트를 하기위해선 html을 먼저 학습해야했다.

이땐 프레임워크, 라이브러리가 뭔지 몰랐다.

일단 웹의 기본을 알아야겠다 생각했고 무료강의를 찾다가 '생활코딩'을 접하게되었다.

'생활코딩' 강의는 정말 프로그래밍을 처음 접하는 사람도이해 할 수 있게 기본 개념을 쉽고 재밌게 알려주었다.

학원이 끝나면 집에선 생활코딩을 보았고 'WEB' 시리즈는 전부 보았다.

강의를 보고나니 기본개념은 어느정도 잡힌거같아서 자바스크립트의
프레임워크인 Vue, 라이브러리인 React 둘 중 어느걸 공부할까 고민했었다.

우선 Vue와 React의 공식홈페이지에 있는 예제를 전부 따라서 코딩하였다.

그리고 나는 React를 선택했다.
Vue는 약간 얽매인 느낌이었고 React는 좀 더 자유로운 느낌이었다.
난 React의 자유로운 느낌에 끌렸다.

React를 시작하고나서부터 조금씩 시야가 넓어지기 시작했던거같다.

react, mobx, sass, less, socket.io, nodejs 등등..
보이는대로 예제 찾아서 코딩하고 학습했다.

난 깊이 있는 학습보단 시야를 넓힐 수 있는 학습을 했던거같다.

언어라는건 도구라는 생각을 가지고 있어서 그랬던거같다.

어느 도구가 효율이 좋을지 이게 나에게 맞는 도구인지 알 수가 없었기에 새로운 언어,
기술들을 계속 학습했다.

진입장벽이 높다고 판단된거는 빠르게 포기했다.

잠깐 국비교육으로 돌아가서..

국비교육에선 java, mysql, jsp, java기반 안드로이드의 교육 과정이다.

자바가 끝나고 jsp와 mysql을 하였는데 jsp가 좋다 나쁘다라고 할 순 없지만 불편했다.

jsp 교육이 들어갈때 react를 하고있었기때문에 jsp는 흥미롭지않았다.
그래서 학원에서도 따로 react를 학습하였었고 관계형 DB는 기본개념만 잡고 깊숙히 파고들진않았다.
나중에 사용할 일이 있다면 그때 학습해도 늦지않다고 생각했기때문이다.

첫 사이트 제작

첫 사이트는 벨로그에도 글을 작성했던 '랜덤채팅사이트' 이다.
react, nodejs, socket.io 등을 사용하였고 서버구동은 구글 앱엔진을 활용하였다.

엄청난 꿈을 가지고 만들기 시작했던 프로젝트이다.
이 사이트 제작을 시작하기전 구상단계일때 창업지원을 받기위해 K-스타트업에도 지원했었다.

서류심사는 형식적인것이었고 1차 발표때 나름 준비한다고 했지만..
프로토타입도 없거니와 비전공자인 내가 발표를 했기때문에 심사위원들의 신뢰를 얻지 못하였고 탈락하였다.

지금 되돌아보면 내가 생각해도 안 뽑았을꺼같다.. 그래도 경험해본거에 의미를 두고있다.

그러고나서 바로 사이트 제작에 들어갔다.

코딩을 하면서 맞고 틀리고를 떠나서 일단 실행되게 만들자에 목표를 두었다.
React로 뷰단을 잡는건 어렵지않았다. (다만 디자인이 마음에 안들어서 계속 수정했었다..)

문제는 백엔드... socket.io와 nodeJs의 자료 중 최신자료를 찾아보기가 힘들었다.
socket.io를 구현하는 코드는 다들 제각각이었다.
카피할 코드가 마땅치않아 직접 만드는 수 밖에 없었는데 일단 최대한 쉽게 생각하기로했다.
어차피 데이터를 주고 받고만 하면 되는거 아닌가?
socket.io 공식 홈페이지에서 주고 받는 명령어를 찾고 단순히.. 그것을 응용해서 작성하였다.
그래서 코드가 이쁘진않다.

이 사이트는 완성하진 못 했다. 아직도 미완성 단계이다. (내가 계획했던걸 다 넣지못했기떄문에..)

완성하지않고 중단한 이유는 거창하지않다..
단순히 학원에서 안드로이드를 들어가기 전이었기때문이다.

flutter를 접하다. 그리고 앱을 만들다.

안드로이드 교육을 들어가기 2주일 전 나는 앱 개발에 관한 내용들을 찾아보았다.
자바, 코틀린, 스위프트 그리고 크로스플랫폼 다양하였다.

앱 개발 경험, 지식 또한 전무하였기때문에 일단 정보수집을 했다.

그러던중 Flutter를 접하였고 웹언어를 학습했던거와 동일하게 나는 공식홈페이지에 있는 예제를 전부 카피코딩하였다. (한 4일정도..? )

비즈니스 로직이 위젯 개념인 플러터는 예제를 작성해보아도 감이 안잡혔다.
언어 자체는 진입장벽은 낮다고 판단했지만 웹에 익숙해진 방식을 고치는게 시간이 걸렸다.

국비과정이 얼마남지않아 빠르게 지식을 습득하기위해서 유료강의를 결제해서 보게되었다.
유료강의가 강의가 꽤 많았지만 1주일내로 다 보았던거같다. (하루 12시간 이상 시청했으니깐..)

학원 안드로이드 교육 시작전에 유료강의를 모두 보았다...

그래서 학원에서 교육하는 자바기반 안드로이드는 눈에 들어오지않고 플러터를 사용하여 앱 개발에만 전념하였다.
일기장앱을 계획하였고 2주정도의 시간이 걸려 완성해서 앱 등록까지 마쳐보았다.

앱 개발내내 확실히 재미가 있었기때문에 지금도 계속 공부하면서 앱을 업데이트 중이다.

앞으로의 계획

국비과정은 한달도 채 남지않았다.
우선 나아갈 방향은 웹개발이 아닌 앱개발로 방향을 잡았다.
웹개발도 충분히 재미있었지만 짧은 시간이지만 앱개발이 훨씬 많은 재미를 느끼게해주었다.

나는 애초에 취직을 할 생각이 없었기에 취업을 위한 공부가 아닌 내가 필요한 언어를 학습하는데 중점을 두었다.
그래서 시야를 넓게 보는거에 집중하였고 내게맞는 기술, 언어를 쫒아다녔다.
물론 경험치는 아직 많이 부족하다...

하지만 1인 앱개발자의 길로 들어가보려한다.

이 회고록은 두서없고 글 솜씨가 좋지않지만 작성했다는거에 의미를 두겠습니다. 끝.

그냥.. 하고 싶은말..

나는 국비과정을 시작하고부터 매일 12시간이상(학원 교육포함) 프로그래밍에 빠져살았던거같습니다.
지금도 그렇지만.. 프로그래밍을 하는데에 있어 비전공자라는 수식어는 중요치않다고 생각했지만 전공자에 비해 알고리즘, 자료구조 등에 대한 기본개념은 확실히 부족하다는 걸 느꼈습니다.
만약에 프로그래밍에 경험이 없고 국비과정을 생각하고 계신분이 있으시다면 교육은 받되 따로 다른언어들도 한번씩 찾아보시고 학습해보시는게 좋은거같습니다.
학원에서 배우는건 정말... 기본 중에 기본이고 교육과정상 기본을 벗어난 응용까지는 해보질 못 했던거같습니다. (물론 학원마다 다를 수 있습니다..)
너무 어렵게 생각하지마시고 시작하셨다면 먼저 익숙해져보려 노력하고 과정이 끝날때까지 최선을 다해보시면 좋겠습니다..

일기장앱 구경해보기 : https://play.google.com/store/apps/details?id=com.ulrim.how_was_your_day_today