2020년을 돌아보고 2021년을 목표를 다짐 하면서 작성한 회고록입니다.
지난 1년의 시간동안 경험 했던일을 정리하면서 작성해보았습니다.
최대한 타임라인대로 작성하였으나, 조금 차이가 날수도 있습니다.


2019년 회고 / 2020년 계획에 이은 두번째 회고 입니다.

1. 2020년 상반기

1.1 수습기간 끝, 정규직 시작

올초에 드디어 수습 기간이 끝났다. 수습 기간이 끝나니까 회사에서 제공하는 다양한 복지를 누릴수있었다.
제일 먼저 신청한건 체력단련비 지원이었다. 회사 건물 지하에 헬스장이 있어서 운동을 할수있었다.
헬스장에서 회사와 제휴를 맺어서 사원임을 인증하면, 할인된 가격으로 이용할 수 있었다.
같이 근무하는 대리님 두분과 운동을 했었는데, 운동을 원래 하셨던분들이라 많은 도움을 주셨다.

지금도 회사에 굉장히 만족하는 부분이 바로 아침 제공인데, 아침에 출근해서 탕비실에 쌓여있는 아침을 챙긴다.
입사초에는 김밥이었는데, 잠깐 샌드위치로 바뀌었다가 현재는 매일 메뉴가 바뀌는 도시락으로 업그레이드 되었다.
아침 얘기를 왜하냐면 운동할때 당시에, 점심시간에 운동을 했다. (본래는 회사주변 음식점에서 점심을 먹었다.)
그리고 점심은 운동이 끝난뒤 오후 2~3시쯤에 가볍게 푸드쉐이크나 단백질바 그리고 챙겨둔 아침을 먹었다.
현재는 거리두기로 인해 헬스장 이용이 불가능해 운동을 못하고 있다. 완화되면 다시 헬스장에 다니려고 한다.

1.2 지속되는 코로나 (Covid 19)

취업하자마자, 한두달이 지나고 코로나 바이러스가 퍼졌다. 그렇게 코로나는 우리의 많은것을 바꾸었다.
확진자 수가 급격히 늘어나기 전, 출퇴근 시에만 마스크 착용을 하고, 사옥 주변에서는 마스크를 벗고 다녔다.
공기가 정말 상쾌 했다. 근데 확진자 수가 급격히 늘어남에 따라 사옥 입구에 온도 측정기 가 설치되고,
마스크 착용이 의무화가 되었다. 근무중에도 마스크를 끼고 있어야 했는데 정말 답답했다.
그나마 다행인건, 마스크 대란때 사내에서 마스크를 무료로 제공해줘서 쾌적한 마스크를 낄수있었다.
지금도 가끔 마스크가 없거나, 예비 마스크가 필요하면 탕비실에 쌓여있는 마스크를 가끔 이용한다.

1.2.1 재택근무

Image Alt 텍스트
Image Alt 텍스트

확진자수가 급격히 늘어남에 따라 재택근무를 하게되었다.
나는 오히려 재택근무가 싫었다. 입사한지 얼마 되지 않아서, 이것저것 배우고, 조언도 듣고 해야하는데,
재택근무를 하다보면 업무 얘기 말고, 업무와는 관련없는 개발 얘기를 나눌 수가 없었다.
그래서 그냥 재택근무하면서 남는 시간에는 업무에 도움이 될수있는 개인 공부를 했다.
좋은 점은 시간과 교통비와 점심 값이 절약된다는 점이었다. 특히 출퇴근 왕복 약 4시간이 절약되서 좋았다.
하지만 회사에서 선배 개발자 분들에게 많은 얘기를 듣고 배울수 있다면, 교통비 점심 값은 아깝지 않았는데, 아쉬웠다.

1.2.2. 의사소통의 어려움

문제는 코로나 보다도 의사소통의 문제가 있었다. 사내 메신저를 통한 연락을 통해 업무를 처리하는데,
텍스트로만 전달을 하다보면, 의사소통의 한계가 있다. 일대일의 채팅에서의 소통의 어려움도 존재하지만,
특히나 단체 채팅방에서는 한마디씩만해도 어려움이 배가된다. 더이상 소통이 어려우면, 음성 통화을 사용 한다.
음성은 억양, 톤이 전달되어 텍스트 보다는 낫다. 하지만, 그래도 한계가 있다. 그래도 안되면 화상회의가 있겠다.
영상은 표정이 절달되고 제스처가 같이 전달되어 텍스트, 음성 보다 원활한 의사 소통이 가능하다.

