인터뷰

애드테크기업에서 무한한 성장가능성을 점친 개발자

[인터뷰] 11시11분 November팀 신승한 팀장

2023. 06. 02 (금) 11:37 | 최종 업데이트 2023. 06. 02 (금) 14:13
요즘은 광고가 필요한 제품과 서비스들이 전에 없이 다양하죠. 그 안에서 광고가 만들어지고 타겟팅되어 수집한 데이터만해도 어마어마한 양일 겁니다. 그 데이터를 어떻게 정량적, 정성적으로 분석해 활용하는지에 따라 새로운 마케팅 기회로써 시장에서의 입지가 남달라 지기도 하죠. 그래서 광고업계는 기술 융합에 더욱 속도를 내고 있습니다. 

11시11분은 이처럼 광고에 기술을 융합해서 온라인 광고 플랫폼과 마케팅 솔루션을 개발하는 애드테크 기업인데요. 2010년 설립된 이후 지금까지 이베이, 삼성전자, 네이버, 롯데 등 굴지의 대기업 고객사와 함께 꾸준히 광고 플랫폼 개발 및 운영을 도맡아 업력을 키워가고 있어요. 광고주의 보다 정확한 타겟팅, 새로운 수익 창출 기회를 돕기 위해 자체 플랫폼 ‘애드파스’는 물론 SNS, 커머스, 모바일 광고 등 영역의 제한 없이 솔루션을 제안하고 있어요. 

이렇게 다양한 솔루션은 물론 분석, 커스텀 마케팅까지 도울 수 있는 데에는 탄탄한 시스템 기반이 갖춰져 있기 때문입니다. 높은 수준의 품질을 자랑하고 광고주의 신뢰를 높이는 성능으로 개선, 유지될 수 있도록 중심축을 지키고 있는 개발팀이 노력한 덕분이죠. 개발팀장 신승한님을 만나 11시11분의 개발팀이 일하는 방법에 대해서 자세히 들어봤습니다.  
안녕하세요. 간단한 자기소개와 함께 현재 하고 있는 업무에 대한 소개 부탁드려요. 

안녕하세요. 11시11분 november팀의 개발팀 팀장인 신승한입니다. 저희 팀에서는 각종 온라인 광고 관련한 사업 프로젝트를 진행하고 있어요. 저는 소프트웨어 애플리케이션 또는 시스템의 개발 프로세스를 감독하고 있는데요. 클라이언트 또는 조직의 요구 사항을 충족하는 소프트웨어 솔루션 계획, 설계 및 구현을 위해 개발자 팀과 긴밀히 협렵하는 것도 포함됩니다. 또 팀장으로서 소프트웨어가 높은 수준의 품질, 신뢰성 및 성능으로 개발되도록 할 책임을 짊어지고 있어요. 여기에는 요구 사항 수집, 설계, 코딩, 테스트 및 배포를 비롯한 개발 수명 주기 관리가 모두 포함된다고 보시면 됩니다.


‘개발자’로서 애드테크기업을 선택하기까지 이 전의 어떤 경험이 도움이 됐나요? 

이베이 코리아, 티몬, 롯데에서 CPC 광고 플랫폼을 설계 및 개발했던 경험이 있어요. 뿐만 아니라 각종 클라우드 기반 프로젝트를 진행했기 때문에 ‘애드테크’라는 분야의 생소함은 없었어요. 또 광고 업계의 경우 여전히 자동화가 필요한 곳이 많다고 생각했던 것과 함께 회사의 비즈니스 모델이 마음에 들었어요. 여기서라면 전문성 개발은 물론 기술 교육을 위한 기회가 다양하겠구나 싶었죠. 앞으로 광고 산업과 AI기술의 접목 또한 새롭게 기대되는 부분이라 재밌게 일하고 있어요. 


실제로 일하면서 11시11분의 개발자로서 ‘업무적인 성장 가능성’을 볼 때, 어떤 점이 가장 만족스러운가요? 

