brunch

You can make anything
by writing

C.S.Lewis

by 뭅즤 Oct 10. 2024

6년차 이커머스 대기업 개발자의 성장 스토리와 인사이트

뭅즤의 개발자 인터뷰

이번 인터뷰에서는 6년 차 이커머스 대기업 개발자 떼루님과 함께 이야기를 나눠봤어요! 


떼루님은 금융사에서 웹 개발자로 커리어를 시작하신 후, 이커머스 분야로 넘어오며 개발자로서의 성장을 이어가고 계신데요. 산업군이 바뀌면서 다양한 변화와 도전에 직면하게 되었다고 하네요.


금융사와 이커머스에서 경험한 차이점을 통해 커리어의 변화 과정을 살펴보고, 커머스 백엔드 개발자로서의 실무적 경험과 인사이트를 공유해 주셨어요. 특히 Backend for Frontend 업무, 디바이스 간 데이터 통합, 모듈화 개발 등 이커머스 분야에서의 독특한 경험을 들을 수 있었답니다. 이직을 고민했던 과정, 현업에서의 실무 팁, 그리고 대기업에서 성장하기 위해 필요한 자질에 대한 떼루님의 생각을 함께 들어볼까요?! ✨


✅ 어떤 독자들이 읽어보면 좋을까요? 

대기업 개발자 취업을 꿈꾸는 취준생

이커머스와 백엔드 개발에 관심 있는 분들

커리어 전환을 고민하는 개발자

실무 인사이트를 얻고 싶은 백엔드 개발자:

개발자로서의 성장을 꿈꾸는 분들


- instagram : terru_everyday_logs


Q1. 간단하게 자기소개 부탁드려요.

저는 올해로 6년 차 개발자입니다. 처음에는 금융사에서 약 3년간 웹 개발을 했고, 지금은 커머스 회사에서 백엔드 개발자로 일한 지 2년 정도 됐어요. 금융사에서 시작해서 이제는 이커머스 분야에서 백엔드 개발을 하고 있습니다.



Q2. 첫 직장에서 하던 일과 지금 하는 일이 많이 달라졌나요?

같은 개발자라는 점은 변하지 않았지만, 산업군이 바뀌고 직무가 더 세분화되면서 하는 일도 많이 달라졌어요. 예전에는 프론트엔드, 백엔드 상관 없이 웹 기반의 솔루션을 전반적으로 관리하고 유지보수하는 일을 주로 했다면, 지금은 백엔드 API를 집중적으로 개발하고 있어요. 같은 개발이지만, 더 구체적으로 다르게 일하고 있다고 볼 수 있죠.



Q3. 현재 이커머스 기업에서 맡고 계신 주요 업무에 대해 설명해 주세요.

저는 백엔드 API를 개발하고 있어요. 흔히 아는 백엔드 개발은 데이터베이스에서 데이터를 가져와 가공해서 프론트엔드에게 제공하는 개발이라고 생각하실텐데, 저는 그것과는 조금 다른 Backend For Frontend 적인 일을 하고 있어요.


알기 쉽게 예시를 들자면, 홈 화면에는 상품 리스트들이 있잖아요. 이 리스트들을 모듈화해서 화면에 출력하는 모듈 시스템을 개발하고 있어요. 이 모듈은 안드로이드와 iOS 앱뿐만 아니라, 모바일 웹과 PC 웹에서도 사용되는데, 다양한 디바이스에서 동일한 데이터를 볼 수 있도록 포맷을 통일해서 제공하는 시스템을 개발 중입니다.


좀 더 구체적으로 말씀드리자면, 여러 디바이스에서 동일한 데이터를 보고 싶은데, 만약에 저희가 이 시스템이 없다고 가정하면, 각 프론트엔드 팀이 백엔드에서 데이터를 각각 가져오려 할 때, 팀마다 다르다 보니 가져오는 방법도 제각각일 수 있습니다. 그래서 저희는 그 중간에서 교통 정리를 해주는 역할도 하고 있어요. 즉, '이 포맷으로 하면 된다'고 정리해 주는 시스템을 구축하고 있습니다. 이렇게 함으로써 모든 디바이스에서 일관된 사용자 경험을 제공할 수 있게 됩니다.