협업 툴을 잘사용한다고 해도, 전달하려는 바를 제대로 못한다면 의사소통이 어려운 상황은 반드시 오기 마련이다.
개발을 잘하는것도 중요하지만, 거기에 더해 소통을 잘하면 잘할수록 나에게 득이된다는걸 정말 다시한번 깨달았다.
나혼자 처리가능한 업무가 아닌 협업에서는, 타인과의 의사소통이 잘된다면 원활한 업무처리가 가능하다.
내가 말하는 의사소통은 단순 말을 잘하고, 생각을 잘전달하고, 상대를 잘 설득하는것을 이야기 하는게 아니다.

사람에 맞춰 대화를 하는것이 중요하다. 사람마다 대화방식이 전부 다르다. 이에 맞춰 대화하는 법을 배워야 한다.

1.3 유닉스 그리고 vi

vi와 유닉스는 이전 포스팅 들에서도 찾아볼 수 있다. 아마 앞으로도 꾸준히 등장 할 것같다.
이야기에 앞서 C/C++ 개발할때, 개발환경이 윈도우라면 무조건 visual studio를 사용한다.
근데 리눅스에서는 선택지가 좀 다양해진다. vscode, vim, emacs, 최근에는 nano까지
그래서 무엇을 쓰는가 라고 물으면 vi, vim 을 사용한다. (vscode 를 가끔 사용하기도 한다.)

유닉스의 일부 장비에서는 vim이 없다. 대신에 vi가 있다. 따라서 방향키 및 백스페이스가 먹히지 않는다.
유닉스에서 vim 설치 하려고 하면, 각종 의존성 라이브러리 까지 싹다 같이 설치해줘야 되는데, 이게 참 답 없다.
그래서 리눅스에서는 몰라도 유닉스에서 개발할때 커서를 이동하려면, hjkl을 사용해야한다.

그나마 편리한 vscode의 remote ssh도 x86이 아닌 다른 아키텍쳐의 유닉스는 지원하지 않는다.
Power PC, SPARC, PA-RISC, Itanium 등등 의 서버 장비의 아키텍쳐들은 전혀 지원하지 않는다.
게다가 아키텍쳐는 지원을 하더라도, 운영체제가 다르면 지원을 하지 않는다. x86에 솔라리스 올리면 지원하지 않는다.
그런데 arm 프로세서에 리눅스 올리는 경우에는 지원한다. (라즈베리 파이의 데비안 기반 운영체제 라즈비안)
C/C++ IntelliSense 익스텐션은 arm에서 지원되지 않다가 arm Mac이 나올때쯤 부터 지원하기 시작했다.

따라서 이런 Linux/Unix 환경에서 개발을 계속 하려면 처음에는 답답해도 그냥 vi에 익숙해지는게 맘편하다.
믈론 회사가 아니면 개인이 유닉스를 쓰는 일은 없을 거라고 생각한다. 개인프로젝트 할때는 리눅스와 vscode 쓴다.
덧붙여 리눅스/유닉스 환경에서 C/C++ 프로그램을 개발할때는 아키텍쳐에 따라 다른 코드를 작성해야 한다.
유닉스 얘기를 하라면, 정말 하루종일도 할수있을 것같으니, 유닉스 관련 내용은 나중에 따로 포스팅 하기로 하겠다.

회사에서 지급 받은 키보드는 풀배열의 키보드였고, 당연히 방향키와 숫자 키패드 까지 존재했다.
사실 이미 이때부터 개발할때는 방향키는 거의 건들지 않고 사용했다. (문서 작업등에서는 방향키를 사용)
방향키 안쓰는게 어려울것같은데, 리눅스/유닉스에 ssh로 vi 사용해 개발하면, 방향키 그렇게 크게 필요없다.
그리고 f1~f12 키 역시 리눅스/유닉스의 cli 환경에서는 그렇게 크게 필요가 없다.

Image Alt 텍스트

그래서 결론적으로 어떻게 vi에 적응했냐가 중요할것같은데, 나는 이를 물리적인 방법으로 해결했다.
우선 물리적으로 키보드가 작아지면 좋은점이 있다. 바로 책상내 공간이 넓어져 공간활용도도 높아진다.
그런데 방향키 와 숫자 키패드를 물리적인 방법으로 자를수 없으니, 아예 64키 배열 키보드인 Anne pro 2를 샀다.
방향키가 없을 뿐더러, 방향키를 누르려면 fn 키를 같이 눌러줘야 하기 때문에, 강제로라도 hjkl를 적응해야 했다.

