- 다양한 주제에 대해 자유롭게 글을 작성하는 게시판입니다.
Date 24/04/09 14:57:25
Name   kaestro
Link #1   https://kaestro.github.io/%EC%8B%A0%EB%B3%80%EC%9E%A1%EA%B8%B0/2024/04/01/%EC%A7%80%EB%82%9C-3%EA%B0%9C%EC%9B%94%EC%9D%84-%EB%8F%8C%EC%95%84%EB%B3%B4%EB%A9%B0.html
Subject   지난 3개월을 돌아보며 - 물방울이 흐르고 모여서 시냇물을 만든 이야기

목차



  • 서론 - 짧고 굵었던 3개월

  • 초반 - 물줄기 만들기

    • 시스템을 통해 일정 세우고 습관 만들기

    • 내가 일기를 가장 먼저 습관화하려 했던 이유



  • 중반 - 무작정 부딪히기

    • 다양한 채용 과정 경험

    • 너는 아직 준비가 안됐다



  • 후반 - 방향 설정하기

    • 내가 일하고 싶은 환경

    • 방향 설정 이후의 결과



  • 시냇물이 강줄기가 되도록

  • 참고자료




서론 - 짧고 굵었던 3개월


다시 프로그래머로 일하고 싶다고 마음 먹고 구직을 시작한 지 3개월이 지났습니다. 제가 프로그래머로 다시 일하고 싶다고 생각한 이유가 끊임없이 새로운 것을 배우는 것을 좋아하고 그런 환경에서 일하는 직업이라 생각했기 때문인데, 이번 3개월만 해도 제가 기대한 것보다 훨씬 더 많은 것들을 배울 수 있었네요.


비록 최종 목표인 취업까지 도달하지는 못했습니다만, 여기에서 발걸음을 잠깐 멈추고 여태까지 걸어온 발자취를 한 번 돌아보면서 여정을 회고한 뒤 앞으로의 흐름에 대해 구상해보려 합니다. 마침 제가 직전에 지원한 회사에서 최종 면접을 마무리하면서 여기까지가 제 구직의 첫 장을 끝맺을 시점이라는 생각도 들었고 말이죠.




초반 - 물줄기 만들기


이번 구직 기간 이전까지 학원 강사나 일용직 아르바이트 등의 일은 했지만, 오랫동안 멈춰있던 프로그래머로써의 기어를 다시 움직이려면 몸에 배어든 습관에서 벗어나 새로운 흐름을 만들어야겠다는 생각을 했습니다. 아무래도 손에서 놓은 공부도 다시 집어들어야하고, 그러려면 이전보다 높은 생산성을 회복할 필요가 있었기 때문입니다.


저는 새로운 흐름을 만들려면 새로운 시스템과 습관이 필요하다 생각합니다. 원래 시스템에 노출된 상태에서 행동만 바꾸려하면 기존으로 복귀하기 쉽고, 이런 중력을 거스르는 것은 굉장한 인내력을 소모해서 오래 지속하기 힘들기 때문입니다. 그래서 새로운 시스템을 통해 어떤 상황에서도 프로그래밍과 관련한 행동에 큰 노력 없이 자연스럽게 노출되는 환경을 우선적으로 만들었습니다. 이를 위해 가장 먼저 세운 습관은 명상과 운동, 하루 일정 수립, 그리고 일기 쓰기였습니다.


시스템을 통해 일정 세우고 습관 만들기


일정을 세우기 위해서 여러 어플리케이션을 사용해 본 후에 'TickTick'을 이용하기로 결정했습니다. 제가 가지고 있는 전자기기인 태블릿, 핸드폰, pc 간에 동기화 지원이 잘 되기 때문에 어떤 상황에서도 일정을 확인하고 리마인드 받기 용이했기 때문입니다. 인터페이스가 중간에 계획을 수정하고 정리하는 것이 편리했던 것도 한 몫 했습니다.


또한 진척을 추적하고 평가하는 것이 용이하단 것도 큰 장점이었습니다. 해당 어플리케이션에서 지원하는 pomodoro를 이용하면 하루에 집중 시간 측정이 가능해서 하루 동안 어느 정도로 생산적인 활동을 했는지 정량적으로 평가가 가능했습니다. 여기에 더해 습관 기능을 통해 반복적인 일정을 자동으로 수립하고 진행을 추적하는게 가능했습니다.


