상상력으로 문제를 해결하기

2022-07-31
Cover Image for 상상력으로 문제를 해결하기

프론트엔드의 그루가 되고자 하는 조성동입니다. 사업에 대해 관심이 많습니다.

어떻게 처음 개발을 접하게 되었나요?

저는 어렸을 때 게임 중독이었어요. 심지어 초등학생 때는 게임을 한다고 학교를 안 간 적도 있었어요. 학교가 끝나면 집에 와서 게임하거나 친구들이랑 pc방을 다니고 했었죠. 그러다가 이제 고등학교로 올라가야 하는 시기가 되었는데, 아버지가 그렇게 게임을 좋아하면 게임 개발을 할 수 있는 특성화 고등학교를 가보는 게 어떠냐고 하시더라고요. 요즘 게임 회사 주식도 많이 올랐고 이게 잘 될 것 같다고 하시면서 C 프로그래밍 책을 한 권 주셨어요. 책을 받고 목차를 봤는데 다 모르겠고 목차의 가장 마지막에 프로젝트가 한 개 있었어요. 그게 게임 만드는 거였어요. 그래서 그 게임을 만드는 걸 해보고 싶어서 프로그래밍 공부를 시작하게 됐어요. 그때가 중학교 3학년이었습니다. 막상 화면에 헬로우 월드가 나오는 것을 보면서 너무 재밌는 거예요. 그렇게 개발을 접하게 되었습니다.

고등학교에서 개발 공부를 했나요?

그렇게 해서 특성화 고등학교에 갔는데 그때도 처음에는 공부보다는 게임을 더 열심히 했어요. 그래도 내가 특성화 고등학교로 왔고 개발 공부를 시작했으니까 게임을 만들어봐야 하지 않겠나 싶더라고요. 그래서 게임 개발을 몇 가지 했었고 앱 스토어에 게임을 출시하기도 했어요. 그 이후에는 그때 당시에는 이 길이 내 길이라고 확신을 가지고 있는 상황이었고 자연스레 컴퓨터 공학 쪽으로 대학에 갔죠.

개발자를 해야겠다고 결심하게 된 순간

취업 준비를 할 때는 내가 개발자를 계속해야 할지에 대한 결정을 못 했어요. 개발은 재미있었지만, 회사에서 일해본 경험이 없으니 이걸 내가 직업으로 해야 할지는 잘 모르겠더라고요. 그래서 졸업하기 전에 회사에서 인턴을 해봤는데, 재밌더라고요. 내가 개발 공부를 하면서 일을 하는 건데 회사에서 돈을 준다는 사실이 좋았어요. 일해보고 나서야 이 직업이 나에게 맞겠다고 생각하게 되었습니다.

게임 개발이 아닌 서비스 개발을 하게 된 이유

게임 개발 쪽은 왜 안 하게 됐냐면, 게임 개발이 서비스 개발보다 훨씬 더 어려웠어요. 솔직히 말하면 제 역량이 부족해서 못 했습니다. 이 사실은 고등학교 때 알았어요. 게임 개발하려면 수학과 3D에 깊은 지식이 있어야 해서 웹 서비스 개발보다 훨씬 더 어렵다고 판단했어요. 제가 이 부분을 잘하는 것도 아니었고요. 또 사회에 나와서 보니 게임 개발 분야가 좋은 대우를 받고 있지도 않더라고요. 게임이 좋아서 개발을 시작한 거긴 한데, 게임이 아닌 다른 개발에도 흥미를 느끼게 된 거죠.

왜 웹 개발을 선택했나요?