✅ 떼루님이 하시는 일이 더 궁금하다면? 
>> https://dev.gmarket.com/84



Q4. 모듈화라는 개념에 대해 좀 더 자세히 설명해 주실 수 있나요?

모듈화는 여러 디바이스에서 동일한 데이터를 볼 수 있게 하는 작업이에요. 각각의 프론트엔드 팀이 데이터를 따로 처리하지 않고, 백엔드에서 정해진 포맷으로 데이터를 제공합니다. 운영자가 원하는 대로 모듈을 조합할 수 있게 플랫폼을 제공해서, 개발자의 개입 없이 운영자가 설정할 수 있죠.



Q5. 백엔드 개발을 성공적으로 잘하기 위해서는 어떤 것이 필요하다고 생각하세요?

처음 백엔드 개발을 시작할 때는 자바나 코틀린 같은 언어를 배우는 것부터 시작했어요. 하지만 단순히 언어를 익히는 것만으로는 부족하다는 걸 느꼈어요. 사용하려는 프레임워크에 대해서도 깊이 이해해야 하더라고요. 각 프레임워크는 많은 라이브러리를 포함하고 있는데, 이 라이브러리들이 어떻게 동작하는지를 아는 것도 정말 중요해요.


예를 들어, 서킷 브레이커라는 개념을 알고 계신가요? 서버 간 통신을 할 때 한 서버가 요청을 보냈지만 장애가 발생하면 응답을 받지 못하게 되잖아요. 이때 요청이 계속 대기 상태로 남아있으면 결국 다른 서버에도 장애가 생길 수 있어요. 서킷 브레이커는 이런 상황에서 연결을 끊어주는 역할을 하더라고요. 라이브러리에 따라 요청 제한 시간이라던가, HTTP 상태 코드에 따른 서킷브레이커 동작 방식이라던가 등등 여러 옵션들이 존재하는데, 각각이 옵션들이 왜 필요하고 어떤 상황에서 사용되어야 하는지를 알아야 하고 동작 방식도 이해해야 해요.


또한, 스프링 프레임워크에서 스레드가 어떻게 동작하는지 알아야 하고, 스레드가 많아지면 시스템에 어떤 부하가 발생하는지를 이해하는 것도 필수예요. JVM에서 스레드의 동작 원리와 최적화 방법을 알아야 하고요. 더 나아가 스프링 애플리케이션이 로컬 환경이 아닌 리눅스, 도커, 쿠버네티스 환경에서 돌아갈 때, 이 도구들의 사용법도 숙지해야 하죠.


결국 백엔드 개발을 잘하기 위해서는 다양한 기술과 도구에 대한 폭넓은 지식이 필요하다는 걸 느꼈어요.



Q6. 기획자나 운영자와의 협업은 어떻게 진행하시나요?

기획자나 운영자와는 항상 커뮤니케이션을 해야 해요. 백엔드에서 데이터를 가공해서 웹과 앱에 전달하는 역할을 하다 보니, 기획자가 요구하는 데이터를 맞춰서 전달해요. 특히 다른 팀과 협업할 때는 서로의 요구사항을 조정하고 데이터 흐름을 원활하게 만드는 교통정리 역할이 중요해요.



Q7. 협업할 때 힘들다고 느낀 점이나 도움이 되는 팁이 있나요?

