안드로이드에서 블록체인을 거쳐 프론트엔드까지

작성자

카테고리:

한 줄

모바일에서 시작해 스마트 컨트랙트와 백엔드를 거쳐, 지금은 웹 프론트엔드를 중심으로 일하는 개발자입니다.

세 줄 요약

2018년 안드로이드 개발자로 시작해 블록체인, 백엔드, 프론트엔드를 차례로 거쳤습니다.
스마트 컨트랙트부터 지갑 연동 화면까지 혼자 만들어본 경험이 있고, 최근에는 AI 도구를 활용해 한 서비스의 프론트엔드를 혼자 맡아 설계 하고 운영했습니다.
넓게 훑은 만큼 얕아지지 않으려고, 지금은 기초부터 다시 쌓고 있습니다.


프로그래밍을 시작한 이유

1990년생입니다. 자동차 공학·정비를 전공했고 고등학교 때 관련 자격증을 세 개 땄지만, 막상 해보니 제 적성이 아니었습니다. 대학을 중퇴했습니다.

프로그래밍을 처음 만난 건 20대 초반이었습니다. 게임을 만들어보고 싶어서 종로의 학원을 다녔는데, for 문에서 막혔습니다. 반복문이 왜 그렇게 도는지가 이해되지 않았고, 결국 그만뒀습니다.

그 뒤로 몇 년을 특별한 방향 없이 보냈습니다. 20대 후반이 되니 불안해졌습니다. 나이를 먹어도 오래 할 수 있는 일이 뭘까 생각했고, 예전에 도망쳤던 것이 떠올랐습니다.

2017년 겨울, 다시 학원에 등록했습니다. 이번엔 끝까지 갔습니다. 안드로이드, HTML/CSS/JavaScript, PHP, MySQL, 리눅스, 소켓 통신을 훑었습니다. 대단한 수준은 아니었습니다. 수료생이면 누구나 하는 만큼이었죠. 다만 이번엔 for 문 앞에서 도망치지 않았다는 게 저에게는 컸습니다.

2018년 4월, 첫 직장에 들어갔습니다.


커리어의 흐름

안드로이드로 시작해서 블록체인으로

첫 회사는 안드로이드 개발자로 입사했습니다. 디자이너가 없어서 화면 구성까지 직접 했습니다. 지금 보면 부끄러운 UI지만, 그때 “누가 안 해주면 내가 한다”는 습관이 생겼습니다.

블록체인은 우연히 맡게 됐습니다. 담당하시던 개발자분이 퇴사하면서 회사에서 인수인계를 받아보지 않겠냐고 물었고, 욕심에 손을 들었습니다. 2018년은 그 분야가 가장 뜨거웠던 시기였고, 저는 그때 아무것도 모르는 신입이었습니다.

그 뒤로 비트코인·이더리움 노드를 세우고, 라이트코인 기반 오픈소스를 수정해 알트코인을 만들고, 솔리디티로 ERC-20 토큰을 짰습니다. 마지막에는 이더리움 지갑 앱을 자바와 Web3.js로 만들었습니다.

결과적으로 이 선택이 제 커리어의 축이 됐습니다. 의도한 건 아니었습니다.

안드로이드 · 백엔드 · 거래소

두 번째 회사에서는 쇼핑몰 앱을 만들었습니다. WebView 기반 앱에 PG 결제를 붙이고, CodeIgniter로 API도 짰습니다. 프로젝트가 마무리 단계에 접어들면서 조직이 정리됐고, 6개월 만에 나오게 됐습니다.

짧게 끝난 게 아쉬웠습니다. 실수도 많았고, 그게 제 몫이 아니었다고 말할 생각은 없습니다.

세 번째 회사는 가상자산 거래소였습니다. 안드로이드와 iOS 웹뷰 앱을 만들고, 거래소 어드민 페이지 API와 클라이언트 API를 개발했습니다. Node.js를 처음 실무로 써본 게 이때입니다. 통계 쿼리를 짜고 입출금 내역을 다루면서, 돈이 오가는 시스템의 무게를 처음 실감했습니다.

회사는 이후 사업을 마무리했습니다. 저는 개발팀 소속으로 제품을 만드는 일만 했습니다.

다시 학생이 된 시간

세 번째 회사를 나온 뒤, 취업 대신 공부를 택했습니다.

첫 회사 다닐 때 호기심에 사뒀다가 잊고 있던 코인이 있었는데, 잔고를 확인해보니 꽤 올라 있었습니다. 그 돈으로 온라인 강의에 등록했습니다. 수학, Java, C++ 세 과목을 동시에 신청했습니다.