이건 게임 개발이랑 조금 연결되는 게, 게임 개발도 뭔가 만들면 이 캐릭터가 움직이는 게 눈에 보이잖아요. 저는 제품을 만드는 게 재밌었지 컴퓨터 시스템 자체의 그런 공학적인 것에 끌리는 건 아니었어요. 그래서 프론트엔드 쪽이 맞겠다고 판단했어요. iOS랑 안드로이드 개발은 하지 않게 된 이유가 있는데, 제가 개발 공부를 시작할 때 2011년 맥북 프로를 쓰고 있었어요. XCode랑 안드로이드 스튜디오를 쓰려고 하는데, 빌드는 너무 느리고 제 컴퓨터가 너무 성능상 힘들어하는 거예요. 그래서 저사양에서도 개발할 수 있는 웹 개발을 해야겠다고 생각했어요. 웹 개발이라 꼭 하고 싶었다기보다는 그때 상황이 웹 개발을 하는 게 낫겠다 싶었던 거죠. 앱 개발은 한번 결과를 보는 게 너무 어려웠거든요. 근데 또 막상 해보니 웹 개발이 재미있었어요. 그리고 이 기술이 미래에는 잘 될 거라는 생각이 있었어요. 왜냐하면 그때 당시에 React Native가 막 태동하고 있었고, 웹을 통한 크로스 플랫폼 얘기가 계속 나오고 있었기 때문에 하나의 플랫폼만 하는 iOS와 안드로이드보다 매력적으로 느껴졌어요. 왜냐하면 저는 사업에도 관심이 많은데, 내가 작은 회사의 CEO 된다면 제품을 뭐로 만들어야 할까 생각했을 때 크로스 플랫폼으로 만들어야 할 것 같다고 생각했고 이게 또 다른 동기가 된 것 같아요.

처음 개발자로 일하게 된 곳은 어디인가요?

대학교 3학년 때 인턴을 하면서 "구름"이라는 곳에서 처음 개발자로 일하게 되었어요. 코딩 교육하는 강의도 제공하고 IDE도 만드는 회사에요. 인턴으로 한 학기 정도를 일했었는데 누가 시키지 않았음에도 거의 매일 야근했어요. 대학교 다니는 것보다 훨씬 더 재밌었어요. 그래서 이렇게 재밌는데 돈까지 받네? 라고 생각했어요. 그때는 리액트를 국내에서도 조금씩 쓰기 시기였고 저는 백오피스 쪽을 제이쿼리 썼었어요. 그때 저의 상황이 어땠냐면 제가 다 var로 변수를 만드니까, 사수분이 왜 var로만 만드세요? const, let, var의 차이 혹시 아시나요? 하고 물어보는 거예요. 그래서 그게 뭐예요? 하고 물었더니 사수분의 동공이 흔들리더라고요. 정말 초짜였죠. 그 당시에 코드는 많이 짰는데 좋은 코드는 아니었어요. 어떻게 더 좋은 코드를 짤 수 있을까 고민하고 코드를 계속 고쳐가는 과정에서 많이 배웠죠.

구름에서 기억에 남는 일이 있다면

구름에서는 IDE를 만들어요. 그때 이렇게까지 복잡한 애플리케이션, 그러니까 이렇게 기능이 많고 거대한 애플리케이션 자체를 처음 본 거예요. 구름 IDE는 규모와 복잡성이 애초에 큰 애플리케이션이었어요. 그게 되게 기억이 남아요. 그래서 그걸 보면서 내가 한참 부족하다는 걸 느꼈어요. 코드를 읽고 파악하는 것 자체가 저한테 되게 챌린지였거든요. 그래서 그때 제 위치를 알았죠. 그래서 더욱더 개발을 잘하고 싶어졌어요. 저는 백오피스 하나 프로젝트 담당하고 그것만 했었거든요. 당시엔 우물 안 개구리처럼 작은 세상밖에 몰랐는데, 실제로 프로덕션 나가는 제품을 보고 꿈을 키웠죠.

이후에는 창업을 했는데, 어떤 창업을 했나요?

제가 오토바이를 좋아해서 오토바이 관련 창업을 아는 형이랑 같이했었어요. 휴학하고 6개월 정도 했었고, 오토바이 헬멧이나 아니면 자전거 안장에 부착하는 블랙박스 역할을 하는 블루투스 기기와 그 기기에 연동되는 애플리케이션을 만들었어요. 저는 애플리케이션 만드는 일과 프로토타입을 위한 납땜 위주의 일을 주로 했습니다. 6개월 정도만 하게 된 이유는, 일단 너무 힘들었어요. 편의점 야간 알바를 병행하면서 같이 했었거든요. 야간 알바를 새벽 6시까지 하고 그다음에 오전에 11시까지 자고 일어나서 점심 먹고 학교에서 지원해준 사무실에 가서 일하는 생활이 계속 반복됐어요. 그래도 하면서 사업이 계속 조금씩 잘 되고 커나가는 게 있어야 하는데 그게 없었어요. 그냥 패기만 가지고 시작해서 시장 파악과 제품에 대한 전략 없이 맨땅에 헤딩하는 식이었죠. 그때는 개발 외적으로 많이 배웠던 것 같아요.

창업 이후에는 어떤 것을 했나요?

창업 이후에는 대학교에 다시 돌아와서 취업 준비를 했었죠. 취업 준비를 했었는데 막상 취업 시장에 필요한 것들이 너무 많은 거예요. 저는 그게 준비되지 않았었고 내가 개발만 좋아한다고 해서 취업할 수 있는 게 아니라 코딩 테스트라는 것도 통과해야 하고, 공부해야 할 것도 되게 많더라고요. 그래서 공부를 다시 하려고 노트북도 새로 샀어요. 그렇게 며칠 공부를 하다가 우연히 네이버를 켰는데 네이버 부스트 캠프 모집을 하는 메인 배너를 봤어요. 네이버에서 하는 개발자를 개발자 양성하는 프로그램이라길래 들어가 봤는데 지원 마감이 오늘 5시인 거예요. 그때 제가 마감한 두 시간 전에 이 배너를 봤었어요. 그래서 우선 최대한 작성해보고 지원해보자고 생각했고 운 좋게 합격하게 되어서 부스트 캠프 웹 개발자 과정을 하게 되었어요.

네이버 부스트 캠프

부스트 캠프에서도 창업했던 시절처럼 공부하고 자고의 생활을 계속했어요. 그때는 그것도 너무 재밌더라고요. 하루하루 새로운 걸 배우고 과제를 하니까 배움이 계속 쌓이고 있다는 게 느껴졌어요. 그래서 6개월 동안 정말 열심히 달렸던 것 같아요. 그러면서 누군가와 협업하는 코드를 어떻게 짜야 할지, 내가 어떤 마인드를 가져야 할지를 되게 많이 배웠어요. 그렇게 할 수 있었던 것도 근데 주변에 같이 공부하는 친구들이 있었기 때문이라고 생각해요. 그렇게 독학으로 하라고 했으면 못 했을 것 같아요. 같이 의지해 주는 동료들이 있어서 되게 좋았어요. 그렇게 부스트 캠프가 끝나고 마이리얼트립에 회사 견학을 갈 수 있는 기회가 있었어요. 견학을 가고, 이 회사가 되게 잘 될 거라고 봤어요. 코로나 이전이기도 했고, 개발팀이랑 얘기해보는 자리가 있어서 현업 개발자분들과 얘기해 봤는데 너무 좋은 거예요. 지금 사업이 커가고 있고 지금 기존의 레거시를 이제 리액트로 바꾸려고 하고 있었어요. 내가 해볼 수 있는 게 많겠구나 싶어서 마이리얼트립으로 가기로 했어요.

마이리얼트립

마이리얼트립에서는 한 1년 3개월 정도 일했어요. 그때도 굉장히 많이 배웠는데, 그렇게 많이 배우고 성장할 수 있었던 이유는 신입 패기도 있었지만 제가 막히는 부분이 있을 때 도움받을 수 있고 배울 수 있는 분들이 있었어요. 내가 일이 너무 많아서 벅찰 때는 더 중요한 것에 집중할 수 있게 일을 나눠서 도와주실 수 있는 분이 있었고, 내가 기술적으로 더 높이 올라가야 할 때는 이미 많은 경험을 하고 나한테 조언을 해줄 수 있는 분이 있었어요. 그래서 그때 많이 배웠죠. (관균님, 진호님, 철회님 잘 지내시죠? 항상 감사합니다.)

마이리얼트립에서 배운 게 있다면

