
Web3에서 엔지니어로 살아남기
최근 프리랜서로 모 팀에 조인해서 빌딩하고 있는데, 한 주 단위로 크립토 생태계엔 많은 일이 일어난다는게 새삼 피부에 와닿는다.
24년 12월쯤 한창 핫했던 Hyperliquid, KOL들이 대규모 트위터로 옮겨가게되었던 Kaito yaps(물론 지금은 다시 텔레그램으로 돌아온 것 같다.), Official Trump와 멜라니아 등등 관련 밈코인들, Meteora 사기, Ai16z 트위터 해킹, 내가 관심있게 봤던 Story IP 상장, 그리고 당장 어제 있었던 북한 해커의 Bybit 이더리움 지갑 Exploit 사건까지. 가 약 두 달동안 크립토 씬에서 벌어진 사건들만 나열해도 이 정도다.
보통 Dapp 개발자로써 프로젝트에서 고민하게 되는 것들은 일반적인 Web2 개발의 요소들에 더해 체인이나 지갑 연동, 블록체인과 db 간의 데이터 정합성, 온체인 검증 정도가 있다.
키워드만 보면 감이 잘 안 잡힐 수도 있는데 보통은 팀이 시장에서 핫한 지갑이나 체인들에게 사업 개발 당하여 우리 프로젝트가 온보딩 되어야한다고 주간 미팅에서 전해들으면서 마일스톤급 작업이 시작되곤 한다.
내 경험상 Web3에서 일하면서 느낀 장단점을 간략히 정리해보면 아래 정도가 있는 것 같다.
장점.
- 지금 시장에서 핫하거나 빅 플레이어들의 DEV(나 직원) 들과 직접 소통할 일이 의외로 많다.
나는 펭구로 유명한 Abstract 재단, 메타마스크로 유명한 Consensys 재단과 협업 경험이 있다. 개인적으로는 지인을 통해 알게 된 Uniswap 재단 과의 협업 기회가 있었다.
Web2에서 비유해보면 작은 팀에서 네이버, 아마존, 스트라이프와 같은 초거대 기업의 프로젝트의 개발팀과 직접적으로 협업하는 느낌이다. - 아직까지는 유니크한 프로덕트와 빠른 수익화를 만들어 낼 수 있다.
Web3의 각 섹터의 프로젝트는 아직까지도 여전히 세계 최초의 프로젝트를 만들 기회가 많다. 그러다보니 Web2 보다 완성도가 떨어지는 프로덕트로도 많은 유저들이 몰리고, 수익화가 쉽다. 하입을 물고있는 체인이나 생태계에 들어간 것 만으로 해도 졸업 기회를 노리는 고래 디젠들이나 KOL들을 주축으로 Web2 보다는 쉽게 우리 프로덕트를 사준다. - (어쩌면 가장 중요할 수 있는) 영어 실력이 는다.
1과 연관되어서 보통은 서구권의 팀들과 협업 기회가 많아서, 서면 상, 온라인 상, 혹은 오프라인에서도 영어를 할 기회가 늘어난다. 잘하고 싶지 않아도 영어가 늘 수 밖에 없다.
단점.
- 24/7인 업무환경.
씬을 이끌어가는 큰 기업과 협업할 기회가 주어지는 건 좋지만, 보통 을의 위치에서 같이 일하게 된다. 이벤트를 런칭한다던가 하는 날이 온다면, UTC 시간을 기준으로하거나 EST 시간을 기준으로 열리게 되는데, 시간이 문제이다. 나는 다른 건 몰라도 한국 시간 저녁 11시가 미국 EST 시간으로는 9시라는 건 이제 외워졌다.
요약하자면, 철야 작업을 하게 될 수 도 있다. 개인적인 생각이지만, 작은 팀이 아니라 이런 팀들을 관리하는 큰 프로젝트에 합류했어도 24/7인 업무환경에서 오는 스트레스는 더 하면 더 하지 줄어들진 않을 것 이다. 위에 써두었던 철야작업을 하는 수많은 프로젝트들에게 기술 지원을 해야해서 철야작업을 해야한다. - 아직까진 Best Practice가 없다.
웹 개발이 비교적 접근성이 쉬운 건 맞지만, 블록체인 이라는 레이어가 하나 더 있는 것 만으로 Best Practice 정립이 쉽지 않다. Finality라는 특성에서도, 최근엔 많이 나아졌지만 그 속도에 있어서도 도전적인 과제이다. - 영어를 못하거나 Web3에 관심이 없으면 업무 흐름 파악도 힘들다.
영어를 못해서 주요 아젠다에 리뷰를 적극적으로 못한다던가, 최근 핫한 키워드에 대해서 러닝커브가 생기는 것도 쉽지 않다. 관심이 있다면 공부를 해서 시장흐름을 개발자도 알아야하고, 그럼에도 관심이 없다면 떠나게 되는 환경인 것 같다.
Web2와 Web3, 1만큼 다른게 아니라 일이 다를 수도
장단점에 이어서 이번 이직 과정에서 느낀 점을 몇 가지 공유하고 싶다. 먼저 든 생각 하나는 Web3 회사에 오래 있다보면 Web2 이직이 어려워질 수 도 있겠다란 생각이 들었다.
프론트엔드의 멀티롤 요구.
내가 면접을 보면서 25년도의 스타트업 주니어 프론트엔드 개발자들은 두 가지로 나뉘는 것 같다. 기술 스택으로 React와 React Native를 모두 채용하여 웹과 모바일 모두에 대응 가능해야 하거나, 혹은 풀스택 개발자를 원하는 것 같다.
Web3 이야기로 잠깐 돌아와서 보통 dapp을 만든다고 하면 사실상 Next.js가 비공식적인 표준 스택이다. 프론트엔드에서 SSR을 사용해서 (유저들이 어떻게든 dapp의 숨겨진 페이지나 로직들을 찾아내려는 시도들이 있기 때문에) 아직 공개되면 안되는 기능들을 감춰두기도 하거나, 외부 지갑 솔루션의 서명값 인증 로직등을 서버 사이드로 분리하여 생산 속도를 높히는 등 사용 방법은 무궁무진하다.
이런 경험으로 인해 스스로 풀스택 개발자에 가깝지 않나라는 생각이 있었지만, 내 면접 경험 상 이런 경험보다는 무중단 배포에 대해 CI/CD 파이프라인을 다룰 줄 안다거나, 단순히 비즈니스 로직을 서버로 분리하는 수준을 넘어서 API 레이어를 설계할 줄 아는 수준으로 요구하는 것 같았다.
비슷한 이유로 CSR만 지원되는 React-Native 스택도 못(안) 다뤄봤기 때문에 이직을 준비하면서 내가 지원할 수 있는 회사의 가짓수가 꽤나 좁았다. (원티드 대부분의 프론트엔드 공고에 수많은 React Native 우대사항을 보면서 국내에서 이렇게 많은 앱 서비스가 React로 서빙되고 있는 줄 이제야 알았다.)
Web3 프론트엔드 개발자도 이제 꽤 있을 수도?
두 번째로 들었던 생각은 2년 전과 다르게 국내에서도 Web3 프론트엔드 경험이 있는 인재들이 과거보다 꽤 있는 것 같다란 생각이 들었다. 내가 Web3 회사에 조인하기 전에 대학 다닐때 들었던 마켓플레이스에 NFT 콜렉션을 올릴 수 있도록 Solidity 0.6 버전의 문법 강의를 들었던 경험이 있었다. (주 1회 동안 한 달을 갔었다.) 또, 2018년 즈음에 meteor라는 웹 프레임워크를 사용해서 개인 지갑을 만들어보는 실습을 한 적이 있었는데 이런 두 가지의 아주 작은(?) 경험만 있어도 Web3에 진입할 수 있던 시기가 있었다.
요즘은 국내에서도 3년 이상 빌딩하고 있는 팀들이 많아지면서 시장에 Web3 경험이 있는 빌더들도 많은 것 같다. EVM 개발부터 시작해서 Solana, Move on Sui, Cosmos, XPLA 생태계가 있는 것 같은데 각 생태계 별로 원하는 인재상도 명확한 것 같다.
- 기본적인 컨트랙트 해석 능력과 Audit 전에 검토를 맡길 수 있는 역량을 요구하는 곳.
- Multisig, Delegate call과 같은 스마트 컨트랙트 관련 지식을 깊게 물어보는 곳.
- 커리어 경험에 비추어 얼마나 탈중앙화를 이해하고 있는지를 물어보는 곳.
- UTXO, 밸런스, Wagmi Provider를 직접 구현해보고 low level의 코드를 봤는 지 물어보는 곳.
등등 생각나는 면접들이 이 밖에도 정말 많다. 만약 당신이 dapp을 만드는 회사에 지원해서 기술면접을 본다면, 그 회사의 체인 생태계가 주로 어디인지를 파악해두는 것을 추천한다. 경험 상 보면 Cosmos나 XPLA 쪽이 코어 지식을 좀 더 깐깐하게 보는 것 같다. 아무래도 EVM에서 처럼 Viem이나 Ethers같은 rpc 콜을 편하게 해주는 라이브러리가 없어서 직접 JSON rpc 리퀘스트를 직접 구성해야되는 걸로 알고 있는데, 이런 대응을 할 수 있나 없나를 검증하기 위함인 걸로 추측하고 있다.
결론은 "당신이 맞다고 생각하는 생태계에 있어라"로 요약해볼 수 있겠다.
Web3는 Web2에 비해 도메인 지식을 많이 요구하는 건 사실이다. 하지만 과거에 비해 사용자 경험이나 기술적인 편의성도 많이 개선된 것도 사실이다.
같이 dapp을 빌딩했던 다른 개발자분은 우리 서비스에서 나는 에러의 80% 이상은 의존하는 외부 서비스에서 나거나, 체인 등에서 나는 에러라면서 개발자로서 기술 성숙도를 높히기 위해서는 일반 IT 스타트업을 가는게 맞지 않나라는 이야기를 하신 적이 있다.
씁쓸하지만 공감이 가기도 하는데, 그럼에도 나는 아직까지 프로덕트 관점에서 사용자 경험을 개선시키고 문제 해결할 내용이 많은 이 Web3 업계에서 커리어를 이어나가보려고 한다.
위에서 언급한 대로, Web3에서 살아남기 위해서는 빠르게 변화하는 시장 속에서 글로벌 협업 기회를 쌓을 수 있냐도 있지만, 밤낮없는 요구사항들과 Best Practice 부족, 그리고 Web2와의 차이로 인한 경력 설계에 신중할 필요가 있다.
만약 당신이 Web3 프롣거트 엔지니어로써 커리어를 쌓고 있다면, 특정 체인과 생태계에 대해 깊은 이해를 갖추고, Web2와의 연결고리를 유지하는 전략이 필요할 것이다. 그리고 영어와 트위터. 그게 귀찮다면 텔레그램이라도 보면서 시장 흐름을 따라가려는 노력이 필수라는 점을 잊지 말자.