군대를 전역하고 난 후의 첫 사회생활
전역하고 나서 빨리 무언가를 이뤄야 한다는 생각에 이것저것 일을 벌였지만, 정작 집중해서 하나를 잘 끝낸 것이 많지는 않다. 회사에서 처음으로 퍼블릭 릴리즈를 하는 프로덕트를 만들었고, 덕분에 Go와 Rust를 좋아하는 (잘 모르지만) 1년 차 개발자가 되었다. 블록체인 업계에 돌아와서 재미있는 것을 해보자는 생각에, 컨트랙트 기술(Solidity, Anchor 등)을 빠르게 학습해서 강의 콘텐츠도 만들었고, 강의를 진행하면서 커뮤니티를 형성하였다. 커뮤니티에서 훌륭한 동료를 만나 이들과 함께 해커톤에도 출전하여 좋은 성적을 이루었다. (나희, 수지, 채린은 잊지 못할 내 친구들이고 이 자리에서 고맙다는 이야기를 전하고 싶다)
하지만 아쉬웠던 것은 뾰족한 '나의 것'이 없었다. 해커톤 수상과 Sonar 익스플로러 론칭 등 눈에 보이는 성과들은 있었을지는 모르지만, 꾸준하게 만들어가는 '나의 것'이 없었다고 생각한다.
여기서 이야기하는 '나의 것'에 대한 정의는 다음과 같다.
사람들이 (특히 개발자들이) 꾸준하게 사용할 만한 유즈케이스를 보유한 오픈소스이다.
내가 오너십을 가지고 다양한 기술적 트러블 케이스를 많이 마주하고 해결해 본다.
1년 이상 장기적인 호흡으로 끌고 갈 수 있는 프로젝트이다. (매우 중요)
해커톤에서 시작한 프로젝트인 Parachute Drop에서 미니 엑싯을 논의하고 있다는 점에서 일부 달성한 내용이라 다행이지만, 이러한 경험을 더 많이 가져가자고 결심하게 된 2022년이었다.
절대 특정 언어가 좋다거나, 나쁘다는 것을 의미하는 것이 아니다. 하지만, 다양한 언어를 접하면서 각자의 철학에 대해 이해하고 공감하는 것이 나의 시야를 넓힐 수 있는 방법이라는 것을 알게 되었다. 김창준 님도 하나의 언어를 깊이 파는 것이 아니라 다양한 언어를 같은 요구사항을 구현하면서 실력이 는다고 이야기하셨다. 블록체인 세상에서 얻게 된 가장 유의미한 수확은 나의 주 언어를 Go로 바꾸었다는 것이고, 필요한 경우 Rust를 활용하여 작은 규모의 프로젝트를 만들거나 Rust로 작성된 코드를 읽고 Go로 포팅할 수 있게 되었다는 것이다. 왜냐하면 블록체인 세상은 모두 Go 아니면 Rust를 사용하기 때문이다. 예를 들어 Java에는 Null
이 있는데 Go에는 nil이 있다. 이 차이는 무엇인가? 왜 Java 외에는 Optional이 없을까? 그렇다면 Null과 Nil이라는 개념은 어떤 프로그래밍 언어론적 관점에서 등장한 것인가? 이러한 깊이 있는 질문을 스스로 던지고 고민할 수 있게 된다.
최대한 다양한 시도를 해보았다는 것이 올해의 수확이다. Safety Zone 밖을 넘어 다양한 시도를 했다. 물론 이것이 가능했던 이유는 군대를 다녀와서 기존에 내가 가지고 있던 모든 업무 관성이 초기화되었기 때문이리라. 기존에 GitHub Actions만 사용해서 CI/CD를 구축했다면, AWS CodePipeline을 적극적으로 이용하였다. 이 외에도 기존에는 사용하지 않았던 여러 클라우드 및 인프라 추상화 기법을 사용해서 최대한 업무 효율성을 높이고자 노력하였다. 내가 먼저 조금이라도 더 노력하고 고생해야 뒷일이 편하다. 대단한 것이 아니고, Makefile이라도 하나 더 만드는 것이 의미 있다. 조금이라도 성능 개선을 하기 위해 경량 스레드를 열어보거나, 쿼리 플랜을 활용해서 슬로 쿼리를 해결하려는 태도이다. 이렇게 Safety Zone 밖을 넘어 효율적인 업무를 더욱 고민해 보았다. 다양한 시도를 해볼 수 있던 DSRV에서의 Sonar Osmosis Explorer가 내 성장에 있어 크게 의미 있는 프로젝트였다.
병장 시절 알게 되었던 테라/루나의 경제 시스템과 그들이 꿈꾸는 미래에 열광했다. 지금도 테라/루나는 정말 아쉬운 프로젝트라고 생각한다. 특히 합성자산의 미래, Mirror Protocol을 접했을 때의 두근거림은 여전히 잊을 수 없다. 대마불사라고 생각했지만 (내가 생각하기에는) 외부의 공격으로 무너졌다. 이 세상에 절대적인 것은 없고, 더 큰 세력에 의해서 충분히 흔들릴 수 있다. 물론 무엇인가에 대해 많이 알면 알수록 그것을 증오하기 어렵다는 것은 잘 알려진 사실이다. 하지만 어떠한 계획이나 프로젝트가 절대적이라고 맹신하거나 숭배하지 말고, 항상 탈출 전략을 고민하고 헷징 할 수 있는 태도가 필요하다. 이러한 점에서 꼭 회사만 고집하지 말고 학교를 잘 졸업하는 것이 그다음 미래를 대비할 수 있는, 조급하지 않을 태도가 된다고 생각한다.
기술적인 측면도 똑같다. 언제나 우수한 기술은 없다. MyBatis가 JPA보다 낡았다고 사람들이 생각하지만, 꼭 그렇지 않다. 오히려 Java 17의 등장 이후 Record 클래스가 불변하게 되면서 Record 클래스를 Entity로 활용하려고 하는 경우 JPA는 프락시 객체를 불변 객체에서 생성하지 못하면서 오류를 반환한다.
이와 달리 MyBatis는 빠르게 우회를 찾아 적용할 수 있었다. JPA가 나쁘다는 것은 전혀 전혀 아니지만, 오히려 최신 기술이고 핫한 기술이라고 해서 이전 기술이 쓸데없다거나 꼭 뒤처졌다거나라고만 생각할 필요가 없다는 것이다. 이 세상에서 절대적인 것은 없다. 모든 것은 상대적이다. 이러한 진리 속에서 내가 어떠한 선택을 삶의 순간 속에서 할 것인가를 고민해야 할 것이다. 이런 태도가 나에게 부족했었고, 그래서 상처받은 사람들도 있을 것이다. 다시는 그러지 말아야겠다고 다짐한다.
반대로 소프트웨어 업계에 대해서도 생각해 보면, 이제는 소프트웨어가 해결할 수 있는 부분이 얼마나 되는가에 대한 고민을 해볼 수 있다. OpenAI과 ChatGPT의 등장으로 특정한 소수만이 풀 수 있는 문제만 남아있든가, 아니면 Web3와 같이 금융 인프라와 같이 기존에는 접근하기 어려웠던 문제 외에는 해결할 수 있는 설루션이 부족하다고 생각한다. 소프트웨어가 능사인가. 다른 방법은 없을까. 테크 업계에만 시선이 가는 것이 꼭 좋은 것일까. 금융 인프라를 공부하면서, 금융 공학을 공부하면서 시야가 많이 늘었다. 앞으로 다가올 미래를 준비하려면 소프트웨어가 세상을 바꾼다 (Software is eating the world)라는 구호가 정말 절대적인가를 고민해볼 필요가 있다. 물론 그 구호 자체를 의심하지는 않지만, 그 구호가 커버할 수 있는 범위가 어디까지인지 진지하게 고민할 필요가 있다는 의미이다.
지나치게 욕심을 많이 부리지 않는 마음이 항상 부족했다. 기회는 찾아올 때 밀려들어오지만, 이 과정에서 내가 준비되지 않았다면 기회를 잡기조차 어렵다. 그런데 기회를 잡기 위한 역량을 쌓으려면 여유가 있어야 한다. 여행도 많이 다니고, 친구들도 많이 만나고, 이럴 수 있는 여유가 있어야 한다. 여유가 없어 만나지 못한 친구가 갑작스럽게 세상을 떠났을 때 정말 혼란스러웠다.
일만 한다고 해서 일을 더 잘하게 되는 것이 아니다. 사람은 기계가 아니기 때문에 나 자신에게 여유가 있고 시간이 있어야 다양한 고민을 하면서 창의성을 발휘할 수 있다. 물론 일이 많으면 어떻게든 해내기는 한다. 하나의 일을 깊게 파고, 내가 스스로 고민하는 여유를 많이 가져야 할 것이다. 그리고 내가 하는 일에 있어서 ROI를 고민해야 한다. 남들이 부탁하니까 끌려다니는 것도 결코 좋은 일이 아니다. 조금 더 이기적으로 살되, 내가 책임지겠다고 하는 부분만 확실하게 책임을 지면 될 것이다.
나 자신과 내 주위 사람들, 내가 좋아하는 사람들에게 더욱 집중하자. 하나의 일을 깊게 파고, 그로부터 많은 아웃풋을 뽑아내는 방법에 대해 고민하자. 포장의 방법을 바꾸는 것을 넘어, 선택과 집중의 영역을 어디에 둘 것인가를 명확히 해서 깊이 파보도록 하자. 구체적으로는 나만의 오픈소스를 하는 것을 들어볼 수 있다. 일 말고 무엇을 해야 일을 역설적으로 더욱 잘할 수 있을 것인가. 달리기. 러닝크루. 연애. 리서치. 독서. 휴양. 코딩을 줄이되, 꼭 필요한 코딩만 해서 효율을 올리자. 왜냐하면 코딩은 삶에서 별로 좋은 게 아니기 때문이다.
2023년을 바라보는 나의 관점은 2022년의 연장선상이라는 것이다. 상황은 좋지 않다. 2020년대 후반에 다가올 다음 사이클에 대비를 해야 할 때이다.
1. 스타트업 붐이 꺼지고, 대부분의 회사들이 투자금이 떨어지면서 폐업을 결정할 것이다.
2. 인플레이션은 한 풀 꺾이겠으나, 여전히 금리 인상은 계속된다. 기저효과로 인하여 하반기에는 조금 심리가 살아날 수도 있다.
3. 경기 침체는 계속되겠지만 대규모 신용위기가 찾아오지는 않을 것이다.
4. 급격하게 국제정세가 나빠지지도 않겠지만, 좋아지지도 않을 것이다. 하지만 우크라이나 전쟁은 러시아의 패배로 끝날 것이다.
5. 비트코인은 $12K에서 횡보한다. Web3 업계는 별다른 진전이 없지만, 이더리움 계열의 ZK Rollup은 쓸모 있는 수준까지 올라올 것이다. 이더리움이 Web3의 알파요, 오메가가 될 것이고 모든 Web3 앱이 이더리움 위에서 올라가고 실험될 것이다. 코스모스는 여전히 작은 커뮤니티 수준을 벗어나지 못할 것이다. CBDC의 활성화 전까지는 비슷한 수준에서 머물 것 같다. (개인적으로 진정한 web3 가치를 이룬 것은 마스토돈이라고 생각한다. 마스토돈의 미래를 주목해보고 있다)
6. 카카오 공채는 역대 최고치의 경쟁률을 기록한다. ChatGPT 활용을 방지하기 위하여 시험장이 생긴다.
7. 코로나는 끝나지 않는다.
8. 가히 Generative AI의 시대가 될 것이다. GPT-4와 더불어 Generative AI 애플리케이션이 엄청 많이 나올 것이다. 하지만 경기가 좋지 않아 사람들이 소비를 줄이고 있어, 통합 슈퍼앱 몇 곳만 살아남을 것이다.
내가 주목하는 포인트는 다음과 같다.
기존에 소프트웨어로 혁신했다고 이야기하는 스타트업들의 생존 전략 및 생존 비율이 어떻게 되는지?
농업 분야를 효율화하는 IoT/캐리어 부분의 스타트업들이 어떻게 효율화하는지? (하드웨어의 어려움 속에서도)
Generative AI의 사용처 중 어디가 가장 빛날지, 어떤 업체가 먹을지, GPT에 대응하는 Google의 반격은 어떨지?
Generative AI의 등장에 대한 백래시로 데이터 주권 및 프라이버시 측면에서 Web3 (특히 ZK)가 어떤 실효성이 있는 대안을 줄지?
위의 매트릭스에 기반하여 내가 해야 할 일은 다음과 같다. Theme 별로 중요도 순에 따른다.
짧은 주기로 스프린트를 달리며, 각 상황에서 내가 느끼고 배운 감정을 중심으로 회고한다.
여자친구와 농사를 작게 지어본다. 그리고 이러한 기록을 유튜브에 남긴다. (자바지기 아저씨는 가볍게 시작할 수 있다고 상추 농사를 추천해 주셨다.)
매일 1시간 유산소 운동 루틴을 회복한다. 손기정 마라톤 10km 코스를 완주한다.
학교를 다닌다. 학점은 신경 쓰지 않는다. 대신, 절대 휴학하지 않는다. 계절을 듣는다. 나만의 학습 사이클을 찾는다.
국채, 채권, 농자재 등 다양한 전통 자산에 투자해보며 전통 자산에 대한 이해를 넓힌다.
Go와 Rust를 바탕으로, Generative AI를 주제로 한 혹은 유관 애플리케이션제작에 필요한 오픈소스를 제작한다. 연말 콘퍼런스 발표를 목표로 한다.
ZK에 대한 이해를 넓히기 위하여 Circom을 이용한 토이 프로젝트를 만들어 강의를 주기적으로 제작한다. Boom Labs ZK Meetup에서 활동한다.
분기 별로 1회 이상 해외에 나가서 Ethereum 콘퍼런스 (EthGlobal) 및 Devcon에 참석한다.
1 ~ 3월. 군대 병장 시절. 내가 정말 좋아하던 계장님을 보내고 신규 계장을 맞이함. 일을 그지같이 못하는 띨띨이. 서울대 나왔다고 다 똑똑한 것은 아니구나. 마음고생이 너무 심함. 코로나19에 걸림. 이 와중에 도와주셨던 이전에 모셨던 계장님께 감사드리는 마음. 3월 28일 그렇게 싫어하던 부대에서 탈출, 미복귀 전역. 3월 30일 DSRV 합류. 집에서 독립해 살기 시작함.
4월 - 6월. 사내에서 스마트 컨트랙트 기술을 학습하며 관련 강의 및 기술 블로그 콘텐츠 생산에 집중함. Cosmos, Ethereum, Sui 계열. Harmony zkDAO 졸업. SOPT를 하면서 스터디도 운영함. 이 과정에서 유능한 친구들을 만남. (나희, 수지, 채린을 만난 것은 행운이었음.) 하지만 테라/루나 사태를 맞이하고 자금이 0원이 됨.
7월. HackAtom 2022 해커톤에서 우승함. Boom Labs를 시작하여 국내 최대 개발자 커뮤니티로 만들었음. 앱잼으로 체력적으로 지쳤던 기억이 있지만 즐거웠음. (하지만 다시 하라고 하면 못할 듯...) 글로 6기를 수료함.
7월 말 - 12월 초. 사내 조직 개편으로 인한 Sonar Osmosis Explorer 프로젝트 제작에 참여. 초기 설계가 아쉬워서 열심히 달려서 Go를 학습하고 프로덕션에 적용하였음. 기술적으로 폭발적인 성장을 일구었던 시기였음. 하지만 몸이 망가졌음. 9월에 소중한 친구를 덧없이 잃어 정신이 나갔음. (혜연아 미안하다.) 힘든 마음을 ZK Meetup 준비로 잊었음. 10월에는 바쁜 와중에도 Ethereum Devcon에 참석하여 원격 근무하였음. 11월에는 FTX 사태를 맞이하고 거하게 현타가 왔음.
12월 초. 방황의 시기. 미래를 고민하는 시기. 무엇을 위해 사는 것일까, 꿈이 사라졌다고 생각하여 정말 심하게 현타가 왔음. 나는 해외에 나가고 싶은 꿈을 언제쯤 이룰 수 있을까, 이걸 정말 하고 싶었던 19살 진형이에게 지금의 나를 보여주면 상당히 실망스러워할 것이라고 생각함. 미래에 뭘 해야 할까 고민 중.
한 해 동안 도와주신 모든 분들에게 감사합니다. 특히 회사 사람들 (일규님, 태원님, 희수님, 희성님, 태완님), 제임스 웹 3 (나희, 윤준, 준하, 다은, 기훈) 및 붐 랩스 코어 및 ZK 모더레이터 분들께 더욱 감사드립니다. 그리고 무엇보다도 제 삶을 함께 해주시는 스눕 님 정말 감사합니다. 새해 복 많이 받으세요.