개발적인 노하우도 많이 배웠지만, 사실 그런 것은 내가 의식적으로 노력한다면 시간이 지나면서 쌓일 수 있다고 생각해요. 마이리얼트립에서 배웠던 건 문제를 어떻게 바라보고 어떻게 일해야 할지를 많이 배웠던 것 같아요. 개발자는 게을러야 해요. 이런 말을 하는 사람이 되게 많은데 처음에 저는 그 말을 들을 때 잘 이해가 안 되었는데 최근에는 게을러야 성장을 한다는 생각을 많이 해요. 그래서 문제가 있으면 그 문제를 단순히 처리하는 것이 아니라 해결해야 해요. 아니면 그 문제는 단기적으로는 해결된 것처럼 보이지만 계속해서 다시 발생할 수 있어요. 그래서 그 문제의 근본적인 원인을 파악하고 해결하려고 계속 시도해보는 거죠. 그런데 이런 문제들의 정확한 해결책은 인터넷에 검색하면 대부분 잘 안 나와요. 참고할 수 있는 정도이죠. 제가 가진 문제를 똑같은 상황에서 똑같은 에러 메시지를 보면서 고민한 게 아니기 때문에 그렇거든요. 그래서 제가 생각한 방법은 계속해서 창의성을 발휘해서 해결책을 상상하는 거예요. 이렇게 하면 안 될까? 저렇게 하면 안 될까? 하면서요. 중요한 건 이게 누가 책을 쓰듯이 어디에 나와 있는 Best practice가 있는 게 아니에요. 그저 지금까지 알고 있는 기술적인 내용들을 바탕으로 해결책을 계속 시도해보는 거죠. 상상력을 발휘해서요.

그런 분이 마이리얼트립에 있었어요. 이건 왜 안 돼? 이렇게 하면 되지. 이거를 계속하시는 분이 있었어요. 저는 보면서 와 이게 되네? 싶었어요. 저는 누가 이렇게 하는 것도 못 봤고 어디에서 공부한 적도 들은 적도 없는 접근 방법들이었어요. 그분은 그저 자유롭게 머릿속에 그려지는 대로 하신 거예요. 이러한 것들을 시도하기 위해서는 용기가 필요해요. 그 접근 방법이 아무리 창의적이고 효과적이더라도 대중적이지 않고 레퍼런스도 없는 검증되지 않은 방법이면 회사와 팀을 설득하기 어려울 수 있거든요. 근데 되든 안 되든 그러한 시도 자체를 즐기고 몇 가지는 문제들이 나이스하게 해결되는 걸 봤어요. 저는 이게 본인이 기술적인 내용들을 잘 이해하고 있고 이런 계속해서 시도하는 마인드가 있어서 가능한 것 같아요. 저도 이러한 태도로 일하려고 노력해요.

이직을 결심하게 된 이유

마이리얼트립 입사 후 1년이 지나서 연봉 협상을 하는데, 그 당시에 개발자 연봉 대란이 일어났어요. 제가 마이리얼트립에서 굉장히 열심히 일해서 최고 성과를 받고 평가도 굉장히 높게 받았어요. 그에 비해서 시장과 비교했을 때 대우를 못 받는다는 생각이 들었어요. 그런데 저는 회사를 탓하고 싶지는 않았어요. 왜냐하면 코로나였고 여행 회사였고 힘든 게 당연했어요. 또 다른 이유로는, 그 당시 마이리얼트립에서는 기술적으로 우리가 한숨 돌릴 여유가 없었어요. 현 상황에서 제품을 빨리 만들고 매출을 만드는 게 회사의 최우선 과제였거든요. 그런데 그게 엔지니어에게는 마냥 좋지만은 않다고 생각해요. 기능을 많이 만드는 것에서도 배움이 있긴하지만 그게 빠듯한 일정이라면 내가 기술에 더 깊이 고민할 시간이 없어요. 그러면 나의 기술적 성장도 많이 놓치게 돼요. 이전에 하던 방식 그대로 하게 되거든요. 그래서 더 기술적인 성장을 뭔가 더 하고 싶었죠. 개인의 의견이고 이건 몇 년 전 이야기니, 현재의 마이리얼트립은 훨씬 더 좋은 회사가 되어있을 거예요.

마이리얼트립에서는 어떤 시도를 했나요?

마이리얼트립에서 그러한 환경이 저에게 주어지지 않았음에도 불구하고 여러 가지 시도를 했던 것 같아요. 예를 들면 프론트엔드의 디자인 시스템을 만들고 모노 레포를 만들었어요. 회사에서는 워낙 제품의 기능을 만드는 것 자체도 바빴기 때문에 이런 일들은 주말에 했어요. 다니는 동안은 거의 쉬는 날이 없이 일했어요. 그때 굉장히 스스로 성장하긴 했죠. 그런데 이 일들을 더 집중적으로 하고 싶다는 생각이 들었고, 당시에 뱅크샐러드에 있던 지인분들에게 얘기를 듣고 기술 블로그를 살펴봤어요. 마이데이터라는 사업적 확장에 매력을 크게 느낀 것은 아니었고, 개발자분들의 발표나 개발 블로그의 글들을 흥미롭게 봤었어요. 다만 이직을 잘했다고 생각하진 않아요. 뱅크샐러드 회사를 비하하는 게 아니라 이직할 때 상황을 냉정하게 바라보고 객관적으로 판단했어야 했어요. 그 당시에는 몸도 마음도 많이 지쳐있어서 스스로 이직에 대한 확실한 기준을 세우지 못했거든요. 가야 하는 이유와 목적이 더 확실했다면 더 좋지 않았을까 싶어요. 물론 지금은 만족하고 있습니다.

뱅크샐러드에서 기억에 남는 일

기존에 계셨던 분들이 익숙해져 있던 것들을 제가 하나씩 부셨던 것들이 기억이 나요. 불편했는데 불편한 줄 몰랐다. 그래서 해결해 주셔서 너무 좋다. 이렇게 말씀해주신 것들이 기억이 나요. 저는 뱅크샐러드에서 제품을 만드는데 필요한 프론트엔드 인프라를 정비하는 역할을 하고 있어요. 내가 제품을 만드는 데 필요한 인프라를 잘 정비해 놨을 때, 그때는 나도 비로소 뱅크샐러드에서 제품을 만들어도 되겠다고 생각하게 될 것 같아요. 지금은 저라도 이 인프라라는 "칼"을 갈고 닦을 때지 남들과 똑같이 무딘 칼로 싸울 때가 아니라고 생각하고 있어요.

하지만 지금도 잘 풀리지 않는 문제들이 있어요. 옛날부터 관성적으로 만들어온 방식, 만들어져 있는 것들, 레거시들이에요. 이런 큰 레거시들은 바꾸려고 시도하는 것 자체가 쉽지 않아요. 가만히 서 있는 사람을 밀려고 하면 잘 안 움직이잖아요. 그런데 걷고있는 사람을 걷는 방향으로 이렇게 밀면 잘 밀어져요. 이것처럼 정지되어 있는 걸 움직이는 게 만드는 것이 힘들어요. 저는 최근에는 그런 것들을 조금씩 깨려고 하고 있어요. 그래서 조금이라도 움직이게 만들면 속도가 붙을 것이라고 믿고 있고. 그게 저는 올해가 될 거라고 생각하고 있어요.

일을 처리하는 방식에 대해

저는 프론트 인프라를 만드는 일들을 하고 있고 끊임없이 요청이나 질문이 들어와요. 그래서 모든 메신저 메시지에 즉각적으로 답장하지 않아요. 그러니까 ‘모든’이라고 하면 할 건 하고 안 해야 할 건 안 해요. 당장 내가 대답이 필요한 것과 당장 대답이 필요하지 않은 게 있고, 내가 당장 작업해야 하는 것과 당장 작업하지 않아야 하는 것들이 있어요. 그런 그것들을 구분하고 일을 시작하는 편이에요. 그래서 일이 아무리 많이 들어와도 팀의 OKR이 있기 때문에 거기에서 설정한 우선순위대로 답변하고 작업을 해요. 일은 정말 여러 가지 다양한 상황에서 와요. 한가지, 두 가지 컨텍스트가 아니라 한 대여섯 개 컨텍스트가 있고 여기서 저기서 와요. 그래서 힘들죠. 그런데 내가 이분들을 다 만족시키겠다고 이것들을 다 컨텍스트 스위칭하면서 일하면 제 효율이 너무 떨어져요. 그래서 중요한 것들 쭉 끝내고 그다음 거 쭉 끝내고 이렇게 일하는 거죠. 그런데 이렇게 하다 보면 이제 어떤 분은 좀 서운해하시기도 해요. 근데 생각해 보면 모든 사람이 본인의 우선순위가 제일 중요하다고 얘기를 해요. 각자의 입장에서 이야기하기 때문이에요. 그렇다고 모든 일을 끌어안게 되면 동시에 여러 가지 일을 시작해서 잘 마무리 시키지 못할 수 있어요. 그래서 나의 우선순위를 두고 일을 잘 마무리하는 방식으로 일을 처리하려고 하고 있어요.

또, 메신저를 비동기로 사용하기도 해요. 비동기로 작업을 시작해 놓고 다른 일을 하다가 이 일이 다 끝났을 때 비동기로 하나씩 하는 거죠. 그래야 일이 조금 순차적으로 끝나더라고요. 왜냐하면 그렇게 안 하고 하나씩 끝내고 다음 일을 하려고 해도 어떤 건 동기지만 어떤 것은 비동기 작업이에요. 그래서 시작 자체가 오래 걸리는 일들은 적절히 시작은 해둬야 해요.

또, 저는 제가 하고 있는 방향이 맞나 계속해서 확인하기 위해서 동료 개발자분들에게 질문을 많이 해요. 질문을 통해서 대략적이라도 그 방향이 맞는지 아닌지 알 수 있거든요. 내가 만드는 도구의 사용자이기 때문에 계속해서 물어봐야죠.

요즘 고민이 있나요?

개발자로서의 고민은 문제 해결을 더 잘하고 싶다는 생각을 해요. 개발을 최대한 안 하고 해결하는 게 저는 가장 잘하는 것 같거든요. 내 욕심으로 코드를 예쁘게 짜려고 하는 게 아니라 문제를 해결하는 코드를 짜고 싶어요. 그게 제가 조금 잘 안 돼요. 문제를 해결하긴 하는데 제 욕심이 들어가요. 라이브러리를 써도 되는데 내가 굳이 만들고 싶어 하는 욕심들이 있거든요. 문제를 해결할 때 그런 욕심들을 버리고 싶어요. 나의 욕심을 좀 더 버리고 문제 해결에만 집중하고 싶다고 생각합니다.

협업하기 좋은 동료란 어떤 동료일까요

정직한 사람이요. 기술적으로도 그렇고 또는 기술 외적으로도 정직한 사람. 기술적으로는 근본을 잘 아는 사람이 좋아요. 리액트를 쓴다고 하면 리액트가 어떻게 돌아가는지 아는 사람, 자바스크립트를 쓴다고 하면 자바스크립트가 어떻게 돌아가는지 아는 사람. 협업하다 보면 라이브러리에 의존하는 모습들을 볼 때가 있어요. 아니면 어느 블로그에서 나오는 그런 내용을 따라 한다든지. 그런데 우리가 해결하려는 문제는 그 블로그의 해결책이 아니고 우리가 상상력과 직관을 발휘해서 해결해야 하는 문제들이 많거든요. 기초가 되는 지식을 알고 있어야 그걸 같이 해결할 수 있다고 생각해요. 그래서 기술적으로는 같이 고민할 수 있는 사람이 좋은 것 같고, 그 외적으로는 ‘척’하지 않는 사람이 좋아요. 잘하는 척하지 않고 못 하는 척하지 않고 바쁜 척하지 않는 게 필요하다고 생각해요. 또 코드를 잘 못 짰으면 잘 못 짰다고 인정하고요. 내 코드이기 때문에 코드에 대한 지적이 들어오면 바로 방어적인 태도를 가지기 쉬운데, 그런 태도를 버리려고 스스로 노력을 많이 해야 한다고 생각해요. 그런 게 코드 리뷰에서 나와요. 함께 개선을 해나가면 되는 거예요. 이걸 사람 탓을 하거나 단번에 다 바꾸자는 얘기도 아니니까요.

일을 처리하는 팁

포스트잇 사용이요. 내가 꼭 해야 하는 일들을 적어놓는 거예요. 저는 컴퓨터로 하는 것보다 실물 포스트잇이 좋아요. 필기감도 있고 뗐다 붙였다 하는 것도 좋아요. 그리고 이게 불편하기 때문에 더 좋아요. 그래서 중요한 것만 적게 되거든요. 포스트잇은 일할 때 항상 볼 수 있게 모니터 아래에 포스트잇을 붙여놔요.

회사에서 잘 성장하는 방법

잘 성장하는 방법은 저는 딱 하나인 것 같습니다. “내가 회사의 대표다”. 직군을 막론하고 내가 이 회사의 CEO, 대표라고 생각하는 거죠. 진짜 대표가 되라는 게 아니고, 하고 싶은 말은 수동적인 태도가 아닌 적극적인 태도가 되게 중요한 것 같아요. 만약 수동적인 태도면 내가 구글에 간다고 하더라도 배움 없이 이전에 내가 해오던 개발방식 그대로 고수할 거예요. 그렇게 해도 일은 돌아가고 월급은 받거든요. 적극적인 태도가 계속해서 나를 어제의 나보다 성장시켜준다고 생각합니다. 저는 그게 다인 것 같아요. 문제가 생길 때 적극적으로 해결하려 노력하고 더 나은 방법이 없을지 상상력을 발휘하려 하고요. 상상력이라는 말을 계속해서 아까도 이야기했는데 사실 그 기저에 있는 건 적극적인 태도인 것 같아요.