2월 마지막 주
습관 예시


내가 일기를 가장 먼저 습관화하려 했던 이유


이 때 가장 우선적으로 습관화하려 했던 것은 아침에 명상하고 일정을 세운 뒤 아침 운동을 하고, 하루가 끝나면 일기를 통해 진척을 정리하는 것이었습니다. 그러게 된 계기는 조승연의 탐구생활에서 다음 영상을 보게 된 것이었습니다.


해당 영상에서 뇌과학자인 장동선 박사께서는 기억은 다음의 3단계로 이루어진다고 말합니다.


1. 부호화
2. 저장
3. 인출

여기서 핵심은 인출입니다. '우리는 흔히 카메라처럼 기억을 한다고 생각하지만, 사실은 영화 감독처럼 기억합니다.' 이 때문에 내가 내 삶에 있어서 어떤 기억을 남기느냐 하는 것을 잘 하려면 스스로의 기억을 찍는 영화 감독으로써 주도적으로 노력해야한다고 장동선 박사는 주장합니다. 그리고 그 예시로 조승연 작가가 초등학교 시절 집으로 가는 뒷골목을 무섭고 허름한 할렘가로 기억하던 트라우마를 깨기 위해 다시 방문했는데, 골목이 깨끗한 한강의 나들목이 된 경험을 이야기합니다.


이처럼 만약 힘들고 고생했던 경험이 있다면 이를 잊으려고 하는 것은 오히려 본인을 괴롭게 할 가능성이 높다고 합니다. 안 좋은 기억을 끄집어내지 않고 없애려는 노력은 그 기억을 없애기보다는, 어디에도 내 삶의 이야기로 붙지 못하고 조각으로 남아 나를 힘들게 하게 되는 경우가 많기 때문입니다. 장동선 박사는 이 때문에 아픈 기억이더라도 이를 다시 꺼내서 여기에 의미를 부여하고 다시 저장하는 과정이 내 스스로의 정신 건강에서 나을 수 있다고 이야기합니다.


요약하자면 다음 두가지를 실천하자는 것입니다.


1. 안좋은 기억은 다시 꺼내서 그 기억의 무서움과 두려움을 약화시켜서 저장한다.
2. 정말 아름다운 추억은 그것에 대한 감사함과 같은 긍정적인 감정을 더해 저장한다.

이를 실천하기 위한 방법으로 저는 일기를 통해 매일의 경험을 꺼낸 다음에, 감사와 함께 스스로에 대한 힘내라는 용기를 덧붙여 저장하고 있습니다. 그 덕분인지 많은 거절과 실패를 겪고 있음에도 좌절하지 않고 새로운 흐름을 만들 수 있었습니다.




중반 - 무작정 부딪히기


이제 프로그래머로써의 기어가 다시 움직이기 시작하고 새로운 흐름이 만들어졌긴 했지만, 문제는 이 물줄기의 행선지가 정해져있지 않았다는 것이었습니다. 그렇다고 첫 구직 때처럼 단순히 알고리즘과 면접 때 나올 법한 cs 지식들을 공부하면서 충분한 준비가 됐다고 생각할 때까지 기다린 뒤에 지원을 하고 싶지는 않았습니다. 그래서 이번에는 무작정 부딪히기로 결정했습니다. 그럴 방법으로 선택한 것은 지원 공고가 올라온 회사들 중에서 제가 지원 조건을 만족하는 회사들에 전부 지원하는 것이었습니다.


지원 기록 일부 예시


다양한 채용 과정 경험


무수한 서류 탈락도 경험했습니다만, 운이 좋게도 통과한 경우에는 이후 전형에서 다양한 것들을 요구받았습니다. 가장 흔한 코딩 테스트부터 시작해서, 특정한 상황을 가정하고 그에 맞는 해결을 제시하라는 과제나, 웹 서버의 REST API를 설계하고 구현하기를 요구받기도 했습니다. 이런 과정들에서 요구하는 능력들은 대부분 제가 갖추지 못했던 것들이었어서 도전적이었고 진행하는 과정에서 많은 것을 배울 수 있었습니다.