물론 이 키배열에 적응을 못할수도 있겠다 싶었는데, 이미 맥을쓰면서 맥의 키배열에 적응 했기에 역시 금방 적응했다.
최근에는 해피해킹(HHKB) 구입을 생각하고있다.

1.4 1일 1커밋 시작

1일 1커밋은 대학생때 부터 하려고 노력했던 것이다. 그리고 많은 개발자들이 하기에 나도 꼭 해보고 싶었다.
대학생때는 수업 시간 외의 나머지 시간이 많아서 개인적으로 공부할 시간이 많았다.
그때 최대 한달 넘는 기간동안 1일 1커밋을 했었는데, 4학년때라서 수업이 별로 없는것도 한몫 했다.
그래서 밤을 새서 개발을 하더라도 다음날 생활 패턴에 큰 무리가 가지는 않았다.

당연한 얘기지만, 취업을 하고 나니 시간이 대학생때 보다는 부족했다.
특히나 나는 출퇴근 거리가 거의 2시간 가까이 되기에 집에 도착하면 한밤중이 되므로, 더욱더 시간이 부족했다.
그러한 상황에서도 할사람은 할것이라고 생각했다. 시간이 부족해 할일을 못했다는 것은 핑계라고 생각한다.
수습 기간이 끝나고 바로 1일 1커밋을 시작했다. 즉, 3월달 부터 하루에 한번 무슨일이 있어도 커밋을 했다.
하루도 빠짐없이 하루에 한번 꼭 커밋을 계속 한게 지금까지 약 9개월간 계속 되었다.
만일 그날 회식이나 약속이 있다면, 꼭두 새벽에 알람 맞추고 일찍 일어나 커밋을 했다.

Image Alt 텍스트 하지만, 최근에는 공부를 하고 개발을 위한 개발을 하는게 아니라, 커밋을 하기위한 개발이 되어버렸다고 생각한다.
최근에는 정말 극심한 매너리즘에 빠졌다. 이유는 아마도 여러가지가 있겠지만, 가장 큰이유는 다음과 같다고 생각한다.
9월 달 부터 지금 회고를 쓰는 연말까지 대략 4개월 동안 거의 하루 이틀을 제외하고는 야근을 했다.

일이 많아서 야근을 할때도 있었지만, 일이 없어도 개인 공부를 위해서 자진해서 남아서 야근을 했다.
그렇다 보니 생활 반경이 집->회사->집 였고, 이게 몇개월간 이어졌다. 그렇다 보니 굉장한 스트레스를 받았다.
왜 스트레스냐면, 내 개인적인 시간이 없는것도 있지만, 나름 열심히 하는데 실력이 그만큼 안늘면 어떻게 하지..
이런 걱정을 많이 했다. 이렇게 한우물만 파는데 이게 내 무덤이 되는건 아닐까, 도태되는건 아닐까 고민을 많이 했다.
또 출퇴근 왕복 약 4시간으로, 야근을 최대 10시정도 까지 밖에 못한다. 10시가 넘어가면, 집오기 정말 힘들어진다.

블로그 마지막 포스팅이 9월 16일 인데, 그동안 포스팅 하려고 작성중이던 글들이 몇개나 있다.
그러나 작성중인 글을 업로드 하진 않았다. 완성되지 않는 채로 올리느니 차라리 안올리는게 맞다고 생각했다.
하나의 주제로 글을 쓰기 위해서 짧게는 한주 길게는 몇주가 걸린다. 깊은 내용을 다루려면 몇번이고 가다듬는다.
한개의 글을 쓰더라도 양질의 글을 전달하는게 지식을 전파 하는 목적으로써는 옳은 일이라고 생각하기 때문이다.
내가 바라는 것은, 블로그를 방문하는 분들이 양질의 정보를 얻어 갈수 있었으면 좋겠다는 생각을 가지고 있기 떄문이다.

커밋도 마찬가지이다. 의미없는 커밋은 실력향상에 도움이 안된다. 커밋을 위한 코딩은 그렇게 유익하지 않았다.
분명 얼마전까지만 하더라도, 열심히 작업후 커밋 메세지를 입력 할때면, 하루의 마무리를 짓는 기분이었다.
그리고 잠자리에 들기전에는 내일은 뭘 해볼까 하면서 생각하면서 잠자리에 들었다.
그런데, 얼마전부터는 오늘은 뭐하지… 라는 생각이 들었다. 번아웃이 온건지 휴식이 필요한건지..
게다가 1일 1커밋 중단 후기에서 보던 증상들이 남의 이야기 같지 않았다. 그래서 1일 1커밋 중단에 대해 고민 중이다.