저는 협업할 때 상대방을 1년 차 개발자라고 생각하고 설명을 시작해요. 예를 들면 API를 호출할 때도, 아주 세세하게 curl 코드까지 만들어서 보내주고 설명하죠. 상대방이 아무것도 모르는 개발자라고 가정하고 명세나 API 설명을 해주는 게 더 편하거든요. 또한, 구조적으로 제가 원하는 방식으로 되지 않을 때도 있잖아요. 그럴 때는 자존심 싸움보다는 프로덕트를 안정적으로 유지보수하는 방향으로 가는 게 더 중요하다고 생각해요. 특히 앱 같은 경우에는 한 번 배포되면 수정이 어려우니까, 가능한 앱에서의 변경 사항을 최소화하는 방법을 찾으려고 해요. 서로의 입장을 고려하면서 최적의 구조를 찾으려고 노력하죠.



Q8. 첫 취업을 준비할 때는 어떻게 준비하셨나요?

저는 취업 준비 기간이 꽤 길었어요. 가장 도움이 됐던 건 코딩 테스트 준비였어요. 매일 한 문제씩 꾸준히 풀었고, 덕분에 코딩 테스트는 무난하게 통과할 수 있었어요. 다만, 프로젝트 경험이 부족하고, 내가 어떤 개발을 하고 싶은지 명확하지 않았던 점이 아쉬웠어요. 당시에는 범용적인 개발자가 되고 싶어서 어느 회사에서든 쓸 수 있는 기술을 배우려고 노력했어요.


그래서 저만의 특별한 강점이나 무기랄 것이 없었던 것 같아요. 일찍이 제가 관심 있는 산업군 또는 기술 스택에 집중했었더라면 더 좋은 결과를 냈을 텐데 하는 아쉬움은 있는 것 같아요.



Q9. 첫 회사는 어떠셨나요?

저는 금융사에 입사하긴 했지만, 금융 도메인에 종속되지 않고 전 도메인에서 활용될 수 있는 기술을 연마하고 싶었어요. 제 동기들을 보면 금융 도메인에 완전히 특화된 친구들이 많았지만, 저는 금융 분야가 아닌 일반 웹 개발 쪽으로 갔어요. 물론, 사람들마다 개발을 어떻게 정의하느냐에 따라 다르겠지만, 첫 회사에서 경험했던 개발자의 이미지는 제가 생각했던 개발자의 이미지와는 조금 달랐어요. 인터넷에서 보이는 개발자들은 굉장히 자유롭고 창의적인 느낌인데, 제 경험은 그와는 거리가 있었죠.


주로 사내 시스템을 관리하는 역할을 맡고 있었는데, 그로 인해 제가 진짜로 개발을 하고 있는 건지, 아니면 콜센터에서 전화를 받는 것인지 혼란스러울 때가 많았어요. 그래서 그런 회의감이 드는 순간이 많이 있었어요.



Q10. 금융사에서 일하면서 느낀 점이 있으신가요?

금융사에서는 안정적인 환경이 큰 장점이었어요. 하지만 개발자로서의 성장이나 내가 하고 싶은 일과는 거리가 있더라고요. 기술적으로 챌린지 하는 것 보다는 현업의 요구를 반영하는 것이 중요했고, 그 과정에서 개발자로서의 역할에 대한 회의감도 느꼈어요. 더 자유롭게 성장할 수 있는 환경을 찾아 이직을 결심하게 됐습니다.



Q11. 이직을 결심하게 된 이유는 무엇인가요?

금융사의 경직된 환경과 내가 원하는 개발 업무를 하지 못했던 점이 이직을 고민하게 만들었어요. 닷넷 기반으로 웹 개발을 했지만, 스프링 기반 개발도 배우고 싶어서 더 다양한 경험을 쌓기 위해 이직을 준비했어요.



Q12. 이직 후에는 어떤 점이 달라졌나요?

이직 후에도 어려움이 있었어요. 이전 회사와는 개발 능력에 대한 기대치가 다르더라고요. 특히 서비스 회사에서의 경험이 부족해서 기본적인 개발 지식에서 차이를 많이 느꼈어요. 그 차이를 메우기 위해 꾸준히 공부하며 개발 스킬을 향상시키려고 노력하고 있어요.