과제 없이 바로 면접을 진행하는 경우도 많았습니다. 이 과정을 통해서 회사에서 원하는 사람은 누구인지, 동시에 내가 그 사람들의 입장이었다면 어떤 사람과 일하고 싶을지에 대해 생각해볼 수 있었습니다. 가장 인상 깊었던 면접은 중간에 면접관께서 친절한 선배가 조언해 주듯이 다음 이야기를 해 주셨던 경험입니다. '나는 네가 마음에 들지만 아마 채용하지는 못할 것 같다. 그건 네가 말을 잘 못하기 때문이다. 이 부분을 고민해보고, 기술 블로그나 깃헙을 통해 프로젝트를 진행해서 이력서를 보완하는 게 좋을 것 같다.' 라는 제가 찾고 있던 현재 제 문제와 방향성에 대한 제안이었습니다.


그 이후로 제가 면접에서 갖춰야 할 자세가 부족한 부분이 많고 어떤 것인지에 대해 되돌아 볼 수 있었고, 이를 통해 더 나은 대화를 하기 위해 노력했습니다. 대표적으로는 데일 카네기의 '인간 관계론'을 읽고 면접이나 일상 대화에서 상대와 더 좋은 대화를 나누는 방법에 대해 고민하고 적용했습니다.


여기에 더해, 많이 미흡하고 부족한 점이 많았지만, 기술 블로그와 깃허브 레포지토리로 새로운 프로젝트도 시작했습니다. 이후에는 면접을 볼 때 이와 관련된 이야기를 하면서 좀 더 주도적으로 대화를 이끌어 나갈 수 있었고, 덕분에 제가 모자란 지점을 파악하기에도 용이했습니다.


너는 아직 준비가 안됐다


물론 가장 부족한 것은 프로그램을 구현하는 기량이었겠지만, 그 외에도 굉장히 다양한 능력과 고민의 결핍을 절감할 수 있는 시기였습니다. 다른 사람과 소통하는 능력, 자신을 표현하는 능력, 내가 하고 싶은 일은 무엇인가와 함께 일하고 싶은 사람은 누구인지에 대한 고민 등 많은 질문을 가지게 되고 이에 답하면서 다양한 역량을 키우고 스스로를 돌아볼 수 있었습니다. 새삼 내가 이런 부분들이 미흡한데 용케도 첫 직장을 구했었구나 싶은 생각도 들었습니다.


이런 결핍들을 해소하기 위해 많은 책을 읽고, 사람을 만나고, 이를 글을 통해 질문하고 대답하면서 정리하려고 노력하고 있습니다. 돌아보니 제가 지난 3개월 간 읽은 책이 기록해 둔 것만 70권이 넘었네요. 이는 제가 지난 10년간 읽은 책 수보다도 많은 양입니다. 면접은 세기를 포기했지만 못 해도 20번 가량은 보지 않았을까 싶습니다. 여기에 더해 현재 분야에서 벗어나는 이야기도 듣고 싶어 한동안 만나지 못했던 친구들에게 연락했고 이를 흔쾌히 받아준 친구들 덕분에 많은 이야기를 들을 수 있었습니다.


이런 노력들을 통해 많은 것을 배우고 있는데도 계속해서 모자란 것이 눈에 더 보이니 그야말로 '너는 아직 준비가 안됐다, 그것도 아주 많이'라고 밖에 할 수 없을 것 같네요. 다만 제가 할 수 있는 일은 이 밑 빠진 독이 채워지진 않더라도 그 안에 부스러기가 지나간 흔적이라도 남겨 변화하도록 노력하는 것이기에, 하루하루를 충실하게 보내려 하고 있습니다.




후반 - 방향 설정하기


여러 경험을 하면서 제가 체감한 부족한 것들 중 핵심은 제게 방향성이 없다는 것이었습니다. 구직을 시작하면서 가장 먼저 읽은 책인 '프로그래밍 면접 이렇게 준비한다'에서 한 첫 문구가 '구직을 시작하기 전에 너 자신을 알라'였던 것은 다시 봐도 정말 도움이 많이 되는 조언이었습니다.