2. 2020년 하반기

2.1 러닝 메이트의 입사

올해 회고에 꼭 쓰고 싶었던 분을 소개(?) 하려고 한다. 올 9월쯤에 입사하신 과장님 이다.
처음 만났을때는 반팔입고 다녔는데, 지금은 패딩에 목도리 까지 하고 다니는 계절이 되었다.
시간 참 빠른것같다. 길지는 않은 기간인 3개월 정도 같이 지냈지만, 정말 이런저런 애기를 많이 나누었다.
회사를 다니면서 마지막 분기의 3개월 동안 참 많은 변화가 있기도 했다.

Image Alt 텍스트 Image Alt 텍스트

지금도 궁금증이나 내가 경험해보지 못한 것들 그리고 어떠한 선택을 해야할때 과장님 의견을 조심스레 항상 여쭤본다.
나보다 많은 연차인데, 맘편히 대화를 걸수 있는 상대가 있다는건 큰 축복이다. 무엇보다 대화를 하면 배울게 많다.
내가 고민하는 문제를 이미 겪어보셨고, 해결한 경험, 실패한 경험치가 나보다 더 많으니까.
처음 겪는 문제라고 하더라도 나보다는 우아하고, 깔끔한 방향으로 풀어나가시기 때문이다.

특히 내가 이분과 대화를 좋아하는 이유는 따로 있는데 언젠가부터 암묵적으로 정해진 룰이 있기 때문이다.
바로 대화중에 무언인가 옳지 않다고 생각하는 의견은 상대가 기분나빠하지 않는 선에서 반드시 아니라고 하는것이다.
보통은 상대방과의 원만한 관계를 위해서 실제로는 그렇게 생각하지 않음에도 동의를 하는 경우가 많은데, 우린 아니다.
다만 반대되는 의견이라고 무조건 그러는것이 아니라 합리적이지 않거나 효율적이지 않은 경우 등이 해당된다.
이 룰이 어떠한 주장을 내세울때는 많은 도움이 되는데, 바로 반복수록 빈틈없고 완벽에 가까운 주장이 되기 때문이다.
내가 A를 주장 하기전에, 그주장에대한 상대방의 얘기를 듣고 부족한 근거를 채우고 보다 넓은 시선에서 바라볼 수 있다.
결과적으로 서로 의사소통 중에 자신의 주장의 부족한 부분은 인정을 하고 상대의 주장을 받아들이는것이다.

이러한 방식은 새로운 툴이나 방식을 도입하고 사용하려고 할때 좋은 결과를 불러다 주기도 했다.
같은 문제를 해결해나가기 위해 다른 시선과 다른 방식으로 접근한다는건 정말 좋은 것이라고 생각한다.
혼자서 문제를 해결하다보면 늘 같은 시선과 방식만 고수하게 되어 자칫 잘못하면 발전이 없을수도 있기 때문이다.
그래서 평상시에도 자주 아이디어 회의 및 팀간 회의때 건의할 내용을 미리 정리하면서 회의 준비를 하기도 한다.
예정대로라면, 이분은 2021년 회고에도 등장하실 예정이다.

2.2 ICT 인턴십 수기 공모전 우수상 수상

작년 하반기에 참여했던 ICT 인턴십.. 근무중에 관련 기관에서 보낸 메일을 읽었다.
수기 공모전을 여는데, 참여해달라는 메일이었다. 당연히 안되겠지 하고, 마음을 접었다.
(그때 회사는 여러므로 이것저것 바뀌었기 떄문에 혼란스러웠던 시기여서 매우 바빳다)
근데 메일이 두번 세번 왔다. 그래서 한번 해볼까 라는 생각이 들었다. 무엇보다 최우수는 50만원이었다.
내가 사회에 첫발을 내딧던 그당시의의 생각 고민들과 경험을 공유하고 싶다는 생각이 들었다.

양식을 다운받기전에는 하루이틀이면 작성 할수있을 거라고 생각했는데, 다운받고 보니 분량이 7장 정도였다.
진짜 야근하고 집와서 두세시간 공모전 수기 작성하고, 자고 난 다음 출근하고, 이게 거의 일주일 이어졌다.
이때 진짜 거의 누가 툭치면 기절할것같았다. 이렇게 고생한 결과일까… 점심 먹고 커피 마시는데, 전화가 왔다.
결과는 우수상이라고 했다. 우수상인데 왜 전화하시나 싶었는데, 수상식에 참여하여 발표를 해달라는 전화였다.
평가 순위 3위까지 발표한다고 하셨고, 난 2등이었다고 한다. (좀만 더 열심히 했으면… 하고 후회 했다)

Image Alt 텍스트

상금은 30만원(세전…)을 받게 되었다. 문제는 발표인데, 처음에는 약 15분 가량 준비를 해달라고 하셨다.
그래서 공모전 수기 작성할때 패턴과 동일하게 발표자료를 일주일 동안 준비했다.
근데 코로나가 재확산 되면서, 수상식을 간소화 한다고 해서, 발표 시간을 5분내외로 줄여달라고 했다.
그래서 진짜 공들여 만든 발표 자료를 줄이고 줄였다. 하고 싶은 말이 많았는데 5분내로 축약하다 보니 빼먹은게 꽤 된다.

원래는 저녁 식사까지 예정이 되어있었다고 했는데, 코로나로 인해 취소 되고, 던킨 도넛을 챙겨 주셧다.
난 차라리 도넛이 더 좋았다, 낯을 가리기도 하고, 꽤 엄숙한 자리라 어려웠다…
다들 한껏 차려입고 단정하게 입고왔는데, 나는 내가 좋아하는 네셔널 지오그래픽 맨투맨에 외투 대충 걸치고 갔다.
아마 회사에서 정장입고 다니라고 하면, 나는 바로 퇴사하지 않을까 싶다. (복장은 편한게 최고라고 생각한다.)

2.3 알고리즘 공부 (Problem Solving)

올해 하반기에 알고리즘 문제를 좀 열심히 풀었던것같다. 하루에 1~2개 많이 푸는 날은 3개 까지 풀었다.
알고리즘 문제 풀이를 위해서, 아이패드와 애플 펜슬을 구매했다. 넷플릭스, 유튜브는 절대 보지 않기로 다짐했다.
연필, 볼펜으로 적어두어도 되지만, 이를 애플 펜슬로 좀 더 이쁘게 정리해서 저장해두자는 의미였는데,
정신없이 풀다보니 거의 낙서장 수준이 되었다. 적을때는 분명 알아먹게 적었는데, 시간 지나면 알아 먹을 수가 없다.
최근에는 하나둘 조금씩 이쁘게 정리해두고 있는데, 시간 지나 봐도 정리가 잘되어있어 뿌듯하다.

문제는 주로 DFS, BFS, 그래프 등을 많이 풀었다. 다만, 취업을 위한 코딩 테스트 공부는 아니었다.
최근에는 코딩테스트는 개발자 채용프로세스에 거의 포함되어있다. 어려운 문제를 푸는 뛰어난 인재를 채용하겠다.
라는 것보다는 적어도 코딩을 할줄 아는 사람을 뽑자라는 취지가 큰것으로 알고있다.
그래서 정말 어려운 문제보다도 공부를 어느정도 하면, 풀수있는 문제들이 주로 출제되는 걸로 알고있다.

공부방법은 문제를 풀기전에는 이론 부터 공부한다. 보통은 자료구조 부터 공부하시는 것 같다.
대부분은 학부생때 전공 과목중에 자료구조/알고리즘이 있어 따로 기본기를 다지지는 않아도 될것같다.
그리고 문제를 푼다. 푸는 도중 안풀리는 문제는 다른분들의 블로그를 본다. 단, 절대 코드를 보지 않고, 해결과정만 본다.
다만, 왜 이렇게 해결해야 하는가?를 생각한다. 이부분에서는 많은 시간을 소모해도 좋다.
그리고 해결 과정없이 풀이 코드만 있는 블로그는 바로 뒤로가기를 누른다. 물론 코드를 보는것도 도움이 될 수 있다.
하지만 문제를 풀기전에 바로 코드를 봐버리고 정답을 알아버린다면, 컨닝과 다를바가 없다고 생각한다.
물론 정답을 맞춘뒤, 메모리, 시간을 단축시키기 위한 코드 분석은 좀 얘기가 다르다.

우리는 문제 해결하는 방법을 배워야지, 단순 구현 만을 쫓는 사람이 되어서는 안된다. 우리는 코더가 아니다.   

보통 해결과정을 보다가 중간에서 깨달음을 얻고 오!를 외치고 바로 빡코딩 들어가는 경우가 많을것이다.
접근법이 나와 비슷하면, 거기서 해결과정 읽는것을 끝내고 나의 방식으로 될때까지 푼다.
이렇게 어려움을 겪을때 자그만한 힌트를 얻어나가면서 문제 해결해 나가는 방법을 배우는게 중요한 것 같다.
만일 접근법이 다르면, 같은 접근법이 나올때까지 검색한다. 그러다가 비슷한 접근법이 나오면, 위의 과정을 반복한다.
그래도 비슷한 접근법이 안나오면 내 접근법이 왜 틀렸는지를 분석한다. 그리고 다른 접근법으로 문제를 풀어본다.

