개발환경 소개
엠블 서비스의 근간을 지탱하는 서버 프로그램들은 Spring framework를 적극 활용하여 Kotlin 언어로 작성되어 있습니다.
Gradle을 활용하여 의존성 관리를 하며, 스프링 프레임워크 및 자바 생태계를 적극적으로 활용하고 있습니다.
Clean Architecture, Clean code를 지향하여 비지니스 로직이 명확하게 드러나게 하여 다른 개발자들이 코드를 쉽게 이해할 수 있게 하고 있습니다.
클라이언트 개발자와의 소통을 위해 swagger를 활용하여 API를 문서화하여 제공합니다.
MicroService Architecture의 활용
엠블이 제공하는 서비스는 다루는 도메인이 방대하기 때문에 구성 요소들을 쪼개어 Microservice 들로 구성하여 개발하고 있습니다.
마이크로서비스 구조를 통해 모듈화, 확장성, 장애대응성을 꾀하고 있습니다.
마이크로 서비스 내의 공통 지식들이나 유틸리티들을 공용 리포지토리에 관리중입니다.
마이크로 서비스간의 통신을 위해 gRPC, AMQP를 적극 활용중입니다.
실험적으로 DDD(domain driven development) 및 event driven development등의 아키텍처를 일부 마이크로 서비스에 적용 하고 있습니다.
CI/CD
배포와 테스트 자동화를 위해 CircleCI를 활용하여 CI/CD 환경을 구축, 활용하고 있습니다.
가상화
서버 프로그램들은 모두 dockerize되어 배포됩니다.
AWS EKS를 활용하여 docker container들을 kubernetes로 관리합니다.
모니터링
Prometheus/grafana와 AWS Cloudwatch, Datadog 등을 활용하여 서비스를 모니터링합니다.
업무 내용
•
라이드 헤일링 서비스 TADA의 백엔드 유지 보수 및 신기능 개발
주요 업무
•
라이드 헤일링 서비스 TADA의 백엔드 유지 보수 및 신기능 개발
•
SOLID 원칙을 비롯한 Clean Code standard를 지키는 코드를 작성하고 유지보수,
Architectural best practices를 연구하여 적용, 안정적이고 빠른 코드 작성
•
협업이 가능한 코드를 위한 코드 리뷰 및 효율적인 코드를 위한 리팩토링 작업
자격 요건
•
Kotlin에 대한 기본적인 이해 및 경험 우대
•
Database 통신을 사용한 기본적인 백엔드 서버 제작 능력
•
기본적인 비즈니스 로직 구성 능력
•
스프링 프레임워크 사용 경험
•
API를 활용한 Frontend 개발자와의 소통 능력
•
3년 혹은 그에 준하는 경험자
우대 사항
•
Microservice Architecture에 대한 활용이 능숙하신 분
•
AMQP, gRPC 등 서비스 간 통신에 대해 잘 이해하고 계시는 분
•
Docker, k8s 등 가상화 솔루션에 대한 이해를 잘 하고 계시는 분
•
Global 서비스 개발 경험이 있으신 분
•
영어로 의사소통이 가능하신 분
•
머신러닝 서비스 개발 경험이나 관련 지식이 있으신 분
Joining 여정
•
서류전형 (1~2일) > 과제전형 (아래 안내 참조 / 약 1주) > 기술 면접 (비대면 가능, 2시간 이내) > 레퍼런스 체크 (필요시) > 최종합격
•
과제전형 안내 : 직군에 맞는 과제 전형을 진행합니다.
◦
알고리즘 코딩테스트 대신 우리팀에서 사용하는 기술에 대한 이해도나 협업 능력을 보기 위한 형태의 과제를 진행합니다.
◦
과제 수행 기간은 대략 3일에서 7일 정도의 기간을 두고 진행되며 지원자의 상황에 따라 유동적으로 협의가 가능합니다.
# 과제 전형은 채용을 진행하는 개발 리드의 판단에 따라 선택적으로 적용될 수 있습니다.
# 백엔드 개발자의 경우 현장에서 온싸이트 코딩 테스트가 있을 수 있습니다.
근무형태 : 정규직(수습기간 3개월)