광고산업 자체가 트렌드를 놓치면 안되는 분야라 개발도 마찬가지입니다. 최신 기술을 현장에서 직접 부딪히고 학습하면서 일할 수 있다는 것이 가장 큰 장점이라고 생각해요. 처음에는 물론 적응하기까지 쉽지 않아요. 그렇지만 시간이 지나면 성장한 자신을 돌아보며 만족감을 크게 느낄 수 있을 겁니다. 


새로운 프로젝트가 기획부터 개발로 이어지기까지의 프로세스를 소개해주세요. 

총 여섯 단계로 나누어 볼 수 있는데요. 

요구 사항 수집: 이 단계에는 프로젝트 요구 사항, 목표 및 제약 조건에 대한 정보 수집이 포함됩니다. 여기에는 이해 관계자와의 문서 검토 및 사용자 요구 분석이 포함됩니다.

설계: 요구사항을 기반으로 단어정의, 상태정의 스키마 설정 등의 상세 설계를 진행합니다.
개발: 개발 단계에는 요구 사항 및 설계 사양을 기반으로 소프트웨어 솔루션을 구축하는 단계가 포함됩니다. 여기에는 코드 작성, 데이터베이스 생성, 타사 도구 및 서비스 통합이 포함될 수 있습니다.

테스트: 소프트웨어 솔루션이 개발되면 요구 사항을 충족하고 버그와 오류가 없는지 철저히 테스트해야 합니다. 단위 테스트, 통합 테스트 및 사용자 승인 테스트가 포함돼요.

배포: 소프트웨어 솔루션을 테스트하고 사용할 준비가 되면 프로덕션 환경에 배포할 수 있습니다. 여기에는 서버 설정, 데이터베이스 구성 및 적절한 위치에 코드 배포가 포함되죠.

유지 관리: 소프트웨어 솔루션을 배포한 후에는 계속해서 사용자 요구 사항을 충족하고 의도한 대로 작동하는지 확인하기 위해 지속적인 유지 관리가 필요합니다. 성능 모니터링, 버그 수정, 필요에 따라 업데이트 및 개선이 포함되고요. 


각 프로세스 안에서 소요되는 시간과 리소스 배분은 어떤가요? 또 어떻게 배포가 진행되는지 궁금합니다. 

대체적으로 분석/설계에 리소스의 50%가 소요되고 개발에 25%, QA 및 런칭에 25% 가 소요되는 편인데요. 각 단계별로 약 2~3개월의 시간이 평균적으로 소요되고 있어요. 
저희는 AWS에서 제공하는 기본 CICD를 사용 중인데요. Git에 소스코드가 푸시 되면 Codepipeline을 트리거 하고, 
Codebuild에서 소스코드 빌드 및 테스트를 진행합니다. 빌드와 테스트가 완료되면 이미지가 저장소에 업로드 되며, “그린” 환경으로 배포가 실행됩니다. 배포 완료 시 슬랙으로 각 담당자에게 알람이 가고, 그린환경에서의 관리자 검토가 종료되면 “승인” 버튼을 눌러서 “블루”와 “그린”을 교체합니다. 


장애나 긴급상황에서는 어떤 프로세스로 대응하나요?

장애 발생 위기 시에는 각 담당자에게 알람이 발송됩니다. 자동으로 복구가 되는 경우는 그냥 넘어가면 되고요. 자동 복구가 실패할 경우 각 담당자가 수작업으로 원인 파악 및 복구 작업을 진행하게 됩니다. 

함께 만들어가는 개발 문화는 어떤가요? 

팀 구성원이 편안하게 아이디어를 공유하고, 질문하고, 피드백을 제공하는 문화를 지향하고 있어요. 코드리뷰도 하고 있는데요. 두 명의 개발자가 한 대의 컴퓨터에서 함께 작업해 코드를 작성하고 서로의 작업을 검토하며 오류를 더 빨리 포착하려고 하고 있죠. 최근에는 intellij의 code with me 기능으로 많은 도움을 받고 있어요. 그리고 무엇보다 빈번한 반복과 테스트의 중요성을 강조합니다. 또 멘토링 또는 자기 주도 학습을 통해 지속적으로 새로운 기술을 배우고 개발하도록 권장합니다. 저희는 다양한 언어를 사용하지만, 주 언어는 Kotlin / java / typescript 입니다. 또 업무 협업을 위한 툴로는 jira / asana 등이 있는데, 둘 다 잘 사용할 줄 안다면 적응에는 어렵지 않을거에요. 