Q13. 그럼 현재 개발 실력은 어떻게 키우고 계신가요? 혹시 공부 팁이 있으신가요?

집에서 공부하며 부족한 부분을 채우려고 하고 있어요. 경력에 따른 기대치가 높기 때문에 그 기대에 부응하기 위해 계속 학습하고 있죠. 특히 기술적인 부분에서 다른 서비스 회사 출신 개발자들과의 격차를 줄이기 위해 노력 중이에요.


팁까지는 없고, 업무 중에 Spring을 잘 모르겠으면 Spring을 공부하고, Node.js 쪽도 잘 모르겠다고 느끼면 그 쪽을 공부하는 식으로 하고 있어요. 보통 책과 강의를 많이 보고 최근에는 ChatGPT도 많이 활용하고 있어요 ㅎㅎ.



Q14. 전 회사에서의 경험이 지금 회사에서 도움이 된 점이 있나요?

금융사에서의 엄격한 규정과 절차가 지금 회사에서는 큰 도움이 됐어요. 예전 회사에서는 하나의 작업을 할 때도 방화벽 신청서나 결재를 거쳐야 했는데, 지금 회사는 그에 비해 절차가 간소화된 편이에요. 또한 IT를 하나도 모르는 실제 창구 직원들과 업무를 진행해 온 경험이 있다 보니 다른 개발자들에 비해 커뮤니케이션 능력이나 처리 속도 면에서 이점이 있어요.



Q15. 이직을 해보지 않은 분들도 많으신데, 이직할 때 조언해주고 싶으신 점이나 중요한 점이 무엇인지 말씀해주실 수 있나요?

이직한 지 좀 시간이 되었고, 최근에는 이직을 시도해 보지 않아서 도움이 될지 모르겠지만, 첫 회사를 고르는 것이 생각보다 중요하다는 걸 느꼈어요. 첫 회사의 경험이 이후 이직에 영향을 미친다는 점에서 중요하죠.

많은 분들이 첫 회사에서 했던 직무로만 이직하려는 경향이 있는데, 이는 아쉬운 부분이에요. 물론 맞는 업무라면 그대로 가는 것도 좋지만, 다양한 분야에 관심을 가지고 공부하면 기회가 넓어질 수 있어요. 경력이 쌓인 후에는 추가적인 공부가 필요하다고 생각해요. 예를 들어, 인프라 쪽으로 이직하려는 친구들은 개발 능력이 필요하다는 걸 알게 되었고, 좀 더 배우면 더 좋은 곳으로 갈 수 있을 것 같아 아쉬운 경우도 많아요.


주변을 보면 금융 업계에 있던 사람은 금융으로, 커머스에 있던 사람은 커머스로 가려고 하더라고요. 하지만 도전의 의지가 있다면 새로운 분야로의 이직도 가능합니다. 동일 업계에 비해 메리트는 떨어질 수 있지만, 다양한 도메인에 도전해보는 게 중요하죠.


이직 준비를 하면서 면접을 많이 보는 것도 큰 도움이 되었어요. 여러 곳에 지원하면서 경험을 쌓고, 면접을 통해 필요한 기술과 부족한 점을 알게 되었죠. 면접이 끝난 후에는 질문과 부족한 부분을 복기하며 정리해두었어요. 이런 과정이 많은 도움이 되었던 것 같아요.



Q16. 최근에 관심을 갖고 공부하는 분야가 있나요?

최근에 회사에서 맡은 프로젝트로 ‘서비스 메시’(Service Mesh)라는 기술을 공부하고 있어요. 서비스 메시는 네트워크 단과 애플리케이션 단을 분리해서 통신을 네트워크 단에서 처리하는 구조예요. 기존 마이크로서비스 아키텍처(MSA) 환경에서는 애플리케이션끼리 통신을 했는데, 서비스 메시는 네트워크 프로시끼리 통신하게 해서 네트워크 단의 흐름을 더 쉽게 볼 수 있어요. 관심사가 분리되기 때문에 애플리케이션 로직만 수정하거나 네트워크 로직만 수정하면 돼서 유지보수가 더 용이하다는 장점이 있어요.



