교육으로 보낸 한 해
2019년은 프로그래밍 교육으로 한해를 보냈다고 해도 과언이 아니다. 덕분에 혼자서 공부하던 2018년과는 달리 같이 공부할 친구도 많이 사귀고 프로그래밍에 대해 많은 것을 보고 느낄 수 있었던 시기였다.
특히 내가 개발자로써 어떤 생각을 가져야하는지, 빠르게 변화하는 환경에서 어떻게 학습해야 하는지 익힐 수 있었던 시간이었기에 나의 개발자 커리어에서 터닝포인트라고 할 수 있는 시간이었다.
SSAFY
2019년의 시작은 싸피와 함께 시작했다. 사실 2018년 12월부터 싸피는 시작... 본래 싸피 지원은 알고리즘 때문이었다. 싸피 이전에 기업 면접을 봤었는데 내가 봤던 모든 기업에서 기술면접을 알고리즘 문제를 푸는 형식으로 진행했다. 이때 모든 기업에서 알고리즘 지식과 경험 부족으로 면접 탈을 경험했었다. 때문에 알고리즘 관련 교육을 진행하면서 동시에 취업 지원금을 주는 싸피를 지원하여 다니고 있었다.
싸피에서는 많은 알고리즘 지식을 얻을 수 있었다. 덕분에 삼성 역량 테스트 A형까지 취득할 수 있었다. 그리고 알고리즘 문제에 대한 자신감도 붙어 왠만한 코딩테스트는 통과할 수 있는 실력을 갖출 수 있었다.
싸피는 알고리즘 외에도 SW 개발자 역량을 위해 웹 개발 교육을 진행한다. 나는 파이썬을 활용한 웹 개발 교육을 들을 수 있었다. 나는 2018년 동안 자바 웹 백엔드를 공부하고 있었기 때문에 왠만한 내용을 이해할 수 있었다.
이 과정에서 하나의 언어, 프레임워크를 잘 이해하고 있으면 다른 언어, 프레임워크를 이해하는 것은 큰 어려움이 없음을 다시 한번 깨달을 수 있었다. 언어, 프레임워크마다 각각의 컨셉이 있지만 전반적인 구성은 비슷하기 때문이다. 언어의 경우 변수, 메서드, 객체(자바와 파이썬은 객체지향언어) 등의 개념이 동일하고 스프링과 장고는 컨셉은 다르지만 HTTP를 활용하여 웹 애플리케이션을 만든다는 것은 동일하기 때문이다. 덕분에 프로그래밍에 자신감을 가질 수 있었던 시간이었다.
시련
이런 자신감으로 다양한 회사에 지원하였다. 2019 상반기에는 두 곳의 면접을 보았다. 하지만 둘 다 기술면접에서 고배를 마셨다. 알고리즘을 통과하니 프로그래밍 기초 소양과 CS 지식의 부족을 느꼈다. 내가 부족한 것을 깨달을 수 있었지만 조금씩 지치기 시작했다. 마음이 지치니 몸도 조금씩 아파왔다. 특히 목에 근육통이 심하게 와서 3월 한 달간은 학습에 많은 힘을 쏟지 못했다.
그러던 중 우아한테크코스를 지원하여 프리코스 과정을 진행하였다. 프리코스는 나에게 프로그래밍적으로 재미를 느끼게 해준 과정이었다. 이 과정을 통해 지금껏 내가 한 프로그래밍 학습보다 더 많은 것을 느낄 수 있었다. 그때 생각에는 말도 안되는 요구사항이지만 고민 끝에 해결하면서 큰 재미를 느꼈다. 그리고 프리코스를 통해 우아한테크코스가 개발자 박경철을 한 단계 성장시켜줄 수 있을거라 확신할 수 있었다.
이런 확신으로 오프라인 코딩테스트를 본 결과 우아한테크코스에 입과할 수 있었다. 집값, 물가가 비싼 서울에서 생활한다는 부담이 있었지만 부푼 기대를 안고 상경했다.
우아한테크코스
우아한테크코스는 자바를 기반의 백엔드 개발자를 양성하는 교육이다. 사실 18년 동안 자바와 스프링을 어느정도 학습했기 때문에 level1 때 기초를 학습한다고 했을 때 학습한 내용을 또 학습하는 것이 아닌가 걱정했었다.
하지만 이는 쓸데없는 걱정이었다. 들어는 봤지만 익숙하지 않던 TDD를 시작으로 테스트의 중요성, 페어 프로그래밍, 각종 디자인 패턴 등을 미션으로 학습하고 느낄 수 있었다. 특히 견고한 애플리케이션을 만들기 위해서 자동화된 테스트가 얼마나 중요한지 느끼고 작성해 볼 수 있는 시간이었다.
이렇게 level1을 시작으로 level2에서는 스프링과 JPA에 대해 알아 볼 수 있는 시간을 가졌다. 그리고 3주간의 팀 프로젝트도 있었다. 팀 프로젝트에서는 프로그래밍을 잘하는 것도 중요하지만 팀의 문화를 가꾸고 규칙을 정해서 팀의 생산성을 높이는 것도 중요함을 깨달을 수 있었다.
level3는 HTTP, Database, OS 등 인프라에 대해 많은 것을 공부할 수 있었던 시간이었다. DBMS가 쿼리를 실행하는 과정을 학습함으로써 쿼리 최적화하는 방법, 논블로킹 I/O가 성행하는 이유, HTTP와 웹 서버 등을 학습하여 서버 개발자로써 알아야 할 CS 지식을 쌓을 수 있었다.
마지막 level4 과정에서는 팀 프로젝트를 진행했다. 나는 우아한테크코스의 커뮤니티 사이트를 개발하는 팀에서 팀 프로젝트를 진행했다. 이번 프로젝트에서는 개발은 유저 도메인만 개발하고 CI/CD 프로세스를 짜는데 집중했다. 이번 프로젝트에서 CI/CD에 집중해서 한 이유는 우선 한 번도 해보지 않은 영역이었기 때문이었다. 따라서 CI 프로세스를 짜고 어떻게 서버를 구성할 지 인프라를 구축하는 경험을 하고 싶었다. 그리고 CI를 구축하여 팀원들이 개발에 집중할 수 있도록 만들고 싶었다. 결과적으로 CI/CD 프로세스를 구축하는데는 성공했지만 인프라적으로 아쉬움이 많이 남았다. 로드벨런싱, 도커 등 아직 많은 걸 공부해야함을 느꼈다.
이렇게 많은 학습을 한 것 이외에도 우아한테크코스에서 가장 큰 수확은 함께 학습하고 의견을 나눌 개발자 동료가 생긴 것이다. 덕분에 개발적으로 생각을 공유하고 같이 의지할 수 있었기에 더 많은 성장을 이뤘다고 생각한다. 함께 8개월동안 성장한 45명의 크루와 많은 것을 알려주신 코치님들께 이 글을 빌어 감사하다고 말하고 싶다.
그 외 활동
2019년은 교육이 주였지만 나름 굵직한 이벤트들도 몇개 있었다.
Angelhack
2018년은 취업을 준비하는 만큼 해커톤 같은 대회에 많이 참여하였다. 소셜임팩트해커톤, 멋쟁이사자처럼 해커톤, 다빈치 메이커 페스티벌,네이버 핵데이와 같이 많은 해커톤에 참여했었다 :)
다만 2019년은 해커톤 기회가 잘 없었을 뿐더러 학습에 집중하였기 때문에 거의 참여하지 못했다. 단 하나의 해커톤에만 참여하였는데 친구가 같이 나가자고 소개해준 Angelhack에만 이번년도에 참여할 수 있었다.
Angelhack은 후원사 별로 각종 챌린지가 주어진다. 2019 Angelhack에는 IBM, AWS, LG U+ 그리고 Angelhack 챌린지가 있었다. 각자 주제가 있었는데 나는 AWS 챌린지에 참여했다. 일단 참가만해도 100달러 크래딧을 받을 수 있다는 점과 AWS amplify 서비스만 이용한다면 자유주제로 참여할 수 있기 때문이었다.
단, amplify는 서버리스 프레임워크였기 때문에 빠르게 웹 프론트만 개발해야했다. 따라서, 이번 Angelhack에서는 React를 사용했다. React로 우울증환자를 위한 무드트래킹 서비스를 프로토타입형태로 개발하였다. 기획이 워낙 좋았기 때문에 결국은 AWS 챌린지를 획득할 수 있었다. 덕분에 AWS 키보드는 덤으로 획득할 수 있었다 !
여담으로 역시 해커톤은 아무리 기술력이 뛰어나더라도 결국은 기획이 중요하다는 것을 다시한번 느꼈다...
Angelhack이 끝난 후에는 심사위원분들 중에 우리 기획을 좋게 봐주신 덕분에 엑셀러레이터 분과 한번 이야기 할 수 있는 기회를 가졌다. 창업 의지가 있는지, 우리 서비스의 약점이 몇가지 예상되는데 방안이 있는지 등 현실적인 부분을 많이 말씀해주셨다. 투자심사역답게 비즈니스적으로 어떻게 생각해야 하는지를 한번 느낄 수 있는 자리였다.
Nexters
또 하나의 이벤트! 바로 개발자/디자이너를 위한 최고의 동아리 넥스터즈이다. 나는 15기로 참여하였고 컬쳐랜드 팀에서 문화생활을 모아주는 모바일 서비스인 COLUR를 개발하였다. PM으로 활동을 했지만 당시 교육이 좀 더 우선이었기 때문에 많은 힘을 쏟지는 못한 것 같아 팀원들에게 미안한 마음도 있다. 다만 2달 동안 우리의 목표를 위해 열심히 힘 써준 컬쳐랜드 친구들한테 감사인사를 보낸다.
기술적으로도 많은걸 경험할 수 있었던 프로젝트였다. 기획적으로 요구사항이 급박하게 바뀌고 추가하면서 다수의 API를 추가한 것. 그 과정에서 설계적인 고민을 많이 못한 점과 테스트 코드가 누락된 점이 굉장히 아쉬웠다. 개발자 모두가 같은 개발지식을 가진 것이 아니었기에 힘든 작업인것은 알지만 좀 더 강력하게 주장해서 코드 품질을 높였으면 어땠을까라는 아쉬움이 있다.
또한 모바일 애플리케이션 프로젝트는 처음 참여했다. 솔직히 웹 프론트와 큰 차이는 없었지만 이미지 관련 몇가지 이슈가 있었어서 역시 플랫폼 별로 차이는 존재한다는 것을 다시 한 번 느꼈다.
각종 컨퍼런스 참여
2018년에 컨퍼런스를 잘 알지 못했기 때문에 기회가 된다면 많은 컨퍼런스에 가고 싶었다. 덕분에 꽤 괜찮은 퀄리티의 컨퍼런스를 참여할 수 있었다. 다만, 모두 프론트가 주제인 컨퍼런스였다...
- 네이버 프론트엔드 테크콘서트
- 프론트엔드게임
- FEConf
위 컨퍼런스들이 내가 2019년에 갔던 컨퍼런스였다. 주로 사용하는 Spring 관련 컨퍼런스인 Spring Camp는 너무 늦게 알았어서 가지 못했으며 주요 IT 기업에서 진행하는 컨퍼런스들은 다 탈락했기 때문에 가지 못했다. (Deview, KaKao if, NHN Forward 등...)
다만 프론트에도 어느정도 관심이 있었던 만큼 양질의 정보를 얻을 수 있는 기회였다. 특히 주로 탐구하는 영역이 아니었기 때문에 오히려 그들이 관심갖고 있는 기술과 트렌드를 조금이나마 쫒아가는 기회였다고 생각한다. 2019년에 참여했던 컨퍼런스 덕분에 컨퍼런스 참여 목적이 무조건 내 영역의 기술적 심화를 위한 것이 아닌 전문 분야는 아니지만 관심 분야의 트렌드를 조금이나마 쫒는 용도로도 활용할 수 있음을 느낄 수 있었다.
아쉬웠던 점
항상 좋았던 것만 있는 것은 아니다.
건강관리
생각보다 건강관리를 못했던 한 해였다. 때문에 공부에 집중하지 못했던 기간도 있었어서 건강을 챙기는 것이 굉장히 중요함을 깨달았다.
특히 이번 한해는 목결림으로 인한 두통이 굉장히 심했던 해였다. 3월 한 달과 9월 중순부터 10월까지 목결림으로 인한 두통으로 학습이 많은 지장이 있었다.
또 이번 한해는 운동을 거의 하지 못한 해였다. 싸피를 다니기 전까지만해도 매일 1시간은 운동했었는데...
이번 한해는 영양제도 꼬박 챙겨먹고 운동도 열심히 하는 한해가 되도록 노력해야겠다.
블로그
2019년에 열심히 블로그 활동을 하려고 했지만 실패했다. 실패 이유를 나름 정리해보았다.
-
학습내용의 상당수가 책에서 얻은 내용
공식문서를 통해서 얻은 지식은 블로그에 작성하는데 문제 없겠지만 책 내용을 그대로 블로그에 담을 수는 없었다. 때문에 블로그 소재가 상당수 사라진 것이 주된 원인이 아닌가 생각한다.
-
시간(?)
이건 솔직히 내 의지의 문제가 아닐까? 블로그에 큰 비중을 두고 있지 않았기 때문에 블로그 작성에 드는 노력과 시간을 개인적 역량에 쏟았다고 생각한다. 때문에 개인적으로는 더 많은 시간을 프로그래밍에 대한 고민에 쏟을 수 있어서 나쁘지는 않다고 생각한다.
자기 합리화
이제는 프로그래밍 학습 및 설계 측면에서 개인적으로 생각하는 부분이 많아지고 있어 글감이 꽤나 나올 것으로 기대한다. 이런 내용들을 하나씩 정리하여 2020년에는 조금 더 풍성한 블로그가 되도록 만들고 싶다.
그리고 현재
현재는 교육을 지원해준 우아한형제들에 입사하여 약 한달째 다니고 있다 :)
이제 슬슬 회사에 적응되고 있는 시간인 것 같다. 힘들고 지치더라도 초심을 잊지않고 누구나 탐내는 개발자가 되도록 한걸음 나아갈 것이다.
어제보다 더 발전하는 내일을 위하여...!
'오늘 할일 ♬♪♩ > 끄적끄적 @.@' 카테고리의 다른 글
[도서 리뷰] 자바 웹을 다루는 기술 (저자 이병승) (0) | 2019.03.03 |
---|---|
멋사 6기 OT 후기 (0) | 2018.03.18 |
첫 글 (0) | 2018.03.15 |