요즘 관심사

옆 회사의 개발자도 나와 똑같은 고민을 하지 않을까? 라는 생각이 들어요. 예를 들면 우리는 최근에 정적 리소스를 관리하는 툴을 만들려고 하는데 저기 옆 회사도 리소스 관리하려고 하고, 다 똑같아요. 그런데 이런 어쩌면 전 세계적인 공통된 고민이 인력, 시간, 환경 낭비라고 생각해요. 많은 사람이 같은 고민을 해결하는 데 중복된 시간 낭비하는 거죠. 그래서 저는 요즘 관심 있는 게 이런 문제를 해결해 줄 수 있는 SaaS 솔루션을 만들고 싶다는 생각이 들어요. 그래서 그거를 "fe-eule" 라는 곳에 서비스를 하나씩 만들어보려고 하고 있어요.

그리고 요즘 개발적으로 공부하고 있는 것은 서버 개발을 살펴보고 있어요. 이러한 제품을 만들려면 서버 개발도 필수적으로 필요하니까요. 깊게는 아니더라도 기본적이라도 다시 공부해야 할 것 같아요.

성동님에게 개발이란?

저에게 개발이란 계속해서 샘 솟는 샘물 같아요. 이 질문을 들으니까 갑자기 그 이미지가 떠올랐어요. 개발이 힘든 점이 맨날 새로운 게 나오고 배울 게 많다는데 저는 그게 오히려 좋은 점이라고 생각해요. 그래서 끝이 없어요. 공무원 시험이 아니기 때문에 끝이 없고, 그래서 너무 재밌고 역동적인 거죠. 그리고 기술이 너무 고도화돼서 점점 상향 평준화되고 있어요. 그래서 웬만한 단순한 일은 툴로 대체되고, 정말 고도화된 것만 사람이 하게 될 것이라 생각해요. 이러한 시대가 소수의 사람만 개발자를 하게 될 거에요 그리고 그 사람들은 마법사처럼 보일 것 같아요. 저도 그런 마법사 같은 사람이 되고자 해요.

개발할 때 중요한 것

제가 왜 상상력이 중요하다고 생각했냐면 제가 아까 마법사 얘기를 했잖아요. 기술적인 고도화를 이끄는 사람들은 상상력이 풍부해요. 리액트가 교과서에 나왔을까요? 기계가 만들었을까요? 어떠한 공통된 문제를 해결하기 위해 페이스북 개발자들의 상상력과 많은 시행착오 끝에 만든 거죠. 그 상상력은 근본이 없는 상상이 아니라 그 기본이 되는 것들을 잘 배우고 온전히 내 것으로 만든 상태에서 응용하는 단계에서 들어간 상상력이에요. Virtual DOM도 이러한 것 중 하나라고 생각해요. 2010년대에는 클린 코드와 협업이 중요했다면 이제는 이것들은 기본이 되고 점점 개발자의 창의성 상상력이 더 중요해질 것 같아요. 그 사람들이 더 대우받을 것이고 그렇지 않은 사람들은 잘 고도화된 시스템으로 점점 대체될 수 있다고 생각해요. 저는 앞으로 개발자들이 살아남기 위해서는 상상력이 중요하다고 생각해요.

이상적인 개발 환경

전 고민 없이 코드를 작성할 수 있는 환경이 제일 좋다고 생각해요. 개발할 때 고민할 게 너무 많고 장애물이 많다면 그걸 해결하느라 정작 내가 좋아하고 중요한 것들에 도달하기 전에 진이 다 빠져버리거든요. 그래서 내가 생산성이 매우 높은 개발환경이라면 재택근무, 최고 사양 맥북, 맛있는 점심과 간식, 좋은 뷰, 무이자대출, 성과급 이런 것 하나도 없어도 돼요. 왜냐하면 이렇게 되면 일이 훨씬 재밌을 것이고 이러한 회사가 내세우는 복지가 없어도 일이 재밌을 것 같아요. 우리는 복지가 주는 편리함보다 자유롭고 일에서 얻는 행복감이 더 클 때 만족감을 느끼거든요.