Q17. 앞으로의 커리어 목표가 있나요?

나이가 들면서 개발자로서의 수명에 대해 고민하게 돼요. 앞으로 시니어 개발자로 성장하기 위해 프로젝트를 좀 더 크게 볼 수 있는 능력을 키워야 한다고 생각해요.


최근에는 여러 회사, 여러 분야의 개발자들과 소통을 해 오고 있는데, 잘 하는 개발자들이 정말 많다는 것을 느끼고 있어요. 제가 '6년차 대기업 개발자'라는 타이틀을 뗐을 때, '2년차 중소기업 개발자'(중소기업을 비하하려는 의도는 아닙니다..!)보다 개발을 잘 하는가? 라고 생각해 봤을 때, 제가 개발을 더 잘 한다고 확신이 들지를 않더라구요.


저는 회사와 연차에 종속적이지 않은, 저 자체로서 가치가 있는 사람이 되는 것이 목표라고 할 수 있을 것 같아요. 그렇게 되기 위해 노력은 하고 있지만, 아직은 갈 길이 먼 것 같네요ㅎㅎ..



Q18. 개발 외에 관심 있는 분야가 있나요?

번역에 관심이 있어요. 특히 기술 문서나 도서 번역을 하고 싶어요. 외국어 공부를 좋아해서 일본어 자격증도 땄고, 대학 시절에도 여러 언어를 공부했었어요.



Q19. 대학 시절에 후회되는 부분이 있나요?

학점에 너무 집착해서 전공 수업을 많이 못 들은 게 아쉬워요. 이제 와서 생각해보면, 실질적으로 도움이 되는 과목을 듣는 게 더 좋았을 거라고 느껴요. 전공 필수 과목만 듣다 보니 학교에서 배웠던 내용은 잘 기억도 나지 않고, 그런 부분이 아쉬워요. 그리고 개발을 해보고 일을 하면서 알게 된 건, 주변에 정말 잘하는 사람들이 많다는 거예요. 어찌 되었든 간에, 제 학점 자체는 낮지 않았으니까 제가 과거에 '개발 잘한다'고 자신감이 있었던 시절이 있었는데, 사회에 나와 보니 그건 전혀 현실이 아니었어요. 세상에는 천재적인 개발자들이 정말 많고, 그들과 비교했을 때 저 자신이 많이 부족하다는 걸 느꼈어요.


그래서 대학 시절로 돌아간다면 숫자나 타이틀에 덜 집착하며, 학점을 조금 낮게 받더라도 어려운 전공 수업을 더 들을 것 같아요. 지나고 보니 그 수업들은 대학교 졸업하면 배우기 어려운 내용이었더라구요.



Q20. 개발 외에 인생에서 중요하게 생각하는 것이 있나요?

회사는 내 삶의 일부분일 뿐, 개발 외에도 중요한 것이 많다고 생각해요. 그래서 퇴근 후에는 개발에 시간을 많이 쓰지 않고, 운동이나 독서 같은 다른 활동에도 시간을 할애하려고 해요.



Q21. 개발할 때 중요하게 생각하는 장비가 있나요?

저는 손목이 아파서 버티컬 마우스를 사용해요. 게임할 때도, 일할 때도 이 마우스를 사용하고 있고, 키보드도 자기에게 맞는 걸 사용하는 게 중요하다고 생각해요.




바쁘신 와중에도 많은 질문에 정말 꼼꼼하게 답변해주신 떼루님께 진심으로 감사드리며, 인터뷰가 독자 여러분께 많은 도움이 되기를 바랍니다.


저는 또 다른 인터뷰로 찾아뵙겠습니다. 감사합니다!

매거진의 이전글 14년 차 초등교사에서 핀테크 개발자가 된 이유?!
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari