정답을 구하던 학생이, 트레이드오프를 고민하는 엔지니어가 되기까지

이 인터뷰는 Product Engineer (Backend) Intern으로 일한 두 사람의 이야기입니다. 패스키 도입과 서버 최적화 같은 묵직한 과제 앞에서 복잡한 코드와 처음 보는 기술이 막막하기만 하던 시절을 지나, 이제는 정답을 찾던 학생이 아니라 이유를 갖고 판단하는 엔지니어로 과제와 마주하기까지 — 그 사이에 무엇이 있었는지 솔직하게 들어봤어요.
Q1. 간단한 자기소개와 현재 어떤 팀에서 어떤 일을 하고 있는지 말씀해 주세요.
탁구 치는 강아지 - Product Engineer(Backend) Intern
저는 Enterprise Product Division에서 Product Engineer (Backend) Intern으로 일하고 있어요. 현재 맡고 있는 과제는 flex 제품에 패스키라는 인증 수단을 도입하는 일이에요. 패스키는 지문이나 얼굴 인식 같은 생체 정보를 활용하는 인증 방식인데, 보안성과 사용 편의성을 동시에 높일 수 있다는 점에서 도입을 추진하고 있습니다.
야구 하는 곰 - Product Engineer(Backend) Intern
저도 같은 Enterprise Product Division에서 Product Engineer (Backend) Intern으로 일하고 있어요. 현재는 크게 두 가지 과제를 진행하고 있어요. 하나는 CRaC(Coordinated Restore at Checkpoint)라는 기술을 활용해서 서버 기동 속도를 단축하는 작업이고, 다른 하나는 개발 환경에서 테스트를 더 적극적으로 할 수 있도록 환경을 개선하는 작업이에요. CRaC 작업은 현재 개발 환경에 적용된 상태고, 실제 운영 환경에도 적용하는 걸 계획 중이에요.
Q2. 인턴십 동안 맡았던 과제 중 하나를 소개해 주세요. 어떤 과제였는지, 왜 그 과제가 필요했는지, 그리고 최종적으로 어떤 결과물이 나왔는지 이야기해 주세요.
탁구 치는 강아지 - Product Engineer(Backend) Intern
패스키 도입의 핵심은 단순히 로그인 수단을 추가하는 게 아니었어요. 보안성과 편의성은 보통 트레이드오프 관계인데, 패스키는 그 두 가지를 동시에 충족할 수 있거든요. 특히 개인정보 조회나 워크플로우 승인 같은 민감한 작업 전 재인증 수단으로도 활용할 수 있어서, 작업 흐름을 방해하지 않으면서도 보안 수준을 높일 수 있어요.
장기적으로는 flex가 신원 제공자(IdP) 역할을 하는 방향성과도 연결돼요. 우리가 HR 데이터 원장을 가지고 있는 곳이자 IdP의 역할을 할 수 있다면 HR 데이터 변경으로 인한 인증 데이터의 불일치가 사라지고, 고객사 입장에서도 연동 과정이 간소화돼요.
인상 깊었던 건 코드만이 전부가 아니었다는 거예요. 기술 검증은 클로드로 PoC를 빠르게 만들어 확인했고, 도입 방식이나 리스크 관리 같은 판단이 필요한 부분은 팀원분들과 직접 논의하면서 맞춰나갔어요. Product Manager분들을 설득하는 세션도 직접 열었고요. 최종적으로는 피처 플래그 기술로 내부 직원 대상 베타 테스트를 진행하며 편 의성과 재인증 전환율 같은 지표를 측정하는 방향으로 결론이 났어요. 인턴으로서 기획부터 설득, 코드 구현까지 하나의 흐름을 직접 끌고 가는 경험이었어요.
야구 하는 곰 - Product Engineer(Backend) Intern
CRaC라는 기술을 저희 서비스에 적용하는 과제를 했어요. 한마디로 서버 기동 속도를 획기적으로 줄이는 작업인데, 기존에 약 60초 걸리던 기동 시간을 15초 이내로 단축했어요.
저희는 클라우드 환경에서 필요할 때 서버를 빌리고 필요 없을 때 반납하는 방식으로 운영하거든요. 그런데 서버 기동이 느리면 트래픽이 몰리기 훨씬 전부터 미리 띄워놔야 해요. 노트북을 절전 모드에서 깨는 데 1시간이 걸리는 것과 10초가 걸리는 것의 차이라고 보시면 돼요. 기동 속도가 빨라지면 비용도 아낄 수 있고, 사용자가 없는 시간대에는 서버를 아예 내려놓는 것도 가능해져요.
국내 회사 환경에서 CRaC를 적용한 케이스가 거의 없다 보니 적용 방식 자체를 직접 설계해야 했어요. 공식 문서나 예시 코드를 참고하면서 저희 환경에 맞게 배포 파이프라인의 어느 단계에서 체크포인트를 생성할지부터 설계했어요. 사실 이런 과제가 가능했던 것도 플렉스팀의 개발 환경 덕분이에요. MSA 구조로 잘 나뉘어져 있고 배포 파이프라인도 통일되어 있다 보니, 다른 환경에서라면 시도조차 어려웠을 것 같아요. 실제로 지표로 수치가 줄어드는 걸 눈으로 확인했을 때 가장 뿌듯했어요. (웃음)
Q3. 진행하던 작업에서 막히거나 불확실한 부분이 생겼을 때 어떻게 해결했나요?
탁구 치는 강아지 - Product Engineer(Backend) Intern
저는 기본적으로 AI를 작업 흐름 안에 아예 녹여두는 방식으로 일해요. 기술적인 불확실함이 생기면 클로드로 PoC를 빠르게 만들어서 실제로 동작하는지 먼저 확인하고, 그다음에 더 좋은 코드로 발전시키는 거예요. 어떤 기술이 가능한지를 검증하는 데 몇 시간이면 충분하니까 빠르게 실행하고 실패하는 사이클이 자연스럽게 돌아가요. 저희 코드 구조가 꽤 복잡하게 설계되어 있는데, 클로드로 아키텍처(Architecture)를 파악하지 않았다면 그것만으로도 한두 달은 걸렸을 것 같아요.
다만 기술적인 판단을 넘어서 경험과 맥락이 필요한 부분은 팀원분들께 의견을 구해요. 그때도 AI로 먼저 자료를 정리하고 제 의견을 만들어서 가거든요. "이러이러한 사실을 발견했는데, 제 판단이 맞는지 모르겠어요"라는 방식으로 여쭤보니까 훨씬 구체적인 피드백을 받을 수 있었어요. AI로 빠르게 실행하고, 사람한테서 깊이를 얻는 구조예요.
야구 하는 곰 - Product Engineer(Backend) Intern
저도 AI를 작업에 적극적으로 사용하는 편이에요. 특히 여러 방안 중에 무엇을 선택할지 결정해야 할 때, 외부 의존성 없이 격리된 채로 동작하는 애플리케이션을 클로드로 빠르게 만들어서 각 방안이 실제로 동작하는지 먼저 확인해요. 동작함을 확인하고 나면 다음 단계로 훨씬 빠르게 넘어갈 수 있거든요.
한 가지 재미있는 경험은, AI를 깊이 쓰다 보면 예상보다 훨씬 깊은 레벨까지 파고들게 된다는 거예요. 서로 다른 CPU 환경에서 동작하는 문제를 해결하려다가, 클로드가 운영 체제 단까지 방법을 제시해줘서 그것에 매몰된 적이 있어요. AI가 없었다면 그 방향 자체를 떠올리지 못했을 텐데, AI가 있으니까 오히려 더 넓은 가능성을 탐색하게 되는 거죠. 그 과정에서 어디까지 파고들지 스스로 판단하는 능력도 같이 길러지는 것 같아요.
Q4. 인턴십을 시작하기 전과 비교했을 때, 본인이 가장 많이 성장했다고 느끼는 부분은 무엇인가요?
탁구 치는 강아지 - Product Engineer(Backend) Intern
기술적으로는 아키텍처에 대한 이해가 가장 많이 늘었어요. 학교 프로젝트에서는 컨트롤러, 서비스, 모델로 이루어진 단순한 레이어드 아키텍처만 써봤는데, 여기 와서 헥사고날 아키텍처(Hexagonal Architecture), DDD(Domain Driven Design) 같은 개념들을 실제 서비스 코드에서 공부하게 됐어요. 헥사고날 아키텍처는 도메인별로 관심사를 철저히 분리하는 구조인데, 예를 들어 패스키 인증을 구현할 때 어떤 기술 스택을 사용하든 핵심 비즈니스 로직은 건드리지 않고 외부 어댑터만 갈아끼우면 되는 거예요. 이런 구조가 실제 서비스에서 왜 필요한지를 직접 경험하면서 배웠어요. 클로드 덕분에 이 복잡한 모듈 구조를 파악하는 속도도 훨씬 빨라졌고, 회사에서 직접 진행해 주시는 세션들도 정말 큰 도움이 됐어요. 개념만으로는 채워지지 않는 실제 서비스 맥락과 설계 판단의 기준 같은 걸 팀원분들이 직접 나눠주시는 자리에서 많이 배웠거든요.
그리고 원온원을 통해 지속적으로 피드백을 받으면서 사고 방식도 많이 달라졌어요. 예전에는 뭔가를 선택할 때 직관으로 결정했는데, 이제는 무조건 이유를 가지고 말하는 습관이 생겼어요. 멘토님들이 항상 "그렇게 생각하시는 이유가 뭔가요?"를 물어보시거든요. 어떤 설계를 선택할 때 트레이드오프를 고민하고, 내가 생각한 게 전부가 아닐 수 있다는 걸 늘 염두에 두게 됐어요.
소프트 스킬도 많이 배웠어요. 회사에서는 질문을 많이 하면 안 된다고 생각했었는데, 여기서는 오히려 작게 빠르게 공유하는 걸 강조하더라고요. 내가 어떤 상태인지, 어떤 어려움이 있는지를 자발적으로 공유하면 필요한 사람이 와서 도와주는 방식이 훨씬 효율적이라는 걸 배웠어요.
야구 하는 곰 - Product Engineer(Backend) Intern
기술적으로는 인프라 영역에서 많이 성장했어요. 입사 전까지 쿠버네티스(Kubernetes)를 거의 다뤄본 적이 없었는데, 지금은 Helm Chart와 Argo CD를 사용하며 쿠버네티스 환경에서 개발하고 있어요. CRaC를 적용하면서 JVM이 어떻게 동작하는지, 클라우드 환경에서 비용 효율적으로 서버를 운영하는 방식도 깊이 이해하게 됐어요. 그리고 처음 보는 기술을 만났을 때 클로드로 빠르게 PoC를 만들어 동작을 확인하고, 그다음에 실제 서비스에 어떻게 적용할지를 설계하는 방식이 몸에 배었어요. 웹 개발 경험이 많지 않음에도 동작하는 결과물을 빠르게 만들 수 있게 됐다는 게 스스로도 놀라운 부분이에요.
기술 외적으로는 일을 대하는 태도가 많이 달라졌어요. 예전에는 학생 때처럼 정답을 구하는 태도가 있었거든요. "이 부분이 빠져 있으니까 도와주세요"가 아니라, "제가 이렇게 이렇게 생각하는데 이 방향이 맞는지 어떻게 보세요?"처럼 자기 의견을 먼저 가져가는 태도를 원온원에서 꾸준히 피드백 받으면서 달라진 것 같아요.그리고 높은 기준을 유지하되 한정된 시간 안에서 어디서 끊고 가야 하는지를 판단하는 능력도 많이 늘었어요.
Q5. 플렉스팀의 문화 중에서 실제로 일하면서 가장 인상 깊었던 것이 있다면요?
탁구 치는 강아지 - Product Engineer(Backend) Intern
투명한 소통 문화가 가장 인상 깊었어요. 사실 회사에서의 솔직함이나 투명함은 어울리지 않는다고 생각했거든요. 그런데 여기 와서 그 두 개가 다르다는 걸 알게 됐어요. 솔직함은 물어봤을 때 솔직하게 말하는 거고, 투명함은 물어보지 않아도 공유하는 거라고 하더라고요. 내가 어떤 일을 하고 있고, 왜 하고 있고, 어떤 어려움이 있는지를 자발적으로 공유하면 팀 전체가 훨씬 원활하게 돌아가거든요. 단순한 소통의 문제가 아니라 협업 효율의 문제라는 걸 여기 와서 처음 배운 것 같아요.
야구 하는 곰 - Product Engineer(Backend) Intern
팀 분들이 각자 기준치를 높게 설정해서 일하는 분위기가 인상 깊었어요. "이건 네 일, 이건 내 일"로 선을 긋기보다 팀에 필요한 일이라면 누구든 자연스럽게 기여하는 분위기더라고요. 그 안에 있다 보니 저도 자연스럽게 기준치가 올라가는 느낌이에요. 다만 높은 기준과 한정된 시간은 별개의 문제라는 것도 배웠어요. 시간 안에서 퍼포먼스를 내는 법, 어디서 끊고 가야 하는지를 주변 분들한테 계속 배우고 있어요.
Q6. 어떤 분에게 이 인턴십을 추천하고 싶나요?
탁구 치는 강아지 - Product Engineer(Backend) Intern
"왜?"를 좋아하는 사람한테 강력하게 추천하고 싶어요. 어떤 기술을 선택할 때, 어떤 설계를 할 때 항상 이유를 생각하는 습관이 있는 분이요. 여기에는 그 "왜"