그래서 이번 구직 기간은 직업 탐색인 동시에, 자신에 대해 되돌아보는 소중한 시간이었습니다. 그리고 이 과정을 통해 다음과 같은 기준으로 방향을 설정하게 됐습니다.


내가 일하고 싶은 환경


제가 세운 기준은 다음과 같습니다.


1. 백엔드 개발자로 일하고 싶다.
2. 지속적인 유지보수에 관심을 가진 환경에서 일하고 싶다.
3. 여러 사람이 소통을 통해 서로의 생각을 공유하고 발전하는 환경에서 일하고 싶다.

위의 기준을 세운 이유는 다음과 같습니다.


우선 현재 제가 가장 경쟁력 있고, 관심있는 분야가 백엔드 개발입니다. 짧게나마 해당 분야에서 경력을 쌓아본 적도 있고, 다양하면서도 나날이 감당하기 힘들만큼 발생하고 있는 데이터들을 어떻게 처리하고 저장하는지에 대한 이야기들은 가슴이 설레고 재미있습니다.


이 분야에서 선두 주자 중 한 명인 구글의 이야기를 한번 볼까요? 최초에 page rank 알고리즘을 기반으로 구글 매트릭스를 통해 혁신적인 검색 서비스를 구글은 제공했습니다. 그 때에도 엄청난 기존에 다루는 것보다 큰 규모의 데이터를 다루기 위해서 새로운 방식이 필요했었는데, 지금은 거기에서조차 벗어나 무시무시하게 데이터 규모가 성장하고 있고 이 속도를 기기는 따라잡지 못하고 있습니다. 그리고 이를 다루기 위해서 백엔드 개발자는 온갖 노력을 하게 됐습니다. 예를 들어 구글에서 제공하는 검색어 자동 추천 기능은 그저 감탄만 나오는 명품이라 생각합니다. 어떻게 하면 내가 작성하고 있는 string 입력에 대해 서버가 즉각적으로 반응하면서 사용자의 취향에 맞는 검색어를 추천 해 주는걸까요? 이처럼 데이터를 다루는 이야기는 끝이 없고, 이에 대해 알게 되고 공부하는 것은 참 즐겁습니다.


그리고 이런 고도의 기술로 만드는 제품은 지속적인 유지보수가 필요하단 것을 배웠습니다. 가장 크게 영향을 준 것 중 하나는 '구글 엔지니어는 이렇게 일한다'를 읽은 일이었습니다만, 이를 제가 작업하는 환경에 적용하면서 이것들의 필요성을 체험할 수 있었습니다.


제가 현재 진행중인 프로젝트에서 가장 많은 시간을 쓰는 일은 코드 작성이 아니라 문서 작성입니다. 이 문서는 일단 여러 사람이 협업해야 되기 때문에 필요한 것이기도 하지만, 코드를 작성하는 것보다 이에 앞서서 계획하는 것이 더 중요하다는 것을 깨달을 수 있었기 때문입니다. 그렇지 않고 코드를 작성하다보면 계획 단계에서 방지할 수 있었을 문제들이 뒤늦게 발견되어 고치는 데 훨씬 많은 시간과 노력이 필요하기 때문입니다. 그리고 이를 팀원들 간에 공유해서 전체의 생산성을 높여야 한다는 것도 배웠습니다.


예를 들어 제 프로젝트의 목표는 채팅 프로그램을 만드는 것이었지만, 구체적인 계획이 없었기 때문에 초반에 많은 시간을 낭비하고 이를 되돌리느라 고생하고 있습니다. 최초 계획에서는 kubernetes, azure를 통한 클라우드 서비스를 통해 serverless를 구축하겠다든가, kafka와 같은 메시지 큐를 도입하고, 채팅을 저장하는 데이터베이스로는 nosql인 mongoDB를 사용하겠다고 하기도 했습니다. 이 중 그 어떤 것에 대한 경험도 없고 그것이 무엇인지도 모르면서 말입니다. 그러니 구체적인 물건이 만들어지는 진척은 미비했고, 이것 저것 공부하기에 바빴는데도 결과물은 좋지 못했습니다.