왜 올바르게 작동하는가?도 중요하나, 왜 작동안되는가? 또한 상당히 중요하다. 이부분에서 역시 많은 시간을 소모해도 좋다.
특히 제출 전에는 반례는 직접 작성하지 않고 테스트 케이스를 찾아본다. (반례를 생각해보는 것 역시 도움이 될수 있다.)
일부를 제외하고 반례는 알고리즘의 치명적인 문제라기 보단 코딩 실수 같은 사소한 이유인 경우가 많다.
하지만, 정말 생각지도 못한 반례는 때로는 정말 많은 가르침을 주기도 한다.
그리고 알고리즘 공부는 앞서 말한 취업을 위한 코딩테스트 대비는 아니었다. 이유는 다음과 같다.

1. 근무중 남는 점심시간, 퇴근 전후 등 비교적 짧은 시간을 투자해서 할수 있는 일이 알고리즘 풀이였다.
2. 개발자는 프레임워크, 툴에 익숙해서 잘 사용하는게 전부가 아니다. 문제를 해결하는 능력이 제일 중요하다.
3. 몇날 몇일을 고민하던 문제를 풀어 냈을때 얻는 성취감은 그 무엇과도 바꿀수가 없다.

모든 요소가 중요하지만, 꾸준하게 하려면 무엇보다도 3번이 가장 중요한 것 같다.

코드 제출 후에는 코드를 남들이 볼수있게 설정이 가능한데, 가끔 몇명이 내 코드를 본다는걸 알수있었다.
남에게 보여주기 싫다면 비공개로 해도되지만, 난 공개 하도록 설정 해두었다.
이유는 다른 사람이 내코드를 본다고 생각하고 짜면, 코드를 작성할때 좀 더 깔끔하게 작성 하려고 노력하기 때문이다.
코드 제출하고 답이 맞아야만 남의 코드를 볼수있기에, 아마도 나보다 얼마나 잘짰냐 하고 보는걸텐데,
난 다른 사람이 내 코드를 보고 이 사람 좀 잘 짰네 라는 소리가 나오도록 짜고 싶다.

Image Alt 텍스트 Image Alt 텍스트

당연한 얘기지만 알고리즘 공부할때는 문제 접근법, 시간, 메모리 사용량등 골려해야 할 사항이 한두개가 아니다.
알고리즘을 정말 잘푸는 분들이 너무나도 많다. 다른 분들이 푼 코드를 보다보면 스스로가 비참해질 때가 많다.
그래서 알고리즘 공부에 대한 조언 글을 보다보면 항상 적혀 있는 말이 두개가 있다.
한문제를 풀어도 제대로 풀어야 한다 라는 말과 꾸준하게 라는 말이다.

문제를 많이 푸는 것이 중요할 수도 있다. 그러나 한문제를 풀더라도 제대로 풀줄 알아야한다.
그리고 꾸준하게 푸는게 중요하다. 노력은 배신하지 않는다. 꾸준함은 나를 성장 시켜줄 가장 확실한 방법이다.
그래서 많은 분들이 블로그에 풀이, 해설 등을 올리시던데 나도 블로그를 이용해서 기록해두는 습관을 들이고 싶다.
이렇게 글을 쓰고 보니 무슨 자격으로 이렇게 글을 썼나 싶다. 아직은 나도 한참 공부하는 입장인데 말이다.
결론적으로 계속해서 열심히 알고리즘을 풀어봐야 겠다.

2.4 세미나

2.4.1 C++ Korea 2월 미니 세미나

코로나가 그렇게 심하지 않았던때 열린 오프라인 세미나 였다. 미니 세미나 여서, 두개의 세션과 라이트닝 토크가 있었다.
세션의 주제는 게임서버 최적화 관련 발표와 redis 프로그래밍에 대한 발표였다.
두개의 발표 모두 발표자 분들 경험에서 우러러 나오는 얘기를 많이 해주셨던 기억이 있다.
개인적인 사정으로 2개의 세션만 듣고 이후 일정은 참가하지 못하고 나왔다.

2.4.2 C++ Korea 7회 세미나

