ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2018년 회고록
    24년 11월 이전/잡다한 이야기 2018. 12. 17. 01:39
    반응형

    2018년 회고록

    들어가기에 앞서...

    올해부터 개발자로써 취업을 도전하면서 제가 했던 공부들, 얻은 경험들을 공유하기 위해서 2018년 1월 25일부터 "구르미의 개발 이야기" 블로그를 시작하였습니다. 약 1년이 지나 많이 빈약한 내용이었음에도 불구하고 약 5000명의 많은 사람들이 저의 블로그를 찾아주었습니다. 감사합니다. 어느덧 2018년도 2주 정도밖에 남지 않았네요. 개인적으로 약 2주간은 개발의 개자도 공부를 안할 것 같아서 올해 회고록을 남깁니다.

    2018년 키워드 "실패"와 "성장"

    개인적으로 2018년 저의 키워드를 꼽자면, '실패'와 '성장'이라고 말할 수 있겠습니다. 상/하반기 합쳐서 약, 40번 정도의 입사 지원서를 넣었고, 무수히 많은 실패를 경험하였습니다. 서류에서부터 코딩 테스트, 최종 면접까지 두루 두루 '실패'를 경험하였고 하루 하루 일희일비의 연속이었습니다. 그래도 다행인 것은 상반기 때보다는 하반기에 더 많은 서류, 더 많은 코딩 테스트, 더 많은 면접을 경험하였습니다. (그래봐야 1번에서 2번이잖아?) 나름 '성장'하는 것이 개인적으로 보였달까요? 그리고 나름 멘탈이 무너질만도 한데, 무너지지 않고 개발자로써 "성장"하기 위해서 꾸준히 공부하여 프로그래밍적으로 스펙트럼이 넓혔다는 것에 저 자신에게 큰 점수를 주고 싶습니다.

    2018년 공부했던 것들

    "자바와 코틀린"

    2018년에는 저의 주력 언어였던 자바에 대해서 더 알아가는 시간을 가졌습니다. 책 "이것이 자바다"를 읽으면서 그 동안 자바 내에서 몰랐던 것들과 자바8을 알게 되었고 "자바 8 인 액션"을 읽으면서, 함수형 프로그래밍을 지원하는 모던 자바를 알게 되었죠. 또한, 자바 대체제라고 불리우는 코틀린을 "코틀린 인 액션", "커니의 코틀린"을 보면서 공부하였습니다. 이 때 자바가 이제는 불편한? 오해된? 프로그래밍 언어라는 생각이 개인적으로 자리잡게 되었습니다. 그래도 웹 개발자로써 목표를 정한 후, 백엔드는 자바지 하면서 책 "스프링 철저 입문"을 읽으면서 스프링 프레임워크를 공부하였고, 코틀린-스프링 부트 기반, 주차 예약 시스템 "마이 셀파 리부트"를 만들었습니다. 이 프로젝트는 블로그의 그 내용을 정리한 첫 프로젝트였죠. 그 프로젝트가 끝나고, 당시 핫 했던 반응형 프로그래밍을 공부하기 위해서 "Rx Java"를 읽고 그 내용들을 정리하기도 했었습니다. 블로그에는 남기지 않았지만요 하하;; 

    "안드로이드"

    사실 제가 2018년 맨 처음 공부했던 것은 안드로이드였습니다. 개인적으로 어떤 프로젝트를 하려고 했는데 당시, 계획했던 프로젝트가 무산이 되면서 포기했었지만요. "깡샘의 안드로이드 프로그래밍" 책을 읽으면서, 안드로이드의 기본을 공부하였고, "커니의 코틀린"의 예제를 이것 저것 수정해가면서, RxAndroid, Retrofit 등의 라이브러리도 알게 되었고 특히나 충격적이었던 것은 LifeCycle, Room, ViewModel등의 안드로이드 아키텍처 컴포넌트(이하 "AAC")를 접하고 신세계를 경험하였습니다. 사실, 처음 예제를 쳤을 때 "아니 이건 뭔 개소리야?"라고 했는데, 최근 들어서 안드로이드를 해야 할 일이 있어서 다시 보게 되었고 "오 신세계!"라는 것을 느끼게 되었지요. 프론트엔드 분야, 웹도 그렇지만 안드로이드 역시 모듈별로 나눠서 코드를 깔끔하게 관리할 수 있게끔 진화되고 있는 느낌을 받았습니다. 더 공부하게 될지는 모르겠지만, 아마 3개월 이내에 안드로이드 프로젝트는 들어갈 것 같습니다.

    "파이썬 매력 있다.."

    2018년 제가 제일 많이 썼던 프로그래밍 언어는 사실 자바/코틀린 보다는 파이썬입니다. 빅데이터 분야에 관심이 생겼었고, 파이썬은 무조건 필요하겠다 싶어서 "개발자를 위한 파이썬", "파이썬을 이용한 빅데이터 수집 분석과 시각화"를 읽었었죠. 사실 이 공부도 안드로이드 때 말했던 계획했던 프로젝트의 일환이었는데 "WebSocket" 과 Restful API에 대한 개념이 없어서 프로젝트 서버 구축을 어떻게 해야 할지 몰라서 프로젝트를 포기했었습니다. 그런데 엉뚱하게도 알고리즘을 푸는데 현재 많이 쓰고 있습니다. 제가 느끼기에는 알고리즘을 표현하는데 정말 막강하더라구요. 그래서 현재 이 녀석 떄문에 살짝 골치가 아픕니다. 주력 언어를 자바로 쓸지 파이썬으로 쓸지 고민이 되더라구요. 스타트업은 파이썬 많이 쓴다는데 흠 아무튼 진지하게 써보고 싶긴 합니다.  

    "프론트엔드를 무시하지 말자"

    개인적으로 2018년 가장 큰 충격은 프론트엔드의 변화를 뒤늦게 알게 되었던 것입니다. 사실 저는 이전에 프론트엔드 개발을 정말 좋아하지 않았습니다. 타입 체킹도 잘 안되고, 굉장히 제가 알던 언어적인 부분에서 괴랄하다고 생각했던 자바 스크립트부터, 디자인적 요소가 필요하다고 생각했던 HTML/CSS 무엇보다, 제가 부족해서이지만, 구글에서 코드를 긁어오는 것이 프론트엔드 개발 분야의 다라고 생각했었습니다. 또한 그것 때문에 코드 관리가 굉장히 어렵게 느껴졌습니다. 그래서 상대적으로 개발자로써 재미가 적을 것 같다고 생각했죠. 그러나, "Velopoert"님의 리액트 강의를 듣고, 책 "리액트를 다루는 기술"을 사서 공부하고 토이 프로젝트를 진행하다 보니 프론트엔드도 굉장히 재밌는 분야구나 느꼈습니다. 그리고 제가 제일 답답했던 코드 관리도 잘 되더라구요. 그 후 현재 프론트엔드 단에서 리액트와 양대 산맥인 "Vue.js"도 공부하게 되었습니다. 요즘에는 리액트를 공부하면서 진행했던 토이 프로젝트를 뷰로 다시 만들어보면서 그 때 이해하지 못했던 개념을 다시 되새기고 뷰의 개념도 함께 공부하고 있습니다.

    "전산학 기초, 알고리즘과 DB"

    음... 개발자로써 삼성, SK, LG 등의 대기업에 취직을 하고 싶다면 저는 개발 공부와 프로젝트 때려치고, 알고리즘, DB, OS, TCP/IP 등의 전산학 기초와 인적성을 공부하라고 권하고 싶습니다. 실제 이것들이 일차적으로 테스트로 나오기 때문이지요. 저 역시 상반기 때는 개발 위주 회사만 넣었던 탓인지 알고리즘 시험만 주구장창 보았는데, 한 개 빼고 다 탈락했더랬죠... 대기업은 전산학 기초, 그리고 인적성만 뚫으면 면접은 꽤 쉬운 편이라고 하더라구요. 저는 물론 영어 점수나, 인적성을 뚫어본적이 없어서 잘 모르겠지만 친구 말론 그렇답니다. 하반기 때는 코딩 시험에서는 떨어지지 말자라는 마인드로 7월부터 책 "알고리즘 문제 해결 전략"을 읽고, 문제를 풀었고, 이후에는 프로그래머스 알고리즘 고득점 키트를 풀면서 지금까지 거의 1일 1알고리즘을 실천하려고 노력했습니다. 그 결과로 하반기 때는 상대적으로 알고리즘 시험을 많이 뚫었습니다. 또한 전산학 기초는 공부해야지 하면서 책 "데이터 베이스 첫 걸음", "SQL 첫 걸음"을 공부하면서 DB 분야에 대해서 공부하기도 했습니다. 공부 내용에 대한 정리도 블로그에 올렸었는데, 현재는 비 공개 상태로 바꿔놓았습니다. 리뉴얼 후 다시 올릴 예정입니다. 

    2019년 이루고 싶은 목표

    올해는 이렇게 끝났으니까 미련은 버리고! 이제 내년 2019년 제가 무엇을 해야 할지 정해야겠죠? 

    "전산학 기초 C++/자구/알고/DB/TCP/OS 정리"

    일단, 2019년 저의 목표는 전산학 기초에 대한 정리 글을 포스팅으로 올리는 것입니다. C++부터 시작해서, 자료구조, 알고리즘, DB, TCP/IP, OS까지 음 최대한 다 하려고 노력하겠지만, 적어도 최소한 DB까진 정리 글을 올릴 예정입니다. TCP/IP는 이론은 간단하게 하고 소켓 프로그래밍 위주로 할 것 같고 OS는 거기까지 할 수 있을지 모르겠습니다. 개발 역시 다른 공학 분야와 마찬가지로 기본이 중요하다고 생각하기 때문에 19년 최소한 20년까지는 이 전산학 기초에 대해서 정리할 예정입니다. 최대한, 고등학생들이 읽어도 이해할 수 있게끔? 열심히 달려봅시당!

    "자바/스프링 or 파이썬/장고 깊게 이해하기"

    2018년 저를 돌아보면 좋게 말해서 개발 스펙트럼이 넓어졌다고 표현할 수 있지만, 나쁘게 말한다면, 이리 저리 휘둘린 해라고도 볼 수 있을 것 같습니다. "취업"때문에 많이 불안했고 주변에서 이 기술 좋다, 저 기술 써봐라 하면 무조건 공부했던 것 같습니다. 굉장히 단 기간에 수 많은 플랫폼, 언어, 프레임워크를 다뤄서 그런지, 제가 생각했을 때 그 깊이가 매우 얕더라구요. 어느 정도 상호작용해서 깊어진 부분이 간혹 있긴 있지만 그것이 제가 원하는 수준은 되지 못한 것 같습니다. 2019년에는 자바와 파이썬 둘 중에 하나를 정해서 그 대표 백엔드 프레임워크인 스프링 혹은 장고에 대해서 깊이 공부할 예정입니다. 아직 정하지 못했는데, 음 아마 2019년 초에 정할 것 같습니다. 스타트업 기업 중에 하나를 넣을 예정인데, 거기가 붙으면 파이썬/장고, 떨어지면 자바/스프링이 될 것 같습니다. 뭐 둘 다 공부할 것도 해야할 것도 많아서 19년 이후로도 쭉 저의 메인 컨텐츠가 될 예정입니다.

    "자바스크립트 기본기 다지기"

    2019년 또 다른 목표는 자바스크립트 기본기 다지기입니다. 리액트, 뷰를 다뤄보면서 느낀 점이 두 라이브러리를 잘 쓰려면, 자바스크립트 기본기가 잘 다져져 있어야 한다는 점입니다. 책이나 토이 프로젝트를 할 때는 따라갈 만 한데 이것이 제가 프로젝트를 진행할 땐 쓰기가 조금 버겁더라구요. 올해는 그것들 없이, 외부 라이브러리 없이 자바스크립트를 극한까지 다뤄보고 싶습니다. 아마 이것도 안드로이드와 마찬가지로 한 프로젝트를 위해서 써볼 수 있을 것 같습니다. 개인적인 생각으론 그 내용은 한 4-5월쯤 다루지 않을까 싶습니다.

    "블록체인 공부/개발 해보기"

    2019년 마지막 목표는 블록체인에 대해서 공부하는 것입니다. 빅데이터와 블록체인 중 곰곰히 생각해봤는데, 개발자로써 제가 할 수 있는 역할이 더 많은 것이 블록체인이라는 생각이 들어서요. 이것은 목표보다는 희망사항에 가깝지만 말이죠. 이미 위의 3개의 목표만 해도 꽉 찬 한 해가 되지 않을까 생각되는데요. 만약 이 내용을 정리할 수 있으면 정리해보도록 하겠습니다.

    마치며...

    올 한해 돌아보니 나름 정말 많은 것을 했었군요. 이 많은 내용들을 찬찬히 블로그에 정리했다면 꽤 더 좋았을텐데 아쉽네요. 2019년에는 위의 목표들을 모두 이루고, 원하는 직장을 얻고 다 성공했으면 좋겠습니다. 이 글을 보는 여러분들도 같이 힘내자구요! 모두 파이팅입니다! 



    728x90
Designed by Tistory.