나는 7년 차 SI 개발자였다. 잠시 IT 기자로 일했지만, 다시 개발자로 돌아와 기자로 일했던 시간을 훌쩍 넘겼다. SI 개발자로 일하며 솔루션 회사 이직을 꿈꿨고, 솔루션 회사에 합류한 지 2년이 됐다.

SI 개발자보다 솔루션 회사 개발자가 더 행복할까? SI 개발자가 솔루션 회사 개발자가 되면 어떤 능력이 부족할까? SI와 솔루션 회사 모두를 경험한 개발자로서 SI 개발자가 솔루션 회사에 가면 어떻게 되는지 나누고자 한다.

이 글에서 내가 솔루션 회사에 합류해 2년 간 배운 걸 공유한다.

7년 차 SI 개발자

첫 회사에서 SI 개발자로 4년 2개월, 퇴사 후 프리랜서로 2년. 나는 6년 2개월 간 안드로이드 개발자로 SI를 누볐다. 나는 주로 은행 앱을 만들었는데, 단일 앱 숫자는 10개가 넘고 발주 은행사만 5개가 넘는다. 몇몇 프로젝트는 안드로이드 PL(프로젝트 리더)로 일했으니 이 파트에서 나는 꽤 쓸만한 개발자였다.

SI 환경이 무조건 단점만 가졌다고 생각하진 않는다. 수십, 수백억 원 프로젝트를 경험했고, 차세대 프로젝트도 경험했으니 SI 환경에서 경험치는 자신이 있다. 또한, SI 환경에 꽤 잘 적응한 편이라고 생각한다.

하지만 나는 SI 환경과 어울리지 않았다. SI 환경이 갖는 한계와 내가 원하는 방향이 너무 달랐기 때문이다. 예산과 마감 기한 등 많은 게 정해진 상황에서 오로지 기술력과 내 노동 시간을 늘려야 제품의 질을 올릴 수 있는 환경은 자유도가 너무 낮았다.

SI 개발자 시절

나는 생산성을 높여 효율을 찾고 싶었고, 성장하는 조직에 속하고 싶었으며, 제품에 관한 더 많은 대화를 하고 싶었다. SI가 갖는 장점도 있지만, 늘 단발성 프로젝트로 끝나는 환경이 아쉬웠다.

그렇게 SI를 떠났고, 심지어 개발자 포지션 자체를 떠났었다. 그렇게 1년여 IT 기자로 활동했고, 기자로서 개발자들을 보고 있자니, 다시 소프트웨어를 만들고 싶어졌다. 그렇게 지금 일하는 솔루션 회사에 합류했다.

솔루션 회사에서 배운 것 3가지

솔루션 회사에 합류한 지 2년, 나도 사람인지라 어느 직장인처럼 이곳에서도 실망하기도 했고, 상처받기도 했다. 그리고 시간이 흐르면서 때때로 실망과 상처를 치유하고도 남을 만큼 벅찬 기쁨을 누리기도 했다.

나는 SI 환경에서 많이 배웠지만, 2년간 솔루션 회사에서 일하며 이곳이 나와 더 잘 맞는 환경이라는 걸 느꼈다. 도대체 솔루션 회사가 더 좋다는데 뭐가 더 좋은지. SI 환경이 너무 싫은데 솔루션 회사에 가면 정말 나아지는 건지. 내가 SI 개발자로 일하며 고민했던 것을 지금 고민하는 개발자들에게 들려주려고 한다.

내가 솔루션 회사에서 배운 3가지이자, SI 환경과 다른 것 ▲거리 ▲방향 ▲깊이 등 3가지다.

◼︎ 거리. 단거리 달리기와 장거리 달리기.

SI 환경에서 아쉬웠던 것 중 하나가 제품을 만들고 고객의 피드백과 데이터를 볼 수 없는 것이었다. 은행 앱은 100만 단위 다운로드가 일어나고, 사용 빈도도 높다. 하지만 내가 볼 수 있었던 피드백은 구글 플레이스토어 댓글뿐이었다. 그렇다. 욕뿐이다.

개발자로서 내 코드에 자부심이 있었다. 더 나은 코드를 짜고 싶었고, 내가 만든 코드를 100만 단위 고객이 사용한다는 것에 책임감을 느꼈다. 그런데 어떤 고객이 얼마나 사용하며, 어떤 생각을 하는지 데이터를 볼 수 없었다. 나는 그저 SI 개발자였기 때문이다.

내가 참여했던 SI 프로젝트는 보통 1년 내 끝났고, 프로젝트가 이어져도 구성원이 많이 바뀌었다. 또한, 각자 계약된 기간이 달라 프로젝트 도중 철수하는 개발자도 많았다. 그렇게 철수한 개발자에게 히스토리를 물어보는 것은 용기가 필요했다.

결국 철저히 프로젝트 구성원일 때만 소통하고, 일하는 용병이 될 수밖에 없었다. 단거리 달리기인 것이다.

하지만 솔루션 회사는 그렇지 않다. 2019년에 짠 코드를 2020년에도, 2021년에도 봐야 한다. 2019년에 함께한 동료가 2021년에도 함께한다. 더 감동적인 것은 2019년에 함께한 고객이 2021년에도 함께하는 것이다. 나는 이 부분이 무척 좋다.

프로젝트에 관한 ‘거리’는 기술적 성장도 다르다.

2019년에는 맞았고, 2021년에는 틀릴 수 있는 로직을 보며 확장성에 관한 고민을 할 수 있고, 변화하는 도메인 지식도 쌓을 수 있다. 2년 전 내 코드를 보며 부끄러움을 느끼고, 2년간 성장한 동료를 보며 무서움을 느낀다. 긴 호흡을 가지고 프로젝트를 이끄는 경험은 무척 소중하다.

단거리 달리기에 매력을 느끼는 개발자도 있다. 나 역시 단거리 달리기의 매력 중 몇몇을 좋아한다. 하지만 장거리 달리기가 주는 또 다른 매력은 경험해보지 않으면 알 수 없다.

두 종목은 다르다는 걸 기억해야 한다. 동시에 두 가지를 모두 할 수는 없다.

◼︎ 방향. 그래서 다음은 뭘 해야 해요?

앞서 이야기했듯, SI 환경은 대부분이 정해져 있다. 여기엔 기술 스펙도 포함된다. 하지만 솔루션 회사에서는 SI 환경보다 선택지가 넓다. 조직이 작거나 초기 단계라면, 선택지는 무한할 수 있다.

웹 서비스를 만든다고 하면, 백엔드와 프론트엔드부터 고민을 시작한다. 백엔드만 해도 ▲Java ▲PHP ▲Node.js ▲C# ▲Go ▲ Python 등 다양한 선택지가 있다. 프론트엔드는 ▲뷰(Vue) ▲리액트(React) 등이 양대 산맥을 만들었다고 해도, 상황에 따라 다른 선택을 할 수도 있다.

물론 선택의 범위가 넓은 게 뭐든 선택할 수 있다는 건 아니다. 기존 멤버들의 기술 스펙도 고려해야 하고, 추후 팀이 확장될 경우 채용에 관한 고민도 필요하다. 서비스에 따라 다르기도 한데, 프로젝트 크기나 기한, 난이도 등이 고려 대상이 되겠다.

내가 속한 솔루션 회사도 초기 단계에 고민이 많았다. 당시엔 앵귤러(Angular)가 선택지에 있었는데, 두 번째 웹 서비스를 만들 땐 선택지에 ▲뷰 ▲리액트 등 2가지만 남게 됐다. 앵귤러 선택 당시엔 예상하지 못한 결과였다. 결국 이후 만든 웹 서비스는 뷰를 활용했고, 앵귤러는 초기 멤버들의 아픈 손가락으로 남았다.

앵귤러, 뷰, 리액트 ./ 구글 트렌드

안드로이드 개발자로 6년을 보낸 나로서는 이 과정에 꽤 흥미로웠다. 코틀린이 널리 사용되기 전이었으니 안드로이드 프로젝트에서 언어 선택지는 ▲자바가 유일했고, 선택지는 기껏해야 어떤 라이브러리를 사용하느냐 정도였다. 하지만 웹 서비스는 선택지가 많았고, 이를 선택하는 과정은 꽤 신선한 시간이었다.

현재도 다음 신사업을 고민하는 과정에서 하이브리드 앱 프레임워크를 논의하고 있는데, ▲플러터(Flutter) ▲리액트 네이티브(React Native) 등 두 가지 선택지를 두고 고민 중이다. 이 선택이 1년 뒤, 2년 뒤에 어떤 결과가 될지 서로의 고민을 나누는 과정은 피곤하지만, 재밌는 포인트다.

