7년차 개발자 회고록 - 나는 어떤 개발자인가?

Topic

Language :

안녕하세요 Lovefield입니다.

벌써 개발자가 된 지 7년이 훌쩍 지났습니다. 그동안 개발을 업으로 삼으면서 다양한 경험을 통해 깨달은 게 많습니다. 제가 개발이라는 파트를 맡고 있지만 결국 하나의 제품을 만들기 위해서는 다른 파트와 많은 협력이 필요하다는 점이라든지, 어느 파트 하나가 중요한 게 아니라 모든 파트가 서로 좋은 시너지를 내야 한다는 점 등 많은 경험을 하게 되었습니다. 앞으로도 풀어나갈 과제가 많아 스스로 방향성을 정리하자는 취지에서 이번 회고록을 작성해봅니다.

이상한 한국식 개발 문화

한국식 개발 문화에는 이상한 점이 있습니다. 바로 트렌드에 너무 민감하다는 거죠. 트렌드에 민감하면 좋지 않아? 라고 반문하실 수도 있지만, 근거 없이 트렌드만 쫓는 이상한 문화를 많이 보았습니다. 한국에서는 다양한 언어와 많은 프레임 워크가 균형 잡혀서 생존하기 어려운 생태계입니다. 이유는 간단합니다. 무언가가 인기 있다고 하면 우르르 한 지점으로 몰려가거든요. 누군가 A를 써서 잘 되었다고 하면 우르르 모여서 다들 그것만 쓰려고 합니다. 주어진 상황에서 A가 걸맞은지, 정말 그 언어의 특성과 필요성을 바탕으로 따져보며 사용하는 경우는 드물다고 봅니다. 무언가 처음부터 만들어야 한다고 할 때 한국에서는 가장 인기 있는 것을 선택하는 걸 당연하다는 듯이 행동합니다.

저는 이러한 점이 마음에 들지 않았습니다. 장단점을 깊게 분석하고 시작하기보다, 비판 없이 가장 인기 있는 것을 사용해 버립니다. 그러다가 문제가 불거지면 그때 서야 큰 비용을 들여 시스템을 전부 갈아엎기도 합니다. 서비스가 성장하면서 시스템이 바뀌는 거야 당연합니다만, 첫 단추를 잘못 끼우면 결국 많은 걸 다시 끼워맞춰야 하는 상황이 옵니다. 그 과정에서 발생하는 막대한 비용들은 당연한 수순이니 순순히 받아들여야겠죠. 물론 지나치게 깊이 파고들어 분석하는 것도 시간 낭비로 다가올 때도 있습니다. MVP를 만든다면 그 수준에 맞는 분석만 해야 하죠. 하지만 최소한의 분석도 하지 않는 기업들을 보고 되게 실망스러웠습니다.

그래서 저는 항상 무언가 처음부터 만들어야 한다고 할 때 필요한 만큼의 분석을 하는 편입니다. 영어로 조금만 검색 해 보아도 프레임워크와 플러그인을 분석하는 수많은 글을 찾을 수 있습니다. 현재 상황과 앞으로의 일을 생각하며 적절한 언어와 프레임워크를 선택하는 능력을 기르게 되었죠. 한편 커뮤니티도 많은 도움이 되었습니다. 개발 직군 업무 특성인지, 개발자의 특성을 가진 사람들이 주로 개발자가 된 건지는 잘 모르겠지만, 개발자들은 서로 지식을 공유하고 나누는 걸 좋아합니다. 개발자 커뮤니티는 항상 누군가를 알려주거나 가이드 해주는 사람들로 넘쳐나거든요. 저도 그런 사람 중 한 명입니다. 누군가를 알려주기 위해서는 요구하는 질문에 대한 답보다 더 깊은 지식이 필요합니다. 코드로 풀어낼 수 있다고 한들 누군가에게 지식을 전파할 수 있는 건 아니거든요. 가르쳐주기 위해서는 더 많은 걸 스스로 알고 이해해야 하기에 자연스럽게 스스로 공부하게 됩니다. 지식을 나눈다는 건 결국 자신에게 가장 큰 도움이 됩니다. 상대가 느끼기엔 어려운 기술을 이해하기 쉬운 문장으로 풀어내면서 의미가 퇴색되지 않게 전달해야 하니까요.