7월의 세미나는 코로나로 인해 온라인으로 열렸다.
마지막으로 들은 정규 세미나가 4회 였고, 그동안은 학교에 다니느라 7회는 게임 개발 관련내용이 많았다.
세미나 주제에 게임 개발이 들어갔던 걸로 기억한다.
총 4개의 세션으로 진행이 되었고, 발표자 분들 모두 게임 업계 종사자다 보니 게임 얘기가 많이 나왔다.
게임업계에 종사하고 있지는 않지만, 게임서버에 관련 경험들에대해 이것저것 들을수있어서 정말 좋은 세미나였다.

2.4.3 우아한 테크 콘서트

전국민이 사용하는 서비스인 배달의 민족 개발자들의 이야기를 들을수 있었다.
단기간에 매출, 트래픽이 급상승하면서 겪은 문제점과 문제들을 풀어나가는 배민의 해결방법 등을 들을 수 있었다.
역시 전국민이 사용하는 서비스는 트래픽, 데이터가 부터가 어마무시하다는것을 깨달았다.
말로만 들어도 오싹한 수치를 보면서, 저정도 트래픽이 발생하는 서비스를 유지하는 개발자들이 대단해 보였다.
말그대로 달리는 자동차의 바퀴를 바꿔끼우는 일은 정말 쉽지 않다는것을 알 수 있었다.

모르는 내용이 많았다. 기회가 되면 다른 언어도 계속 공부해야겠다.

2.5 이직

올해 하반기에는 계속 이직 준비를 했다. 잘다니고 있는 직장을 놔두고 왜? 라는 궁금증을 가질 수 있을 거라고 생각한다.
이직을 하는데에는 많은 이유가 있겠지만, 내가 이직하려는 이유는 좀 더 좋은 환경에서 개발을 하고 싶어서 였다.
지금 회사에 계속 있는것도 나에게 도움이 될지도 모르겠다. 근데 그렇게 안일하게 생각하고 싶지않다.
조금이라도 더 성장을 돕는 환경을 만들기 위해 노력할 것이고, 보다 더 나은 환경으로 이직하려고 노력할 것이다.

이직을 하면서 보게 되는것들은 사람 마다 모두 다르겠지만 내가 가장 중요하게 보는 요소는 딱 하나다.

이직 성공을 실력 향상의 절대적인 지표로 볼수는 없다.
하지만 규모있는 회사에 채용 프로세스를 밟아보는건 많은 경험을 하게 해주었다.
특히 규모가 큰 기업일수록 축적된 노하우가 있고, 체계가 확실 한것을 많이 느꼈다.
지원했던 기업들을 모두 나열할 수는 없지만, 당연히 내가 제일 좋아하는 C/C++을 사용하는 회사에 주로 지원을 했다.
뿐만아니라, 가끔은 파이썬, 자바 를 사용하는 기업에도 지원했다.

결과적으로, 2020년 이직은 실패로 끝났기 때문에, 지금 회사에 잘 다니고 있다.
실패의 원인이 어차피 이직에 실패해도, 지금 회사가 있는데 뭘... 이런 마음가짐 때문은 아니다. 실력이 부족했다.
최종 면접에서 탈락한 경우도 있고, 서류에서 탈락을 하게된 경우도 있고, 코딩테스트에서 탈락을 한 경우도 있었다.
결과적으로 이직에는 실패했지만, 배운게 없는것만은 아니다. 이직하려고 더 이악물고 공부하기도 했고,
면접을 여러번 보면서 다양한 개발자 분들과 좋은 대화도 나눌 수 있었다.

반복되는 실패가 두려운 점은, 실패도 습관이 된다는 것이다. 성공하는 습관을 들이고 절대 실패에 적응하지말자

기회는 준비된 자에게 온다고, 열심히 준비를 하다보면 나에게도 기회가 오지 않을까 하는 생각이다.
이 내용은 얘기 하고싶은게 많아서 따로 포스팅 하려고 써둔 글이있어서 추후에 업로드 하도록 하려고 한다.


3. 2021년 계획

3.1 첫번째 계획

취업하면 제일 해보고 싶었던 것은 바로 스터디 혹은 팀프로젝트였다.
대학생때부터 스터디를 하고 싶었지만 학교가 지방에 있어서 스터디를 하기가 쉽지가 않았다.
취업하고 이제 막 스터디를 해보려고 탐색하던 시점에 거짓말 처럼 코로나가 찾아왔다.
대부분의 스터디에서는 코로나로 인해 오프라인 모임을 대신해 온라인으로 진행한다는 소식도 볼수있었다.
그리고 신생 스터디의 경우 아예 온라인으로 진행된다고 하는 소식도 보았다.