문서 작성을 팀원분들과 논의하고 진행하면서 현재 우리 선결 과제는 가용한 기술 스택으로 채팅에 필요한 MVP(Minimum Viable Product)를 작성하는 것이라고 목표를 정할 수 있었습니다. 그 이후로 이 최소한을 만들려고 노력하고 있는데 이조차도 쉽지 않은 것을 보면서 기존의 생각이 얼마나 경험이 부족한 상태에서 나온 것이고, 일을 진행하기에 앞서서 계획을 세우는 것이 굉장히 중요하단 사실을 깨달을 수 있었습니다.


이 밖에도 issue, pull request, branch strategy, github actions, test code 작성 등 프로젝트가 장기화되면서 생산성을 높게 하려면 지속적인 유지 보수를 위해 이전에 git을 사용하면서 쓰지 않았던 기능들을 사용하게 되었습니다. 이런 경험들을 통해 이전보다 한층 더 나은 개발자로 성장했다고 생각합니다.


그리고 제가 이렇게 성장할 수 있었던 것은 혼자가 아니라 여러 사람과 소통하는 환경이었기 때문이라고 생각합니다. 모자란 제 포트폴리오와 프로젝트들을 관심 가지고 봐주시고 조언해주신 면접관 분들부터 시작해서, 같이 프로젝트를 진행하고 있는 팀원들, 그리고 도움 요청에 흔쾌히 응해주신 지인분들까지. 이 모든분들의 호의 덕분에 혼자였으면 할 수 없었을 현재에 도달할 수 있었습니다.


셜록 현준님의 영상에서 자주 언급하는 것이 인류는 사람간의 병렬 연결이 늘어나는 방향으로 발전해왔고, 이를 통해 인간의 창의성이나 생산성이 증대한다는 것입니다. 이번 구직 과정을 거치면서 평소보다 훨씬 많은 사람을 만났고, 대화를 나눈 덕분에 혼자 갇혀있었다면 배우지 못했을 가르침들을 얻을 수 있었습니다. 그래서 이번에 취업을 하게 되면 제가 일하는 공간은 여러 사람들 간에 소통이 활발하고, 이를 통해 생각을 공유하고 발전하는 병렬적인 연결이 이루어지는 환경이었으면 좋겠다고 생각합니다.


방향 설정 이후의 결과


그래도 이런 노력들이 도움이 됐는지 3월이 끝나기 전에 1개의 회사에서는 최종 합격을 연락 받기도 했고, 1개의 회사에서는 채용 전형의 최종 단계인 면접을 보기도 했습니다. 전자는 고민 끝에 제가 원하는 방향성과 맞지 않다고 생각해 과분한 제안이었음에도 죄송하지만 거절의사를 전달해야 했고, 후자는 아쉽게 탈락했지만 제 부족한 부분들에 대해 배울 수 있었던 소중한 경험이었습니다.


그렇게 대단하다고 하긴 힘들겠습니다만 그래도 저에게는 이것이 지난 3개월 동안 물방울이 이리저리 부딪혀가며 모여 방향성을 획득한 시냇물이 만들어낸 작은 성과라고 생각합니다. 이제 앞으로 제가 맞게 나아가고 생각하는 지점들은 유지하되, 모자라다고 느낀 부분들은 더 나은 방향으로 방향을 바꾸어 시냇물이 올바르게 강으로 이어지도록 치수작업을 해나가려 합니다.




시냇물이 강줄기가 되도록


더 잘할 수 있는 부분도 많았겠지만, 치열하고 내 인생에 온전히 집중해서 보냈다고 생각하기 때문에 후회 없이 만족스러운 3개월이었습니다. 이 정도만 해도 제가 소기에 프로그래머로써 다시 일하고 싶다라고 생각한 갈증에 대한 해소가 되는 가벼운 여우비 정도는 되지 않았나 싶습니다.


다만 목마른 사람에게 모자란 물을 주면 갈증이 해소되기보다 더 많은 물을 갈망하게 되듯이, 더 많은 사람을 만나고 경험을 하고 싶다는 생각 또한 하게 됐습니다. 이를 위해 이번에 만들어진 물줄기가 강줄기로까지 이어지도록 앞으로도 계속해서 꾸준히 노력해야겠습니다.