기술적 고민뿐만 아니라, 많은 부분에서 자유도가 있다. 조직마다 차이는 있지만, 적어도 내가 속한 회사는 SI에 비해 무한한 자유도를 자랑한다. ▲협업 도구 ▲프로젝트 범위 ▲참여 멤버 등 다양한 부분에서 멤버들의 의견을 수렴했다. 이 부분 만큼은 우리 회사가 충분히 자부심을 가져도 좋을 것 같다.

◼︎ 깊이. 그래서 어디까지 해야 해요?

장기적으로 일을 하되, 어느 방향으로 갈지 다양한 선택지를 두고 논의하는 것은 솔루션 회사의 특성이며, 나는 이런 논의가 즐거웠다. 개발자지만 제품에 관한 다양한 논의를 즐기는 내 성향과 잘 맞기 때문이다.

다시 말하지만, 무조건 이 환경이 더 나은 건 아니다. 나보다 월등히 나은 사람이 내 선택에 비하면 거의 정답에 가까운 해결책을 제시할 수 있다면, 그를 리더로 두고 무조건 따라가는 것도 좋다. 스티브 잡스나 일론 머스크가 그렇게 이끈다면, 나 역시 한 번쯤은 따라가 보고 싶다.

하지만 이는 결과론적 이야기다. 스티브 잡스도 처음부터 최고의 인사이트만 보인 건 아니었으며, 일론 머스크도 최근 평과 불과 작년의 평이 무척 다르다. 결국 잘 돼야 하는 것이다. 아마 이런 영웅들과 함께라면, SI처럼 잘 정해진 프로젝트에 참여하는 것도 의미 있겠다. 그런 면에서 더 많은 멤버와 다양한 논의를 하는 것이 무조건 옳을 수 없다는 것이다.

일론 머스크는 춤도 춘다 ./ 블룸버그

아직 영웅이 되지 않은 많은 예비 영웅이 모여 작은 조직을 만든다. 이렇게 예비 영웅이 모인 곳이 스타트업이고, 예비 영웅들이 자신의 고민을 함께 논의하며 제품을 만드는 곳이 솔루션 회사라 생각한다.

이 경우 ▲거리와 ▲방향 외에도 또 다른 고민이 생긴다. 바로, 깊이다.

솔루션 회사는 고객의 만족을 위해 고민한다. SI 환경은 그 고객이 확실히 정해져 있는데, SI 발주사다. 때문에 SI 발주사 직원을 만족시키면 된다. 하지만 솔루션 회사는 대부분 고객이 정해져있지 않다. 고객층은 정해졌겠지만, 모든 고객이 눈앞에 보이는 건 아니다.

때문에 고객의 만족을 위해 ‘어디까지’ 고민해야 할지 정해야 한다. 어느 깊이까지 고민하고, 행동하는 게 맞는지 논의해야 한다는 거다.

기술적 측면에서 보면, 단순히 트래픽이 될 수도 있고, 접근성이 될 수도 있으며, 행동 범위가 될 수도 있다. 더 쉽게 말하면, 얼마나 더 많이 쓸지에 따라 서버 환경이 달라지고, 어느 환경에서 접근하느냐에 따라 웹 서비스만 해도 될지, 데스크톱이나 모바일 앱을 만들어야 할지 등을 판단해야 한다. 아, 접속 국가에 따라 해외에 서버를 두는 것도 고려해야 할지도 모른다. 또한, 고객의 불만 사항에 유선으로 대응해야 할지, 이메일로만 대응해도 될지 등을 선택해야 한다.

솔루션 회사는 이 모든 게 모호하다. 때문에 예비 영웅들은 각자의 그림에 따라 서로 논의한다. 이 과정은 결코 유쾌하기만은 하지 않은, 굉장히 피곤한 작업이다. ‘깊이’는 고객이 명확히 정해져 있는 SI 환경과 어쩌면 가장 다른 포인트라 할 수 있다.

그렇게 2년.

그렇게 솔루션 회사에서 2년이 흘렀다. 7년 차 SI 개발자였던 나는 솔루션 회사에서 ▲거리와 ▲방향과 ▲깊이와 싸웠다. 이 3가지는 내 업무 성향을 바꿔야 했고, 때로는 모든 게 바뀌었다고 느낄 정도였다. 사실 모든 게 바뀌었다고 해도 충분히 큰 요소들이다.

결과적으로 나는 다른 환경에 와서 ▲기술적으로 성장했고 ▲배우지 못했던 것을 배웠다. 반복해서 말하지만, SI 환경과 솔루션 회사는 다른 것이지 어느 게 무조건 좋은 건 아니라고 생각한다. 아마 솔루션 회사에서 SI 환경으로 간 개발자는 나와 다른 부분에서 성장할 것이다.