근데 그래도 어떻게든 마음만 먹으면 할 수 있지 않나? 라고 할 수있다. 근데 가장 중요한 문제는 코로나가 아니었다.
막상 스터디팀에 들어가려고 모집 관련글을 보다보면 대부분이 웹 프론트/백 엔드 스터디 혹은 알고리즘 스터디였다.
게다가 스티디의 구성원들이 대부분 취준생 분들이었고, 목표는 취업을 위한 포트폴리오 혹은 코딩테스트 준비였다.
아무래도 회사에 다니고 있다보니, 주로 진행되는 시간대인 평일 낮 시간대에는 참석이 어려워서 할 수 없었다.
그리고 알고리즘은 지금도 꾸준히 풀고있어서 그냥 혼자 계속 꾸준하게 공부하는게 좋다고 생각했다.

결론적으로는 코로나가 지속될 것 같아서 온라인 동영상 강의를 수강 하거나, 또다시 혼자서 공부해야 할 것 같다.

3.2 두번째 계획

취업하고 가장 아쉬운 것은 기술 서적을 읽는 횟수가 매우 줄었다는 것이다.
책을 읽더라도 필요한 부분만 찾아 읽는 정도였다. 대학생때는 도서관도 많이 다녔었는데 말이다.
물론 대학생때는 입문서를 많이 보기도 했고 그때그때 흥미에 따라 일고싶은 책을 읽었고 무엇보다 시간이 많았다.
지금은 깊이가 있는 서적을 읽기 때문에 페이지를 빠르게 넘기기가 힘들기도 하고 시간을 내서 책을 읽어야 한다.
그리고 취직후 학습의 목적이 빨리 배워서 실무에 사용해야하므로 필요한 부분만 찾아 학습하기 때문인 이유도 있다.
요즘은 주로 필요한 정보를 빠르게 찾기 위해서 주로 구글을 통해서 많은 것을 배우는 편이다.

학습방법의 비율이 책보다는 구글 검색이 높아진것도 있지만 책을 읽는 행동 자체는 확실히 줄어들었다.
기술 블로그를 운영하는 개발자분들 중 종종 책을 읽고 블로그에 후기를 올리시는 분들을 자주 본다.
후기를 쓰시는것도 대단하지만 시간내서 책을 읽으시는 것 자체가 매우 대단한 것이라고 생각한다.
아직 내 블로그에는 책 후기는 하나도 없다. 그래서 새해에는 나도 책을 읽고 후기글을 써보려고 한다.
출퇴근 시간이 길다보니 그 시간을 이용해 독서를 해보려고 한다. 계획은 1달에 한권씩 읽는 것이다.

3.3 세번째 게획

대학생때가 그리운 점은 무엇보다도 여유 시간이 있다는 것이었다. 하고 싶은게 있으면 할 수 있는 기간이었다.
시간이 많기도 했지만 마음의 여유가 있었다는 생각이 든다. 실패하더라도 좋은 경험이었다고 생각 할 수 있었다.
이 이야기를 하는 이유는 학생 시절에는 새로운 언어를 배우는것이 그렇게 어렵게 느껴지지 않았다.
해보고싶은게 있으면 좀 찾아보고 바로 공부를 시작했었다. 그런데 취업하고 새로운 언어를 공부를 소흘히했다.
학생 시절엔 주변에 새로운 언어를 공부하는 사람들이 있었다. 그래서 많은 자극을 받아서 더 열심히 공부했다.

지금은 최신 트렌드, 최신 언어를 찾아보는 것은 꾸준히 하는 편이다. sns와 개발자 커뮤니티를 통해서 말이다.
내가 가장 자신 있어하는 언어는 C/C++ 이고 파이썬이 그다음이다. 자바, php등은 조금은 할 줄 알고 있다.
파이썬을 제외하면 근래에 인기있는 언어는 아니다. 그래서 새로운 언어 학습이 정말 절실히 필요함을 느꼈다.
내가 선정한 배워볼 만한 언어는 자바 스크립트(node js), go 정도 되겠다. 새로운 언어를 하나는 꼭 해봐야 겠다.
그리고 aws, 도커와 같은 개발 언어가 아닌지만 현업에서 많이 쓰이는 것들도 공부를 해야 할 것 같다.

3.4 기타 계획

  1. 건강관리 (운동 및 식단 관리)
  2. 블로그 관리 (꾸준한 포스팅)
  3. 독서 (1달에 한권씩)
  4. 취미 및 문화생활