연말에는 한껏 회고 붐이 분다. 자신을 돌아보기에 더할 나위 없이 좋은 시간이기 때문이다.
지금와서 쓰는 이유는 ‘이런 흐름에 동참하지 않겠다~’ 라기보다는 다른 일들의 우선 순위가 더 높았고, 무엇보다 취준생의 회고는 거의 본적이 없었다.
근데 그게 쓰지 않을 이유가 될 수가 있나. 나중에 1년 후 혹은 미래의 내가 회고를 보고 어떤 상황을 겪고 어느 방향으로 나아갔는지 확인할 수 있는 ‘인생의 점’을 찍는다는 생각으로 작성한다.
회고 쓰기 전에 눈여겨 봤던 개발자들의 여러 회고도 살펴 보고, 글또의 운영진 성윤님의 회고법도 봤지만, 일단 형식에 얽매이지 않고 과거를 돌아보는 내용을 써보기로 했다.
귀농 라이프
22년에 다니던 반도체 회사를 퇴사한 뒤에는 정신적으로 너무 지쳐 잠시 휴식기를 가지고 삼촌이 하는 딸기 농장(in 부여) 일을 도우러 잠시 귀농(?)했다.
사석에서는 산재 보복과 얽혀있는 사연이 있어 언급을 잘 안하지만 그만 둘 당시에는 사람을 만나는 것이 너무 싫었다. 지금 생각해보면 약간 도피성으로 내려왔던 것 같다.
원래는 외가에서 운영하던 농장인데 할머니, 할아버지가 모두 돌아가시고 삼촌이 물려받아 운영하고 계신다.
농장 일은 학생 때 자주 도우러가서 익숙했고, 일하는 동안은 잡생각 할 틈이 없어 힘들어도 나름 보람있었다.
(일하는 폰이 따로 있었어서 사진이 이거밖에 없는..)
정말 쉴 틈도 없는게 다른 농작물은 어떤지 모르겠지만 딸기의 한 작기는 15개월로 농한기가 없다.
예전에 일했던 때와는 다르게 뭔가 바뀐 것이 보였는데 센서로 온도와 습도를 표시하여 모니터링하고 설비를 제어하는 것을 볼 수 있었다. 그 때 당시 ‘X린X스’의 스마트팜 앱을 사용했었다.
뭐 그래봤자 제일 중요한 수확이나 선별같은건 여전히 사람이 하기 때문에 크게 편해졌다는 것은 못느꼈다..
오전 짜투리 시간과 저녁 이후에는 크게 할 일이 없어서 읽을라고 묵혀놨던 책을 읽거나 취미인 영상 편집을 했다. 이 때 인생에서 가장 책을 많이 읽은 듯하다.
그러면서 그 시간에 뭔가 책만 보기에는 지루해서 개발 공부에 살짝 손을 대기 시작했다. 내가 쓰는 스마트 팜앱이 어떻게 작동하는건지 신기하기도했고, 당시 ChatGPT의 등장으로 관심이 뜨거울 시기였다.
그래서 남는 시간에는 Java 기초 문법같은걸 찾아보면서 ChatGPT를 벗삼아 혼자 공부하기 시작했다. 나의 공부 스타일은 이론부터 시작하는 학구파였기 때문에 인터넷에 있는 자료를 이것저것 찾아보고 강의도 보고 책으로도 공부했었다.
그 때 ‘개발자들은 블로그에 글을 많이 쓰는구나’ 하고 나도 다 이해하진 못했어도 덩달아 블로그에 글을 썼다. 이전 블로그
글또에 참여하다
그러던 중 수확이 얼추 마무리되어 작년 7월에 다시 서울로 돌아왔다.
막상 서울로 올라오니 ‘이제 뭘 해야하지?’ 라는 생각이 들었다. 그래서 포트폴리오를 만들어서 이력서를 하나씩 내봤지만 취업 시장이 얼어서 그런건지 내 역량이 부족한건지 긍정적인 시그널이 별로 없었다.
그러던 중에 SNS에서 ‘글또’라는 커뮤니티의 모집글을 보게되었다.
글또는 변성윤님이 운영하시는 커뮤니티로 모집 공고에 명시된 내용에 따르면 다음 비전을 가진 커뮤니티이다.
- 글을 작성하는 개발 직군분들이 모여서, 좋은 영향을 주고 서로 같이 자랄 수 있는 커뮤니티
- 개발자들의 성장을 지원하는 커뮤니티
- 각자의 직군에서 얻을 수 있는 내용을 토대로 글쓰기 진행
- 부가적으로 삶의 철학, 여러 고민을 나누는 커뮤니티
공고에서 몇 가지가 눈에 띄었는데 ‘네트워킹’ 이었다. 비전공자로 공부하면서 느낀 것이 있는데 바로 이 네트워킹의 부재이다. 주변에 도움을 얻을 사람은 없을 뿐더러, 학교에서 생기는 그런 인맥 등 이런 것이 일체없기 때문이다. (뭐 지금 생각하면 꼭 그렇지만은 않은 듯)
사실 ‘글쓰기’라는 행위를 개발 아티클 뿐만 아니라 일기 형식으로 책읽은 기록을 남기려고 꾸준히 써왔었다. 학생 때부터 생각이나 기록을 남기는걸 좋아한 나의 습관이자 취미였다.
중-고등학생때도 이글루스에 일상을 남기기도 했었는데, 작년 6월에 이글루스가 서비스를 종료한다고 공지가 떠서 급하게 백업하기도 했다.
어차피 글 쓰는거 좀 더 체계를 갖추고 글을 쓴다면 좋지 않을까 해서 지원했었다.
이렇게 뭣모르고 들어온 글또에는 정말 다양한 분야에서 일하시는 분들이 많이 모여있었다. ‘취준생인 내가 끼어도 되는 자리인가..?’ 싶을 정도로 굉장하신 분이 많았다.
사실 커뮤니티의 소속감에 큰 신경쓰지 않는 나로서는 ‘활동해봤자 글이나 쓰겠지..’ 라고 생각했지만 24년 후반기는 거의 글또로 채워졌다.
글또에는 기술 글쓰기 외에도 다양한 소모임 활동이 있는데, 24년에 피크민 블룸이라는 게임이 흥행하면서 ‘피크민또’라는 소모임에 들어가게 되었다.
(산책 당시에 함께 걷기로 걸어다니는 피크민또 회원들..)
사람때문에 지쳐있던 나에게 ‘나 사실 사람들 만나는거 좋아하는구나?‘를 느끼게 만들 정도였는데 그 이유는 정말 많은 사람이 모여있는데 하나같이 다들 너무 따수웠다.
그 외에도 알고리즘을 푸는 소모임인 ‘오늘도한문제풀었또’, 하루 계획을 선언하고 이루는 ‘다진마늘’, 글쓰기는 시간(1시간)을 확보하여 온전히 집중할 수 있는 ‘쓸모또’ 여러 소모임에서 다양한 사람들을 만나 소통했다.
그 중 ‘오늘도한문제풀었또’라는 채널의 슬랙봇을 만들게 되었는데, 알고리즘 풀이 제출 및 스트릭 조회 기능을 슬랙봇으로 자동화하여 해결하게 되었다.
내가 만든 서비스에 사람들이 관심을 가지고 실제로 사용하는 것이 얼마나 즐거운지를 알 수 있었던 소중한 경험이었다.
글또가 없었다면 24년 후반기의 길을 잃을 뻔 했는데, 많은 사람들을 만나면서 올해 목표와 함께 나의 방향성을 찾아가도록 도와준 소중한 커뮤니티이다.
마지막 기수여서 아쉽지만 그만큼 더 뜻깊은 시간이 될 것이라고 자부한다.
25년 목표 설정
괜히 연말이 다가오면 내년 계획을 세워야될 것 같아서 메모장에 리스트를 항상 적어두지만 실천에 옮긴 것은 별로 없었다.
문제를 진단하고 계획을 세워보자.
1. 보다 구체적 목표를 설정하기
추상적이적인 것은 프로그래밍에서나 유용하지 목표 설정에는 방해가 된다.
예를 들어 다음과 같을 수 있다.
일주일에 Kotlin 강의 3개 듣기(추상적) → Kotlin 문법을 학습을 위해 하루에 강의 X개를 듣고 남에게 직접 설명할 수 있을 정도로 숙련하여 설명해보기(구체적)
구체적일 수록 단기적이며 바로 행동이 가능하고, 결과의 좋고 나쁨을 판단할 수 있게된다. 반면 추상적인 목표는 장기적인 플랜으로 직접적으로 와닿지 않는다.
구체적인 방법 설정까지는 매우 좋은데 의지가 따라주지 않는다면? ‘공개선언 효과’를 노려보자.
혼자 결심하게 되면 실패해도 비난과 책임을 피할 수 있다. 때로는 쪽팔림과 체면을 감수해야할 필요가 있다.
2. 주 단위로 계획 수립하기
1번의 연장선. 작년에 내가 진행했던 개발 프로젝트와 공부 계획을 돌아보면 한 달 단위로 목표를 세워놓은 경우가 많았다. 하지만 “한 달 동안 프로젝트 완성하기”나 “이번 달에 새로운 프레임워크 배우기”와 같이 목표가 너무 크고 추상적이라, 매일 어떤 작업에 집중해야 할지 불분명했던 경우가 많았다. 그 결과, 중간에 동기와 방향을 잃어버리거나 목표 달성을 실패했던 경험이 반복됐다.
이 경험을 통해 배운 점은 개발 과정에서의 목표도 작고 구체적으로 나누어야 한다는 것이다. 이를 주 단위로 나누어 관리하면 큰 목표를 실행 가능한 작은 단계로 쪼개고, 매주 결과를 점검하며 유연하게 조정할 필요가 있다.
예를 들어 “이번 달에 개인 프로젝트 완성하기” 라는 목표를 주 단위로 나누면 다음과 같이 계획할 수 있다
• week1: 프로젝트 요구사항 분석 및 기본 설계
• week2: 데이터베이스 설계 및 초기 모델 구현
• week3: 테스트 코드 및 주요 기능 개발…
실제로는 이것보다 훨씬 디테일하겠지만, 약간 스프린트 하듯이 계획하고 실행하는 것이 목표이다.
3. 코드는 그만짜고 제품 만드는 연습을 해라
클린 아키텍처와 코드가 중요하다는 것은 많은 개발자가 인지하고 있는 사실이다. 하지만 이론에 심취하여 하나씩 신경써서 소프트웨어를 완성시키는 것은 숙련된 개발자가 아니라면 시간이 오래걸리는 일이다.
나 역시도 처음부터 이론에 신경쓰며 코드를 작성했었는데 이번에 슬랙봇을 만들면서 느낀 것이 있다. 작동하게끔 만드는 것이 먼저라는 것
이번에 파이썬을 문법만 대충 아는 상태에서 슬랙 봇을 만들었는데 뭣도 모르고 main.py 클래스 하나에 모든 코드를 때려박고 시작했다.
실제로 처음 main.py에 몰아넣은 그 코드이다. (끔찍)
결국 기능이 하나씩 추가되면서 감당할 수 없어서 지한님의 도움으로 패키지를 분리를 하면서 리팩토링을 하게 되었다.
처음부터 하나씩 파이썬의 패키지 분리와 컨벤션에 신경써서 슬랙 봇을 만들었다면 아직도 완성되지 못하지 않았을까?
코드 분리는 왜 필요한지, 함수명을 어떻게 해야하는지 이런건 필요성을 느낄 때 적용하고 학습해야 한다는 것이다.
그래서 앞으로는 MVP 기능을 구현하는데 일정 시간 이상을 쓰지않는 제약을 두고 코딩하는 것이 올해의 도전.
4. 고립되지 말라
자의 반 타의 반이긴 했지만 혼자 공부하는 것이 익숙해서 이를 고집했다. 시골에 거주할 때는 물리적으로 사람을 만날 수 없는 상황이 많았다.
스터디나 코드를 혼자짜서 공부해봤자 옳은 지 판단할 수 없다. 스터디에 참여하거나 무조건 타인과 의견을 공유하라.
그래서 1월에 토비님의 리팩터링 2판 스터디를 시작으로 적극적으로 참여하기로 결정했다.
또한 취준 시기에는 고립되어봤자 정신 건강에 좋을 수 없다. 글또 커뮤니티가 끝나기 전에 다양한 분야의 사람들을 만나서 내 인사이트도 늘릴 생각이다.
맺음
최근에 개발바닥 톡에서 인프런의 CTO 향로님이 위와 같은 말씀을 하면서 프로그래머의 위기지학이라는 글을 소개했다.
원 글은 함께 자라기라는 책으로 유명하신 김창준님의 글이다.
위기지학
의 사전적 의미는 ‘자기 자신의 인격 수양을 위한 학문’이다.
위기지학은 자기를 위한 학문을 일컫고, 위인지학은 남을 위한 학문을 일컫습니다. 약간 과장해 말하자면, 유학의 기본적 태도는 배워서 남주자가 아니라 배워서 나 좋자입니다.
1년 이상 사용하고 개선해 온 자작 프로그램이 있다면, 남들에게도 진정한 가치를 줄 수 있는 프로그램을 만들 가능성이 높아지고, 자신을 위한 프로그램을 만드는 경험은 단순함의 가치를 깨닫고 생산성을 높이는 데 도움됩니다.
결국 ‘위기지학을 실천하는 프로그래머는 생산성이 높고 진정한 가치를 담은 소프트웨어를 만들 가능성이 높다’라는 것이다.
25년에는 “오늘 자신을 위해 무엇을 프로그래밍했는가?“라고 질문을 했을 때 대답할 수 있도록, 조급해하지말고 나를 위한 개발, 프로그래밍을 해보자.
별 내용도 쓰지 않았는데 뭐 이리 질질 끈건지.. 다소 늦은 회고지만 올해는 정말 후회없이 보내야지
최근에 바밍타이거라는 크루의 노래에 꽂혔는데 중독적인 비트에 빨려드는 뮤비.. 한 50번은 반복 재생했다.
글은 바밍타이거의 ‘Buri Buri’ 라는 곡의 가사로 마무리한다.
세상 가장 찬란했던 눈부신 그날은 지금이야 순간을 살아
출처
- 변성윤님의 회고법 - 변성윤님의 블로그
- 프로그래머의 위기지학 - 김창준님의 블로그 아카이브