예비 영웅들이 모인 솔루션 회사에서 3가지를 배우다 보니 내 성장은 물론, 회사도 조금씩 성장했다. 그래서 ▲서비스에 관해 긴 호흡으로 고민하고 ▲다양한 방향을 고려하며 ▲각자의 깊이를 나누는 내가 속한 솔루션 회사를 자랑하고 싶다. 왜냐면, 우리 회사를 궁금해할 당신에게 우리가 채용을 하고 있다는 사실을 알려주고 싶거든.

데이터 애그리게이션 서비스, CODEF

코드에프(CODEF). 내가 속한 솔루션 회사다. 우리는 다양한 데이터를 제공하는 CODEF API를 만든다. ▲은행 ▲카드 ▲증권 ▲공공 등 다양한 데이터를 CODEF API를 통하면 모두 사용할 수 있다.

CODEF API를 사용하는 서비스로 ▲카카오페이 ▲국민은행 ▲쿠팡 ▲페이코 ▲뱅크샐러드 등 누구나 들어봤을 회사들이 있다. 아마, 당신도 알게 모르게 우리 서비스를 사용했고, 사용하고 있을 것이다.

이 정도 규모 고객사가 사용하다 보니, 코드에프는 월 20억 건 이상 트래픽을 받아내야 한다. API를 운영하기 위한 어드민 웹 서비스, API를 알리기 위한 홈페이지 등 다양한 웹 서비스도 있다. 여기에 신사업도 준비 중이니 점점 더 많은 동료가 필요하다. 그래서 당신에게 이 글로 다가간다.

현재 채용 중인 포지션은 ▲소프트웨어 개발자 ▲마케터 등 2개 포지션이다.

먼저 마케터는 기술 트랜드에 관심이 많으며, GA 등 트래킹 툴을 활용하고 분석할 수 있는 사람을 찾는다. 데이터 기반 광고 기획 및 집행 등 우리가 만든 CODEF API를 마음껏 자랑해줄 마케터를 기다리고 있다.

그리고 소프트웨어 개발자는 나와 함께 일한다. 코드에프 기술 스펙은 ▲Java ▲Spring ▲Vue.js ▲MySQL 등을 사용한다. 신사업에선 ▲Flutter ▲React Native 등을 활용할 예정이다. 이 스펙을 경험한 개발자라면 1차 자격조건을 통과한다.

소프트웨어 개발자로 합류를 원하는 당신에게 내가 줄 수 있는 것은 앞서 말한 3가지를 모두 경험하게 해주는 거다. 소프트웨어 개발자로 일하며 제품에 관한, 코드에 관한 ▲거리 ▲방향 ▲깊이 등을 고민할 수 있는 건 꽤 즐거운 도전이 될 수 있다.

물론 9년 차 개발자인 나 역시 모든 부분에서 많이 부족하다. 때문에 내가 가르쳐 주는 게 아닌, 함께 경험할 수 있는 동료를 찾는다. 코드에프 곳곳에 숨어있는 예비 영웅들과 함께할 수 있는 기회이기도 하다.

코드에프 채용에 관한 더 자세한 내용은 다음 링크를 참조하고, 궁금한 것이 있다면 언제든 내 이메일로 문의해도 된다.

회사 정보 : https://about.codef.io/#/

노션 채용 : https://bit.ly/2M1yDra

오세용 개인 이메일 : osystst@지멜

살짝 망한 것 같은 단체사진 ./ 코드에프

마무리

언젠가 그렇게 되겠지 했지만, 두 자릿수 커리어가 현실이 되니 생각이 많아진다. 10년 차 사회인이 됐다고 생각하니, 현실을 부정하고 싶기도 하지만, 여전히 다양한 도전을 즐기는 내 모습에 가슴을 쓸어내린다.

다시 10년 뒤인 20년 차가 된 나도 여전히 지금처럼 다양한 도전을 즐기며, 여전히 넘어지고 일어섰으면 좋겠다. 넘어지는 게 무서워 앉아있는 겁쟁이가 되지 않기를 격렬히 바란다.

솔루션 회사에서 2년간 일하며 ▲거리 ▲방향 ▲깊이 등에 관한 후회도 남지만, 그동안 겪지 못한 많은 것을 배웠다는 점에서 만족한다. 앞으로 또 어떤 도전을 할지 모르겠지만, 지금처럼 새롭게 배우는 예비 영웅으로 남을 수 있길 바란다.