팀장으로서 업무 총체적인 흐름에 대해 느끼고 있는 책임감과 함께 지금까지 쌓인 업무에 대한 노하우가 강하게 옅보입니다. 그럼에도 일하며 느끼는 어려운 점이 있었다면 어떻게 극복했나요? 

개발 프로젝트의 요구와 이해 관계자의 요구, 기대 사이의 소통을 진행하는 것이 어려웠는데요. 이를 극복하기 위해 슬랙이나, 아사나 등의 도구를 최대한 활용하려고 했어요. 이로인해 명확한 목표 및 일정 설정, 작업 우선 순위 지정, 진행 상황 및 상태 업데이트가 가능해져서 이제는 효과적인 프로젝트 관리가 가능해졌습니다.


개발 직군은 자고 일어나면 또 새로운 기술이 생겨난다는 분야기도 하죠. 꾸준히 자기계발을 늦추지 않아야 한다고도 하고요. 새로운 기술을 익히고 인사이트를 얻기 위해서 어떤 노력을 기울이고 있나요? 

같이 공부할 개발자 친구를 많이 만드는 것이 좋다고 생각해요. 서로 기술에 대한 각자의 경험을 공유하면 더  빠른 발전이 가능하더라고요. 또 저는 취미로 다양한 언어를 학습하는 것을 좋아하는 편인데요. 한 분야에서 제가 꾸준히 롱런할 수 있었던 자양분이 됐다고 생각해요. 무엇이 됐든, 관심을 갖고 시간을 투자해야 온전히 ‘내 것’이 됩니다. 다른 거창한 방법보다는 이게 정통하는 방법이지 않을까요? 

저는 최근 kotlin multiplatform 기술을 관심 있게 보고 있는데요. 현실적으로 이 프로젝트가 성공하기 힘들 것이라고 생각은 하지만, 제시하는 비전이 정말 매력적이라 요즘 큰 관심을 갖고, 알아가는데에 시간을 보내고 있습니다. 
함께 일할 동료가 미리 갖추고 있으면 좋을 필수 역량이 있다면 알려주세요. 

어느 회사든 마찬가지겠지만, 맡은 바 책임을 다하면서 스스로 발전하고자 하는 의지를 갖고 있는 동료라면 좋겠습니다. 면접관으로 참여했을 때 기억을 되살려 보자면, 다양한 기술들을 접해보고 그 장단점을 빠르게 설명 가능한 개발자가 꽤 인상 깊게 남았어요. 저 외에도 다수의 눈길을 끌었죠. 

우선은 기본기가 되는 java, typescript, sql 등의 역량을 갖추고 있으면 좋고요. 실무를 위해서 AWS, kotlin, Hibernate 등의 지식이 필요합니다. 또 가능하다면 클라우드 관련 자격증을 갖고 있으면 도움이 많이 될 거에요. 


업무하면서 세우고 있는 단기적인 목표/장기적인 목표가 있을까요?

단기적인 목표는 할당된 시간과 예산 내에서 현재 개발 프로젝트를 성공적으로 완료하는 것입니다. 또한 개발팀 내에서 프로세스 개선 영역을 식별하고 변경 사항을 구현하여 효율성과 생산성을 높이는 것이죠. 
장기적인 목표는 조직의 전략적 목표와 목표에 부합하는 장기 기술 로드맵을 개발하고, 고품질 소프트웨어 솔루션을 성공적으로 제공할 수 있는 강력하고 응집력 있는 개발팀을 구축하는 것입니다. 
저작권은 잡플래닛에 있으며, 무단 배포를 금지합니다.