그렇다 보니 개발자 커뮤니티에서 누군가를 알려주는 분들은 어느 정도 깊이 있는 지식을 가진 분들이 주류를 이루고 있습니다. 그리고 개발자들은 의논하는 걸 좋아하죠. 비효율을 참지 못하는 성향 탓에 이들은 항상 최적점을 찾기 위해 의논합니다. 항상 근거가 될만한 자료를 바탕으로 이야기를 풀어가죠. 이러한 점 덕에 개발자 커뮤니티에서 초기 구축에 대한 의논을 시작하게 되면 많은 의견을 들을 수 있습니다. 제가 발견하지 못한 점 등 다양한 의견들을 모을 수 있고, 그러한 점들은 프레임워크와 언어를 고르는 데 큰 도움이 됩니다.

아직 IT팀을 운영할 줄 모르는 회사

대부분 한국 기업은 조직 문화에 대한 고민이 없습니다. 지나칠 정도로 급격한 성장을 겪다 보니 위상에 비해 한국 기업문화는 대개 건강하지 않습니다. “웹”이라는 시장조차 한국에서 생긴 지 20년 남짓할 뿐이죠. 20년 동안 웹 개발자를 지칭하는 단어들도 수없이 생기고 사라지고를 반복해 아직도 직업군을 표현하는 단어가 혼재된 상태입니다. 시대적 배경을 뒤로 제쳐놓더라도 가장 큰 문제로 여기는 게 있습니다. 최근에 이르러서는 차츰 괜찮아지는 중이지만, C레벨의 IT업계 이해가 적다는 사실이죠. IT 종사자들을 어떻게 운용하고 평가하고 가치를 책정해야 하는지 대부분 잘 모릅니다.

특히나 아직도 2000년대 초반 기업의 운영 방식을 고집하는 회사도 수두룩 한 편이죠. IT 업계의 팀원들은 이러한 2000년대 초반 기업의 운영 방식과 완전히 다른 방식으로 운영되어야 함에도 회사는 그 부분에 대해 전혀 모르고 있습니다. 인터넷에 떠도는 유명한 일화중 한가지가 있습니다. 바로 일본 모 케이블 TV회사에서 근무 중인 서버 관리팀을 전원 해고한 사건이었죠. 해고 사유는 근 몇 년간 서버 트러블이 일어나지 않았다는 황당한 이유였습니다. 글쓴이는 몇 주 후, 전 직장에서 엄청난 기세로 전화가 걸려 왔지만 전부 무시했다고 했습니다. 이 일화를 보고 웃을 수만은 없었습니다. 한국도 별반 다르지 않았거든요. 문제가 생기지 않았으므로 관리팀이 필요 없다고 판단한 윗선은, IT의 특성을 전혀 이해하지 못한 사람입니다. 이런 비슷한 사람이 한국기업에도 수두룩하다는 것이 문제입니다.

상황이 이렇다 보니 제가 입사하게 되면 가장 먼저 살펴보는 것은 워크플로우가 되었습니다. 좋은 제품을 만들기 위해서는 디자이너, 기획자, 프론트, 백엔드 전부가 협력해야 하기 때문입니다. 각자가 협력하기 위해서 업무를 어떻게 진행해야 하는지 항상 의문을 가지고 방법을 제시하고 검증하고 수정하는 일이 많았습니다. 그중에서 제품을 만드는 데 있어서 기준점이 되는 기획서의 중요도가 가장 높다고 생각합니다. 항상 기획서에 신경을 많이 쓰는 편이며 어떻게 기획서를 작성해야 하는가 에 대한 가이드와 관련 템플릿을 제공하는 편입니다.

개인적으로 비즈니스와 제품(서비스)은 분리해서 봐야 한다고 생각합니다. 비즈니스는 “방법”이고, 제품은 “도구”라고 생각하는 편인데요. 아직 많은 회사에서 이 점을 분리해서 생각하지 못하는 것 같습니다. 그렇다 보니 비즈니스가 제품에 막대한 영향을 끼쳐 제품을 비즈니스에 맞게 수정하다 보면 결국 제품이 망가져 버립니다. 그 점을 가장 간단하게 확인할 수 있는 제품이 바로 언론사 홈페이지입니다. 언론사의 제품은 정보를 전달하기 위한 아티클입니다. 하지만 광고비를 벌기 위해 무리하게 광고 위치를 만들어 낸 결과. 현재, 언론사에서 직접 기사를 보는 경우가 얼마나 될지 궁금하네요.

이렇듯 IT팀을 비즈니스 관점에서 평가하려 하다 보니 회사에서의 IT팀의 불만은 하늘을 찌를 수밖에 없습니다. IT업계가 유독 이직률이 높은 이유 중 하나이지 않을까 생각되네요. IT팀을 평가하고 운영하기 위해서는 많은 데이터와 많은 경험이 필요합니다. 일반적인 비즈니스 관점의 평가는 먹히지 않기 때문이죠. 그리고 이러한 점을 아는 회사가 많지 않다 보니 저는 회사에서 항상 IT팀을 위해 소리를 내고 있었습니다.

IT업계에서 대우받지 못하는 디자이너

한국에서 디자이너 문제는 심각합니다. 대부분 회사가 디자인을 이해하지 못하고 있을뿐더러, IT 계열의 직무에서 가장 좋지 않은 대우를 받습니다. 디자인에 직접적인 영향을 받는 프론트로써 가장 큰 불만 사항 중 하나입니다. 같이 고민하고 제품을 만드는 동료가 좋지 않은 대우를 받는 건 그리 기분이 좋지 않거든요. 위에서 거론했듯이 회사는 IT팀을 어떻게 운용해야 하는지 잘 모릅니다. 그러나 그것도 디자인에 대한 이해도에 비하면 양반인 수준입니다. 디자이너가 어떤 일을 하고 어떤 성과를 내는지를 이해한 회사는 여태껏 만나보지 못했습니다. 그만큼 IT 업계에 있어서 디자이너의 대우 문제는 심각합니다.

제품에 있어서 디자인은 상당히 중요합니다. 유저가 제품을 사용할 때 가장 먼저 뇌리에 심어지거든요, 사용자를 편안하게 만드는 디자인은 서비스에서 엄청난 강점입니다. 그런데도 적지 않은 회사가 단지 상사의 눈에만 맞춰진 디자인을 채용하는 경우가 많습니다. 무려 디자인도 모르는 상사의 관점에서요. 이와 더불어 항상 비즈니스만을 우선시하여 디자인 영역을 침범하는 일이 비일비재 합니다. 명망 높은 브랜드들이 엉뚱한 디자인을 내세우는 경우를 많이 보셨을 겁니다. 이름을 말하면 누구나 알만한 브랜드조차 디자인을 제대로 이해하지 못하는데, 중소기업에서는 더 말할 것도 없을 정도죠.

OECD 21st-Century Readers DEVELOPING LITERACY SKILLS IN A DIGITAL WORLD

디자이너가 힘든 이유 중 하나로 사용자의 차이가 존재합니다. OECD에서 2021년 5월에 발표한 “21세기 독자, 디지털 세상에서의 문해력 개발" 문서 내용을 확인하면, 2018년 데이터를 기준으로 “사실과 의견을 구분하는 능력" 부문에서 한국은 OECD 하위권에 있음을 알 수 있습니다. 물론, 해당 정보는 학생을 대상으로 하는 조사이기에 성인과 차이가 발생할 수 있습니다. 하지만 최근 문해력이 화두가 되는 만큼 한국 유저들은 정보를 올바르게 받아들이기 힘들어한다고 생각됩니다. 반면 미국 같은 경우 OECD 상위권에 있으며, 유저들이 온라인에서 정보를 올바르게 받아들일 수 있다고 판단할 수 있습니다.

이 정보가 디자인에 어떠한 영향을 주는지 아직 감이 잡히지 않으실 텐데요. 유저가 정보를 받아들이기 힘들다면 디자이너는 더 간결하게 디자인할 수밖에 없습니다. 유저가 정보를 받아들이는 훈련이 잘 되어있으면 “요약"보다 “정리"가 필요합니다. 하지만 한국의 순위를 보면 “정리"를 하는 선택을 하기는 힘들어 보이네요. 가장 쉽게 이 차이점을 확인할 수 있는 방법이 있습니다. 바로 “링크드인"과 “사람인"을 비교해보시면 됩니다.

좌 : 링크드인 , 우 : 사람인

링크드인을 처음 이용하는 사용자라면 사용하는 데 있어서 꽤 헤매실 겁니다. 정보를 입력하는 과정이 복잡하게 느껴질뿐더러 화면에 표시하고 있는 정보의 양이 많기 때문이죠. 심지어 프로필 영역에서 프로필을 수정하는 기능만 있는 게 아니라 프로필 방문자 통계와 링크드인에서 제공하는 일부 기능을 사용하라고 유도하기도 합니다. 그에 반해 사람인은 정보를 추가하는 절차가 어렵지 않습니다. 원하는 항목 영역에서 추가 버튼만 누르면 해결되죠. 그리고 편집 페이지에서는 오로지 편집만 가능하게 되어있습니다. 이렇듯 한국 사이트는 한 페이지에 한가지 기능이 대부분을 차지하고 있으며 간략하고 간단하게 이용할 수 있게 해두었습니다. 그만큼 유저들은 정보의 양이 많을수록 어려워한다는 반증이 되는 것이지요.

개발자인 저는 디자인에 관심이 많습니다. 프론트와 디자인은 서로 연관이 많다 보니 영향을 많이 받을 수밖에 없거든요. 예전부터 디자인에 많은 관심을 두던 개발자이기도 합니다. 성향이 성향이다 보니 자연스레 디자인에 대해서 어느 정도 잘 알게 되었고 디자이너가 가진 힘에 대해서 이해하게 되었습니다. 그다음 제가 해야 할 일은 간단했습니다. 디자이너를 지켜주고 디자이너의 힘을 이끌어 줘야 했습니다. 회사에서 디자이너가 좋지 않은 대우를 받는 것에 대해서 목소리를 내주고 디자이너가 힘을 쓸 수 있도록 프론트 단에서 디자이너를 지지해주었습니다.

그리고 개발자인 제가 가장 재미있어하는 부분이 정말 이쁜 디자인을 그대로 구현했을 때입니다. 디자이너의 상상을 웹에 그대로 구현했을 때의 성취감이랄까요. 개발자로서 제가 가장 즐거운 부분입니다. 결국 저는 디자이너를 챙길 수밖에 없는 개발자이죠.

나는 무슨 개발자인가?

정리해보면 결국 저는 사람과 사람이 시너지를 내는 것을 좋아하는 개발자입니다. 하고 싶은 것이 많다 보니 결국 혼자서는 하지 못한다는 점을 인지하고 있습니다. 그렇다면 대안은 시너지가 좋은 사람과 만들어 보고 싶은 것을 만드는 것입니다. 사람과 사람이 같이 무언가를 하기 위해서는 서로 간에 시너지가 좋아야 한다고 생각합니다. 무언가 만들고자 하는 욕구가 큰 만큼 많은 것들을 제작하고 있지만 그만큼 사람, 즉 동료와의 관계가 매우 중요했습니다.

제가 가야 할 길은 “리더”라고 생각합니다. 사람과 사람이 시너지를 내는 세상을 바라는 만큼. 사람을 잘 대할 줄 알아야 하고 사람을 가장 잘 이해해야 합니다. 하고 싶은 것도 많고, 많은 비효율적인 것들을 효율적으로 바꾸고싶은 제 성향은 리더라는 자리에서 더욱더 빛날 것 같네요. 앞으로도 저는 많은 것들을 제작하는 개발자일 겁니다. 여태껏 혼자 만든 것이 많았다면 앞으로는 누군가와 함께 만든 작품이 많을 것 같네요.

마치며. 개발이라는 업계에서 7년 동안 많은 변화를 겪으며, 다양한 경험을 쌓은 것 같습니다. 아직 한국 IT업계가 과도기 상태인 만큼 그 사이에서 올바른 길을 걷고 싶은 마음이 큰 것 같습니다. 아무래도 그러한 길들은 많은 어려움을 동반하겠죠. 그럼에도 저는 제 동료와 함께 좋은 시너지를 내며 올바르다고 생각하는 길들을 걷고 있을 생각입니다. 앞으로 하는 것들이 빛을 보길 바라면서 글을 마칩니다.

Lovefield

Web Front-End developer

하고싶은게 많고, 나만의 서비스를 만들고 싶은 변태스러운 개발자입니다.