강의 안내에는 “한 과목도 벅찰 것”이라고 쓰여 있었습니다. 저는 회사를 다니지 않으니 괜찮을 거라고 생각했습니다.

결과는 처참했습니다. 1주가 지나고 2주가 지날수록 진도가 저를 앞질렀고, 중간고사와 기말고사 모두 형편없는 점수를 받았습니다.

그런데 이상하게 돈이 아깝다는 생각은 들지 않았습니다. 억울했던 건 다른 거였습니다. 그동안 제가 공부해온 방식이 틀렸다는 걸 그제야 알았다는 것. 돌아가는 코드를 만드는 것과 왜 돌아가는지 아는 것 사이에 얼마나 먼 거리가 있는지를, 시험지 앞에서 처음 봤습니다.

공부하다가 운 건 그때가 처음이었습니다.

세 과목을 끝까지 듣긴 했습니다. 성적은 좋지 않았지만, 이 시간이 없었다면 저는 지금도 “돌아가니까 됐다”에서 멈춰 있었을 겁니다. 제 커리어에서 가장 값비쌌고 가장 남는 게 많았던 몇 달입니다.

NFT, 그리고 프론트엔드

네 번째 회사는 Web3 게임 플랫폼이었습니다. NFT가 한창 붐이던 시기였고, 블록체인 이력 덕에 입사는 어렵지 않았습니다.

여기서 물고기 육성 게임의 NFT 스마트 컨트랙트와 인게임 재화 토큰을 설계했고, NFT 발행·조회·전송 API와 P2P 거래소 API를 Node.js와 Spring Boot로 만들었습니다. Polygon 위에서 돌아갔습니다.

솔직히 말하면 이 시기에 처음으로 이 분야를 계속해야 하나 고민했습니다. 팀에서 블록체인을 아는 사람이 거의 없었고, 저 역시 잘 안다고 말할 수 있는 수준이 아니었습니다. 요구사항이 불명확한 상태로 무언가를 만들어내야 하는 날이 많았습니다.

1년쯤 지났을 때 회사가 새 플랫폼을 준비하면서 React를 해보지 않겠냐고 물었습니다. 받아들였습니다. 사실 선택지가 많지 않기도 했습니다.

이때 처음으로 사수가 있었습니다. 8년 개발하면서 저를 옆에서 봐주는 사람이 있었던 건 이때가 유일합니다. React와 Next.js를 그분과 함께 배웠고, 커머스 프론트엔드를 만들었습니다.

의외로 잘 맞았습니다. 화면이 바로 반응하고, 만든 걸 사람들이 곧바로 쓴다는 감각이 좋았습니다. 블록체인에서는 못 느꼈던 종류의 즐거움이었습니다.

회사는 이후 문을 닫았습니다.

프론트엔드를 혼자 맡았던 1년 4개월

다섯 번째 회사에는 제가 먼저 연락했습니다. 이전 회사에서 함께 일했던 분이 창업을 했다는 걸 구직 사이트에서 봤고, 직접 메일을 보냈습니다.

여기서 1년 4개월동안 Web3 프론트엔드와 크리에이터 플랫폼을 혼자 만들었습니다. 디자이너도 기획자도 사수도 없었습니다.

  • Web3 게임·NFT 프론트엔드를 React / Vite / TypeScript로 신규 구축
  • MetaMask, Reown AppKit 지갑 연동
  • Polygon 네트워크 연동, 토큰 잔액 조회와 결제 처리
  • Unity 게임 iframe 연동, NFT 목록·상세·판매 등록
  • 크리에이터 플랫폼: 대시보드, 마이페이지, 커뮤니티, 쿠폰 스토어까지 4개 도메인 20여 개 페이지

이 기간의 진짜 이야기는 AI였습니다. 기존 React/Next.js 코드베이스를 AI 도구로 분석해 구조를 파악하고, 화면을 만들고, 고치고, 다듬었습니다. 물어볼 사람이 없는 환경에서 AI는 실질적인 동료였습니다.

동시에, 나중에 돌아보니 대가도 있었습니다. 빠르게 만들어지는 만큼 “왜 이렇게 되는가”를 건너뛰기 쉬웠습니다. 결과물은 나왔지만 제 안에 남은 것이 그만큼은 아니었다는 걸, 일을 쉬면서 알았습니다.


지금 하고 있는 것

지금은 기초를 다시 쌓고 있습니다.

