2021년 회고록을 작성할 때가 되었다. 작년(2020년)에는 무언가 새로 시작하는 것이 많았지만, 올해는 성찰의 시간을 많이 가졌다. 그래서 제목을 <성찰> 로 지었다. 개발, 내가 정말 원하는 일과 잘하는 일, 내 성격에 어울리는 일과 같은 많은 것을 고민했다. 정상적으로 직장을 다니고 있었다면 이런 고민도 딱히 안 했겠지만, 현 상황만큼이나 성찰하기 좋은 시간이 없기 때문에 이 기회에 확실히 하고 가기로 했다.
올해 진행했던 프로젝트 및 성과를 간단하게 이야기해보고, 성찰의 결과를 정리해보자.
Github Stars 600+
올해의 성과 중 제일 가시적으로 나타나는 것은 내가 벌어들인 깃허브 스타가 누적 600개를 넘었다는 것이다. 2020년에 100+ 였던 것에 비하면 놀라울만한 성장이라고 생각한다. 대부분은 hELLO 티스토리 스킨이 차지하고, 나머지는 티도리 프레임워크에서 기여했는데, 내년에는 1K+ 를 목표로 하고 있다. 사실 두 프로젝트는 이미 안정화 단계에 접어들었고, 해봐야 유지보수 밖에 남지 않아서 특별하게 바삐 움직일 필요는 없을 듯하다.
한 가지 아쉬운 점이 있다면, 프로젝트가 티스토리와 관련된 것들에만 집중되어 있다는 점이다. 2017년부터 했던 것들인데, 티스토리 분야에서는 사실상 탑을 찍었으니 이제는 범위를 더 넓혀야 하지 않을까 싶다.
티스토리 프로젝트 (2017.11 - 2021.12)
2017년부터 조금씩 만들어왔던 티도리 프레임워크와 hELLO, 티스토리 백업 등 티스토리 프로젝트를 사실상 마무리했다. 티도리 프레임워크와 hELLO 는 최소한의 유지보수는 할 것이기 때문에 Archived 상태로 만들지는 않았지만, 신규 기능추가는 아이디어 고갈로 진행하지 않을 듯하다. 치명적인 버그가 발생하지 않는 이상은 더 이상 패치는 진행하지 않을 듯.
hELLO 의 경우 오픈소스로서 성장하다 보니 타 개발자에게 기여의 문을 열어두면 좋을 듯하여 새로운 테마를 통해 기여할 수 있도록 조치했다. 이제야 오픈소스 프로젝트 같아졌다.
내가 개발한 티스토리 프로젝트 정리!
이 포스팅은 여지껏 내가 개발한 티스토리 프로젝트를 정리하기 위한 것이다. 회사를 2017년 가을에 그만두고 무려 3년간 백수생활을 해오면서 만든 것이 아래에 있는 프로젝트다. 만드는데만 3
pronist.dev
암호화폐 트레이딩 봇 (2021.04 - 2021.05)
2021.01 ~ 2021.03 까진 Go 언어를 공부하고, 처음으로 Go 언어를 사용하여 작성한 사이드 프로젝트는 업비트 API 를 사용한 암호화폐 트레이딩 봇 개발이다. 이게 또 나름 재미있어서 두 달 동안 시간 가는 줄 모르고 개발하긴 했는데, 몇 번의 전략 실험을 해보다가 다음을 기약하기로 하고 방치해둔 프로젝트다.
기능적으로 보면 다양한 드라이버를 제공하여 업비트 뿐만 아니라 다른 거래소의 서비스까지 사용할 수 있게 하는 것도 가능할 텐데 아래에 언급될 프로젝트로 인해 지금은 Go 대신 PHP 를 하고 있는 관계로 일단은 모셔만 두고 있다.
https://pronist.tistory.com/133
암호화폐 트레이딩 봇을 만들었다 (feat. 업비트)
암호화폐 트레이딩 봇 최근 블로그 포스팅이 한 동안 뜸했던 이유는, 어느 날 트레이딩 봇을 만들고 싶은 욕구가 생겨서 여기에 지속적으로 힘을 쓰고 있었기 때문이다. 개발자라면 누구나 한
pronist.tistory.com
라라벨 책 & 강의 (2021.06 - 2022.06 [예정])
이 소식은 블로그에 처음 쓰는 것인데, 암호화폐 트레이딩 봇을 만들었다 (feat. 업비트)를 쓴 것을 계기로 출판사에서 제의가 들어와 현재 라라벨 책을 집필하고 있다. 내 블로그에는 라라벨에 대한 내용이 정말 거의 없는데, 어째서 라라벨 제의가 들어왔는지는 지금 생각해도 의아하다. 아마 PHP 강의를 제작한 이력도 같이 있어서 그런 걸까?
책의 방향성은 '프로젝트를 통한 기본지식의 이해' 를 바탕으로 진행하고 있다. 따라서 백과사전처럼 레퍼런스 형식이거나 단순 기능만 나열하고 실제 사용처를 이해하기 힘든 형태로는 절대 진행되지 않을 것이다. 퇴근하고 나서 책을 쓰는 일이 영 쉬운 일이 아닌지라 더딘감이 있다. 6월부터 책을 쓰고 있어 가지고 블로그에 작성하는 글이나, 라라벨 관련 글은 상당히 줄어들었다. 어느 순간 글이 뚝 끊긴 것을 느꼈다면, 그때부터 책을 쓰기 시작한 것이다. 12월의 말일인 지금은 약 45% 정도를 작성했고, 적어도 내년 6월 정도에는 마무리 예정이다.
예제 코드는 일단 공개해 두었지만, 여전히 갈 길이 멀다.
https://github.com/php-courses-inflearn/laravel
라라벨 강의도 책이 내부적으로 마무리된 이후, 제작에 들어갈 예정이다. 목표는 동시 출시인데, 설령 그렇게 되지 못하더라도 책 출판 이후에는 빠른 시일 내에 라라벨 강의도 제작할 생각이다.
기초군사훈련 (2021.09 - 2021.09)
작년에 가지 못했던 사회복무요원 기초군사훈련 수료를 마쳤다. 이 때문에 책 집필이 늦어지기는 했지만, 아무쪼록 마감에 늦지 않도록 하려고 한다. 훈련소를 몇 주 안 하긴 했는데, 여기서 경험한 바로는 역시 군인은 나한테 안 맞는 직업이라는 것이다. 개발자를 넘어, 새로운 길로에서 언급했던 것처럼 몸을 쓰는 일이나 긴급상황에 대처해야 하는 직업은 내게 꽝이다.
반면, 같이 들어왔던 동기 중에는 자기는 군인이 잘 맞는지 현역으로 전환해서 복무하겠다는 녀석도 있었다. 실제로 그 동기와 나는 성격이 정 반대라 내내 불편함을 느꼈는데, MBTI 상에서 INFJ 에 속하는 나와 군인이 어울리는 직업으로 나오는 ESTJ 는 원수지간으로 나오니 어느 정도 수긍은 간다만.
성찰 (2021.01 - 2021.12)
2021년에는 성찰의 시간을 가장 많이 가진 듯하다. 고2 때 시작한 개발이라는 업에 대한 고민을 가장 많이 했고, 어떤 것을 잘하고, 어떤 일은 내게 안 맞고 못하는 일이 무엇인지 어느 정도 파악이 끝났다. 이 정도면 자기소개서는 거의 일필휘지로 써 내려갈 수 있을지도 모른다. 과거에 썼던 자기소개서의 글자 수가 1만 자를 넘었던 것을 생각하면 오히려 줄일 필요가 있겠다만.
정말, '돈' 때문인가
개발자를 그만둬야 할까?라는 글에서는 개발이라는 업 자체에 대한 고민이 적혀있다. 직업이 아니라 개발 자체를 오래 하게 되면서 여러모로 직업관에 대해 고민하게 되었는데, 총체적인 문제는 개발자로서 내가 하고 싶은 구체적인 목적의식이 없다는 것이다. 예전처럼 막 그렇게 대단한 일을 할 생각은 사라지기는 했지만, 뭔가 돈과 커리어 이외에 다른 것을 찾았으면 하는 마음이 있다. 생각해보면 회고를 쓰는 지금까지도 내가 개발자를 도대체 무엇을 목적으로 하는지 여전히 모르고 있다. 대략 1년간 고민했음에도 지금까지 이 문제에 대한 답이 안 나왔다는 것은 '돈' 이외엔 없다는 것이 된다.
근데 정말로 저 글을 쓸 때와는 다르게 개발과는 별개로 지금의 목표가 경제독립이 되어버린 이상, 내가 직업 개발자로서는 살아가지 않을 가능성이 더욱 커졌다. 세상에는 돈을 벌 수 있는 수단이 너무나도 많고, 개발을 서브로 넘김으로써 이를 사용하여 직업 개발자로 살아갈 때보다 어쩌면 더 금전적인 풍요를 추구할 수 있는 가능성이 높기 때문이다. 게다가 개발을 업이 아니라 서브로 넘김으로써 부담감이 경감되는 것으로 재미 위주의 개발이 가능해진다는 점도 크다. 예를 들면 취직을 위한 포트폴리오가 아니라 재미 삼아 공부해서 프로그래밍 언어를 만들어본다든가.
내년에 내가 개발자로 구직을 하게 된다면 정말 슬프게도 개발을 하는 이유가 돈 때문일 가능성이 농후해진다. 내가 직업 개발자로서 별다른 목적의식 없이 그냥저냥 벌어먹고사는 것은 가능하겠다만, 정말 이렇게 될 거라곤 생각 못했다. 이래서는 직업 만족도가 좋게 나올 수 없다. 성찰의 결과가 이러니 어쩔 수 있겠나.
지금도 돈이나 전망과 같은 이유를 제외하면 개발자를 해서 무엇을 하고 싶은지 모르는 상태고. 그러니까, 단순 프론트/백엔드/데브옵스와 같은 포지션 개념이 아니라 개발을 통해 현실에서 발생하는 어떤 문제를 해결해보고 싶다든가, 아니면 추구하는 세계가 있다든가 이런 게 전무하다는 뜻이다.
이상과 현실
개발자를 하기 전에 고민했다면 좋았을 것들로는 글을 쓰면서 생각했던 것은 내가 생각하는 이상적인 개발자의 프레임에 '나'라는 사람이 들어올 수 있냐는 것이었다. 이 고민은 결론적으로 No. 가 나왔다. 실력이 상당히 뛰어난 매드 사이언티스트의 이미지를 떠올려보면, 기술에 매력을 느껴 그 기술에 몰입하거나 새로운 신기술이 나왔을 때 가슴이 두근거린다거나 하는 것들이 있는데, 이 부분에서 나는 전혀 '꽝'이다. 정말로 그랬다면 비트코인이 세상에 처음 나왔을 때 그에 대해 관심을 가졌어야 했다.
내가 블록체인을 공부하면서 읽었던 <비트코인, 공개 블록체인 프로그래밍>의 저자인 안드레아스 M. 안토노풀로스는 비트코인이라는 존재를 알았을 때 크게 매력을 느껴 몇 날 며칠을 비트코인 관련 문서만 찾아봤을 정도로 흥미를 느꼈다는데, 난 그런 건 없다. 즉, 인위적으로 시대의 흐름에 따라 관심을 가지려고 한 것을 제외하곤 자연스럽게 생기는 관심은 발생하지 않았다.
이 부분에서 직업에서 더 나아가 개발자로서 최고 단계에 이르는 것은 내게는 어려운 일이라고 판단했고, 결론적으로는 '이상적인' 개발자의 프레임에는 '나'는 속할 수 없었다고 결론지었다. 요즘 표현으로 하자면 내가 '찐' 개발자가 되는 것은 불가능에 가깝다. 혹자는 내게 '찐' 개발자가 되기 위해 노력이라도 해야 하지 않겠냐고 하겠지만, 이는 내가 지난 수년간 개발을 하면서 느낀 결과기 때문에 이제는 인정하고 넘어갈 때가 됐다. 게다가 프레임에 억지로 끼워 맞추려 하는 행위는 도리어 개발에 대한 반감만 생길 뿐이다.
<> 스타트업 CEO
개발자를 넘어, 새로운 길로에서는 내가 짧은 생애 통틀어 고민했던 직업들을 나열하고 생각들을 정리했는데, 저 글에서는 마지막에 스타트업을 하겠다고 했지만, 현재는 스타트업 생각은 사실상 접은 상태다.
개발자는 창업하기에 분명 좋은 직업이기는 하지만, 내가 생각했을 때 성공적인 스타트업 CEO에 부합하는 사람과 나를 비교했을 때, 추구하는 가치관과 성격이 너무나도 달라 설령 사업을 한다 하더라도 행복한 삶을 살기에는 어려울 것이라 판단했다. 2021년의 마지막 회고이기도 하니까, 내가 스타트업을 차리겠다는 생각을 접은 몇 가지 이유를 적어보고자 한다.
느리지만 꾸준하게, 그리고 자유롭게
스타트업 창업을 함으로써 이 말은 해당사항이 있을지도 모르지만, 일에 적용하고 싶은 생각은 없다. 즉, 성공적인 스타트업 CEO 의 가장 기본적인 조건이라 생각되는 '내 삶을 일과 하나로 만들어 몰입하라'에 부합하지 않는다. 게다가 '빨리'라는 단어를 끔찍하게 싫어한다. 삶에서 느림의 미학과 자유를 추구하고, 일과 삶이 어느 정도는 분리되길 원하는 내가 모든 시간과 열정을 소모하여 투자할 생각은 없기 때문이다. 그럴 생각이 없는 상태에서 스타트업을 창업하려고 하는 것은 망하는 지름길이다.
외로운 늑대
다수보다는 혼자 하는 것을 좋아한다. 만약 창업을 하더라도 막 여럿이 모여하기보다는 혼자서 작게 노트북 하나만으로 1인 창업을 할 것이다. 하지만 다수의 의견을 들어본 결과 1인 스타트업 창업으로 100억을 벌기보다는 10명의 공동창업자에서 시작하여 10억을 버는 일이 쉽다고 하니, 이 또한 상당한 가시밭길이 되리라 판단되었다. 따라서 작은 개인사업이나 플랫폼을 이용한 사업 정도는 할 수 있겠지만 본격적으로 회사를 차리고 하는 것은 내게는 안 맞는 일이다.
너 내 동료가 돼라
사업가에게 요구되는 또 다른 능력 중 하나인 사람을 통솔하고 관리하는 일은 내게 있어서 '꽝'이다. 직장에 다니면서 내가 선배 개발자에 위치해 있을 때도 후배 개발자에게 지시를 하지 못하거나, 어쩌다 팀장의 위치에 있더라도 팀을 인솔하는 행동을 하는 것 자체에 스트레스를 느꼈음은 분명하다. 캐나다 워킹홀리데이에 갔을 때 팀의 리더로서 있을 때도 상당한 스트레스를 받았다. 감정이입을 잘하는 편이어서 지시할 때 미안함을 너무 많이 느껴 지시하는 것 그 자체에 부담을 느낀다.
지금도 그런지는 모르겠지만, 리더십을 강조하던 때가 있었는데, 만일 이 부분에 대해 리더십이 떨어진다고 해석해서 단점이라 규정한다면 어쩔 수 없다. 수직적 조직구조에서 나타나는 관리자형 리더는 지향하는 바가 전혀 아니고, 애초에 그렇게 하라 그래도 안 한다. 만일 내가 입사한 기업이 수직적 조직구조를 가진다면 짧은 기간 안에 퇴사할 가능성이 크다.
수평적인 위치에서 공통된 목표를 지향하며 나아갈 수 있도록 팀을 도모할 수 있도록, 그건 단방향 지시/이행이 아니라 머리를 맞대고 의견을 나눔으로써 건설적인 방향으로 일이 진행되도록 하고자 한다.
그래서, 이제 어쩔 건데?
위에 이야기한 것들은 내가 '못하는' 것들이다. 그럼, 내가 '잘하는' 것은 뭘까? 개발자를 넘어, 새로운 길로에서 키워드는 이미 도출되었다. 기능적인 측면으로는 작문과 개발, 성격적인 측면으로는
나무보다는 숲을, 현재보다는 미래를, 제약보다는 자유를
나무보다는 숲을
나무보다는 숲을 먼저 보려고 한다. 책을 쓸 때도 세부적인 기능을 살펴보기보다는 전반적인 우선적으로 프레임을 이해하고 넘어갈 것을 중시하였다. 이러한 성향은 숲을 전반적으로 살펴봄으로써 세계의 흐름을 이해하고 숲을 구성하는 나무는 어떤 것이 있는지 파악하여 도출해낼 수 있는 힘이 있음을 말한다.
현재보다는 미래를
지금 당장 현실세계에 발생하는 문제를 해결하는 일보다는 미래의 가능성에 중점을 두고 있다는 것을 말한다. 개발은 대체로 알고리즘처럼 현실 세계에 존재하는 문제를 해결하는 것에 초점이 맞추어져 있는데, 이 부분은 나와 미스매치긴 하다. 그래도 내가 개발자를 할 수 있는 이유는 개발은 현재와 미래의 사이에 위치한다고 생각하기 때문이다.
미래를 좋아하면서 예측을 주로 하는 인공지능 분야를 하지 않은 것은, 내게는 수학적 적성이 전혀 없기 때문이다. 인공지능 분야는 미래를 지향하면서(N) 분석/수학적인 성향을 가진(T) 사람들이 하기에 적합하다.
제약보다는 자유를
조직생활로 인한 규칙과 눈치에 얽매이기보다는 몸과 정신적 자유를 추구함을 말한다.
이러한 것들을 종합해보았을 때, 내가 직접 사업에 뛰어들고 사건을 일으키는 것보다는 간접투자의 형태인 주식을 하는 것이 타당하다고 결론지었다. 주식은 시장의 흐름과 거래 당사자간의 심리를 이해해야 하며, 미래의 가능성, 제약 없이 나 혼자 하는 일이기 때문이다.
어차피 주식투자는 수년째 하고 있으니 전혀 새로운 것이 아니긴 한데, 이것이 단순 용돈벌이 수준을 벗어나게 한다는 마음가짐을 가지게 되면 아무래도 달라지기 마련이다. 주식을 하면서도 느끼는 것이지만 미래지향적인 나한테 있어서는 현실적인 문제와 많이 맞닥들어야 하는 스타트업보다는 정말 미래와 관련이 있는 주식이 더 적합한 방법일 것이라는 생각이 들었다. 성적도 나름대로 괜찮고. 이러다가 전업투자자 되는 것은 아닌지 모르겠다.
내가 생각하기에 미래의 나는 가까운 미래에 한해서는 직업 개발자가 된다 하더라도 개발자를 하기 전에 고민했다면 좋았을 것들에 따라 '찐' 개발자가 되는 것은 성격상 어려울 것이니 결국에는 투자가 본업이 되고 개발은 부업, 글쓰기는 취미가 될 가능성이 커졌다.
과거와 미래
2020년 회고―, 시작에서 세워두었던 계획과 지금을 비교해보자.
- Go 언어 응용 및 심화 (FP, MSA) (상반기)
- 비트코인, 이더리움, 클레이튼 등 퍼블릭 블록체인, 하이퍼레저 패브릭을 통한 프라이빗 블록체인, 마지막으로 스마트 컨트렉트 작성을 포함한 솔리디티 언어 및 Dapp (하반기)
- Go 언어 강의 만들기 (하반기)
- 영어/수학 제로부터 다시 시작하기 (전체기간)
원래 올해에는 블록체인을 집중적으로 공부할 예정이었고, 상반기, 딱 함수형 프로그래밍과 MSA 공부에 들어가기 직전까지가 암호화폐 트레이딩 봇 개발이었다. 봇 개발 이후에는 계획했던 대로 진행할 예정이었으나― 책쓰기라는 이벤트의 발생으로 모두 '꽝'이 되었다. 책쓰기대신 공부를 했다면 최소한 강의 만드는 것을 빼고는 대부분 했을테지만 이 나이에 책을 쓸 수 있는 기회는 이번에 안 하면 다시는 찾아오지 않을 것 같아 공부는 어느 정도 접어두고 책을 쓰기로 한 것이다.
내년의 계획은 어떨까? 내년 계획은 일단 상반기 밖에 없다. 딱 전역을 하고 나면 하반기로 넘어간다. 취직을 할지, 안 할지도 모른다. 상황에 따라서는 개발 자체를 접을 수도 있다. 그때 가봐야 안다.
먼저, 올해 하던 일을 이어받아야 하고, 이 일은 무조건적으로 해야 한다.
- (라라벨) 책 + 강의 제작
그 외에 미래를 위한 몇 가지 일을 할 필요가 있다.
- 경제와 기본적 분석, 기술적 분석 탐구
- 운영체제, 네트워크, 데이터베이스, 알고리즘 등 컴퓨터 과학 지식 복습
여기까지는 바닥을 다져야 하는 부분이기에 투자와 개발을 하려고 한다면 반드시 해야 되는 부분이고, 이제는 응용분야로써 웹과 블록체인 사이에서 선택을 해야 한다. 취직을 한다면 당연히 지금까지 해왔고 어느 정도 알고 있는 PHP/Laravel 을 사용한 백엔드 개발자가 되는 것이 전략적으로 괜찮은 선택임에는 분명하다.
만약 웹 백엔드 개발자로 나아가려면 약한 쪽인 인프라 쪽 지식에 속하는 도커/쿠버네티스, AWS 와 아직까지는 내게는 아직 생소한 ELK 등을 하는 것이 좋을 것이고 블록체인을 한다면, 정확히는 블록체인 프로토콜 개발자가 되기 위해 작년에 계획했던대로 Go 와 비트코인, 이더리움, 그리고 DApp 을 공부할 필요가 있다. 최근에는 NFT 바람이 불면서 이 또한 나쁘지 않은 방향이라고 생각되었다.
- 백엔드 개발자: PHP/Laravel (+ 도커/쿠버네티스, AWS, ELK, ...)
- 블록체인 프로토콜 개발자: Go (비트코인, 이더리움 등 플랫폼, 솔리디티 스마트 컨트렉트 DApp, NFT, ...)
둘 중에 하나는 하게 될 테지만, 이게 개발 공부는 집필이랑 병행하기에 체력적으로 어려워서 올해에도 공부를 못했던 건데 내년이라고 될 지는 불분명하다. 경제 쪽이야 지금처럼 독서를 매일같이 1~2 시간만해도 괜찮을테지만, 개발공부는 시간이 더 걸리기도 하고 체력 소모도 심한 터라 일과표를 짜서 해보지 않으면 아직까지 가능한지는 알 수 없다. 선택을 못하는 것 역시 목적의식이 없기 때문인가. 뭔가 분명한 목적이 있다면 고민할 필요조차 없을 텐데.
아무튼 대략적인 계획은 이렇다. 2022년 회고를 쓸 때는 과연 어떨까.
성찰을 통해 얻은 결론,
목적의식의 부재로 개발 분야를 명확하게 선택하는 것에 어려움이 있음
'찐' 개발자가 될 수는 없음
스타트업 CEO 가 되는 것보다는 주식이 나음
작문은 적극 활용해야