그리고 다시 한 번 이 모자란 물줄기에 한 컵씩 물을 보태주신 모든 분들께 감사드립니다.




참고자료



  1. 조승연의 탐구생활 - 상대방이 기억을 우기기 시작하면 이 영상을 보여주세요!

  2. wikipedia - page rank 알고리즘

  3. 셜록 현준 - 한국 건축, 서양처럼 보존하지 못하고 재건축하는 이유는? 도시 재건축 VS 보존 문제!







3
  • 늘 화이팅입니다


목록
번호 제목 이름 날짜 조회 추천
14314 게임[PC] 격찌가 검증한 스파6 진짜 뉴비 친화적인가 6 kaestro 23/12/06 1769 2
14425 일상/생각코드와 글의 경계에서(나는 왜 글을 계속 쓰려하는가) 2 kaestro 24/01/31 1348 3
14442 IT/컴퓨터천원돌파 의존성 역전 17 kaestro 24/02/08 3501 1
14445 도서/문학최근에 읽은 책 정리(만화편)(1) 6 kaestro 24/02/09 1484 1
14446 도서/문학최근에 읽은 책 정리(만화편)(2) 2 kaestro 24/02/09 1432 1
14447 도서/문학최근에 읽은 책 정리(프로그래밍 편) kaestro 24/02/10 1465 1
14461 게임스트리트파이터 6 최초의 정상결전 - capcom cup x 2 kaestro 24/02/15 1414 2
14464 도서/문학최근에 읽은 책 정리(라이트노벨, 비문학 편) 5 kaestro 24/02/17 1325 0
14566 문화/예술1분기 애니메이션 후기 - 아쉽지만 분발했다 12 kaestro 24/03/30 1353 2
14574 일상/생각재충전이란 무엇인가 5 kaestro 24/04/03 1319 6
14589 일상/생각지난 3개월을 돌아보며 - 물방울이 흐르고 모여서 시냇물을 만든 이야기 6 kaestro 24/04/09 1090 3
14600 도서/문학떡볶이는 좋지만 더덕구이는 싫은 사람들을 위하여 13 kaestro 24/04/13 1988 5
14605 게임오픈월드를 통한 srpg의 한계 극복 14 kaestro 24/04/19 1290 2
14609 문화/예술반항이 소멸하는 세상에서 가운데 손가락을 치켜세우는 소녀들 5 kaestro 24/04/20 1522 6
14612 게임전투로 극복한 rpg의 한계 - 유니콘 오버로드 리뷰(2) 4 kaestro 24/04/21 1006 0
14614 IT/컴퓨터re: 제로부터 시작하는 기술 블로그(1) 2 kaestro 24/04/22 1047 1
14618 일상/생각저는 외로워서 퇴사를 했고, 이젠 아닙니다 18 kaestro 24/04/24 2017 17
14624 일상/생각5년 전, 그리고 5년 뒤의 나를 상상하며 6 kaestro 24/04/26 1274 3
14629 일상/생각방문을 열자, 가족이 되었습니다 9 kaestro 24/04/29 1330 10
14688 게임게임은 어떻게 두려움을 통해 유저를 영웅으로 만드는가 5 kaestro 24/05/18 1208 4
14640 일상/생각합격보다 소통을 목표로 하는 면접을 위하여(2) - 불명확한 환경에서 자신을 알아내기 위해 안전지대를 벗어나고, 이를 꾸며서 표현하는 방법 kaestro 24/05/02 951 2
14649 기타최근 내 삶을 바꾼 제품들 총 6선 - 전구, AI에서 태블릿 pc까지 11 kaestro 24/05/04 1515 6
14655 일상/생각정리를 통해 잠만 자는 공간에서 나로써 존재할 수 있는 공간으로 6 kaestro 24/05/07 1199 2
14670 IT/컴퓨터인체공학을 염두에 둔 내 pc용 책상 세팅(1) 23 kaestro 24/05/12 1234 2
14672 일상/생각인체공학을 염두에 둔 내 pc용 책상 세팅(2) 4 kaestro 24/05/12 1144 0
목록

+ : 최근 2시간내에 달린 댓글
+ : 최근 4시간내에 달린 댓글

댓글