구체적으로는 자동완성과 AI 에이전트를 끈 상태에서 코드를 씁니다. Promise를 직접 구현해보고, useState를 훅 배열로 만들어보고, 스토리지 슬롯을 손으로 계산해봅니다. 이미 아는 것을 다시 하는 게 아니라, 안다고 믿었던 것을 확인하는 작업입니다.

병행해서 그동안 벌어진 변화를 따라잡고 있습니다.

  • 2018년에 쓴 Web3.js와 Truffle은 지금 둘 다 지원이 끝났습니다. viem과 Foundry로 옮기는 중입니다
  • 2022년에 짠 OpenZeppelin v4 컨트랙트는 v5에서 컴파일조차 되지 않습니다. 마이그레이션하며 무엇이 왜 바뀌었는지 기록하고 있습니다
  • 이더리움은 The Merge 이후 사실상 다른 체인이 됐습니다. PoS, EIP-4844, 계정 추상화를 다시 공부하고 있습니다
  • 테스트를 제대로 배우고 있습니다. 이건 제 이력에서 가장 큰 공백이었습니다

이 블로그에는 그 과정을 씁니다. 잘 아는 걸 정리하는 글보다, 몰랐다가 알게 된 것을 주로 쓰려고 합니다.


블록체인에 대한 제 생각

솔직하게 쓰겠습니다.

8년 중 대부분을 이 분야에서 보냈습니다. 그 사이 시장은 두 번의 큰 사이클을 지났고, 제가 만든 것 중 지금도 살아 있는 서비스는 많지 않습니다. 한때는 그만둘까 오래 고민했습니다.

그럼에도 남은 이유는, 이 분야가 저에게 가르쳐준 것이 명확하기 때문입니다.

배포하면 고칠 수 없는 코드를 짜는 일. 되돌릴 수 없는 상태 전이를 설계하는 일. 누구나 내 코드를 읽고 공격할 수 있다는 전제로 만드는 일. 실패한 트랜잭션을 사용자에게 어떻게 설명할지 고민하는 일.

이건 어느 도메인에 가도 쓸모 있는 감각이라고 생각합니다. 제가 프론트엔드를 하면서도 “이 요청이 두 번 실행되면?”을 먼저 묻게 된 건 여기서 온 습관입니다.

지금 시장을 과장할 생각은 없습니다. 투기 사이클은 지나갔고, 남은 건 게임 아이템, 티켓, 자격증명처럼 좁고 구체적인 용도들입니다. 저는 그 좁아진 자리에서 제대로 만드는 쪽에 관심이 있습니다.


일하는 방식

안 해주면 내가 합니다. 디자이너 없이 화면을 만들었고, 기획자 없이 요구사항을 정리했고, 사수 없이 코드베이스를 파악했습니다. 좋은 환경에서만 일해본 적이 별로 없어서 생긴 습관입니다.

AI는 속도를 올리는 도구지 이해를 대신하는 도구가 아닙니다. 1년 넘게 그렇게 써보고 나서 얻은 결론입니다. 지금은 생성된 코드를 한 줄씩 설명할 수 있을 때만 다음으로 넘어갑니다.

모르는 걸 모른다고 말합니다. 이건 시험지 앞에서 배웠습니다. 아는 척하고 넘어간 것들은 결국 경력 부채로 쌓입니다.

넓게 다녀본 게 강점이 되게 만들고 싶습니다. 안드로이드, 스마트 컨트랙트, 백엔드 API, 프론트엔드를 다 해봤습니다. 각각을 세계 최고 수준으로 하지는 못하지만, 어디서 문제가 생기는지 감이 옵니다. 컨트랙트 이벤트를 설계할 때 인덱서가 뭘 필요로 하는지 알고, 프론트를 만들 때 체인 파이널리티가 UI에 어떤 의미인지 압니다.


개인적인 것들

  • 자동차 정비 자격증이 세 개 있지만 운전면허는 없습니다
  • 내향적인 편입니다. 여러 팀과 어울리는 일이 오래 어려웠고, 지금도 잘한다고 말하긴 어렵습니다. 대신 글로 정리해서 남기는 걸 잘합니다. 이 블로그도 그 연장입니다
  • 공부하다 울어본 적이 한 번 있습니다
  • 커리어가 한 번도 계획대로 간 적이 없습니다. 매번 우연히 맡은 일이 다음 챕터가 됐습니다. 이제는 그게 나쁘지만은 않다고 생각합니다

지금 찾고 있는 것

웹 프론트엔드를 중심으로, 백엔드와 온체인까지 손이 닿는 자리를 찾고 있습니다.

작은 팀이어도 괜찮습니다. 오히려 한 사람이 여러 층을 봐야 하는 환경이 제가 해온 방식과 맞습니다.

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다