집중이 안될 때 환기 방법이 있나요?

샤워하고 옵니다. 저는 찬물을 한번 끼얹고 와요. 오피스에선 집중이 안 될 때 그냥 일어나는 편이에요. 몰입해서 빠져들면 못 나오거든요. 그래서 아예 그냥 딴생각해버리거나 다른 사람과 티 타임을 하거나 그 일이랑 잠깐 떨어져 있으려고 해요.

앞으로 성동님은

저는 개발자의 생산성을 높이는 것들을 더 많이 잘하고 싶어요. 그래서 뱅크샐러드에서는 제 개인적인 목표는 뱅크샐러드 웹 엔지니어분들의 개발 생산성을 현재보다 x2 하는 게 목표예요. 요즘 사람 뽑기가 되게 힘들잖아요. 그런데 우리가 생산성이 두 배가 되면 지금보다 두 배의 인원이 있는 거나 다름없지 않을까요?

개인적으로는 최근에는 등산을 좋아하기 때문에 우리나라에 있는 명산들 다 가보고 싶어요. 또 아까 말씀드렸던 공통된 고민을 해결하는 제품을 만드는 일도 하고 싶어요.

작업할 때 선호하는 장소

지금은 오피스. 홀로 집중하고 싶을 때는 재택

취미가 있나요?

등산

요즘 가장 중요하게 생각하는 것

요즘 가장 중요하게 생각하는 건 시간이 지나도 가치가 올라가는 것에 투자해야 한다고 생각하고 있어요. 나한테 시간과 비용을 쓰는 것도 투자이고, 회사 일을 내가 더 잘하려고 하는 것도 나에 대한 투자라고 생각해요. 내가 돈과 시간, 체력을 쓰는데 쓸수록 그 가치가 더 올라가는 거에 집중하는 것이죠.

가치가 떨어지는 것들은 단순하게 예를 들면 제가 예전에 샀던 맥북 프로가 있어요. 2011년도 맥북 프로를 200만 원 넘게 주고 샀지만, 나중에 제가 팔 때는 그 가격이 30만 원이었어요. 물론 저를 개발자로 만들어준 고마운 친구였지만요. 그래서 애플 새 제품을 사기보다는 애플 주식을 사려고 하고 평생 회사에서 일하겠다는 생각보다는 내가 내 사업을 준비해야겠다는 생각을 많이 해요.

시간과 돈에 구애받지 않고 직업 한 가지를 더 가질 수 있다면

등산 유튜버. 그냥 세계여행 하면서 요키 산맥도 가고 히말라야도 가고 싶어요. 사실 등산 유튜버가 아니라 그냥 세계여행하면서 유튜브 하고 싶은걸 수도 있어요. 낯선 세계를 여행하면서 사는 거죠.

개발자가 되고 싶은 사람들 또는 이제 막 개발을 시작한 사람들을 위해 해주고 싶은 말이 있다면

개발을 막 시작하시려는 분들을 만나서 이런 질문들 받으면 그때마다 저는 얘기 하기를 꺼렸던 것 같아요. 왜냐하면 답하기가 너무 어려웠거든요. 개발자는 유망하니 적극적으로 권하기도, 개발은 너무 어려우니까 하지 말라고 하기에도 애매해요. 잘 모르겠어요. 이게 상대적인 것이고 누군가의 인생에 간섭하고 싶지 않거든요. 그냥 자유롭게 사셨으면 해요. 뭐든 궁금하다면 직접 해보면서 장점, 단점을 스스로 느껴봤으면 좋겠어요.

그런데 저는 그 얘기는 하고 싶어요. 개발자는 마법사 같은 존재가 돼가고 있어요. 당신이 무얼 하든 컴퓨터로 하지 않는 일이 없습니다. 심지어 농사를 지어도 장사를 해도 컴퓨터가 없이는 할 수가 없어요. 그런데 개발은 조금이라도 배웠으면 좋겠습니다. 컴퓨터로 둘러싸여 사는 이 세상에 어떤 인생을 살건 분명 도움이 될 것이라 생각해요.

공유하고 싶은 것

Github 계정과 최근에 저의 집에 새로운 가족이 된 리트리버 "나리" 사진입니다.

nari