-
JAVA 백엔드 소프트웨어 엔지니어
업무내용
초당 수천건 이상의 요청을 안정적으로 처리하는 서버의 개발 및 운용 (DevOps)
클라이언트 S/W 엔지니어와 소통하며 효율적인 API를 공동 설계
도메인 주도 설계에 따른 데이터 및 어플리케이션 아키텍쳐 작성
지원자격(필수)
2년 이상의 JAVA 백엔드(서버) 애플리케이션 개발 경력 혹은 준하는 실력
IoC 컨테이너, ORM, 애플리케이션 서버 등 JAVA 백엔드 기반 기술 사용 경험
영어를 통한 개발 정보 습득이 가능한 분
(한국어 네이티브가 아닌 경우) 한국어 듣기 및 읽기가 가능하고 영어로 의사소통이 가능한 분
우대사항
서비스의 API를 설계하고 발전시켜나가는 경험을 가지신분
Python 사용 경험이 있으신 분
오픈 소스 개발 경력이 있으신 분어떤 일을 어떻게 하나요?
저희가 사용하고 있는 기술 스택은 다음과 같습니다.
실시간 영상/음성 커뮤니케이션 기술
최근 많은 관심을 얻고 있는 WebRTC를 모바일 환경에서 안정적이고 효율적으로 구현하기 위해 노력해 왔으며 그동안 얻은 성과를 Azar 서비스에 적용하고 있습니다.
모바일 플랫폼
현재 안드로이드 / iOS 버전이 출시되어 있습니다. 성능이 중요한 만큼 모두 네이티브 앱으로 작성되었으며 다양한 오픈소스 라이브러리(Android에서는 Roboguice, EventBus, okhttp, iOS에서는 Bolts, AFNetworking 등)를 사용 중입니다.
서버 및 인프라
EC2, S3 등 다양한 AWS 서비스를 이용하고 있으며, 성능이 필요한 곳은 Java가 사용되고 그렇지 않은 곳에서는 Python이 사용됩니다. 예를 들면 서블릿 컨테이너 + Spring + Hibernate + EhCache로 구성된 웹 앱, Netty 기반 비동기 소켓 통신 서버, Django 기반 통계/어드민 서버 등이 존재합니다. 그리고 RDB로는 MySQL, key-value store로는 Redis를 사용하고 있습니다.
서버 – 클라이언트 기술
서버와 클라이언트 간의 API로 JSON-RPC 2.0을 사용 중입니다. RESTful API에 대한 대안으로서 JSON-RPC을 도입하였고 만족하고 있습니다. 그 외 비동기 메시징을 위해 STOMP 프로토콜을 사용 중입니다.
그리고 다음과 같은 방식으로 일합니다.Git을 사용하며 Gitflow에 기반하여 브랜칭/배포를 처리합니다.
회사의 주된 커뮤니케이션은 Slack을 통해 이루어집니다.
Trello에 기반해서 kanban을 합니다.
일주일에 한번 개발 멤버들이 모여 한일/할일, 혹은 그냥 잡담을 나누는 AWSUM(All-developer Weekly Stand Up Meeting) 시간을 가집니다.
코드에 주인이 없다는 원칙(collective code ownership)을 가지고 있습니다.
격식 없이 가볍게 코드 리뷰를 하며(lightweight code review)를 하며 필요한 경우 두 명이 같이 코드를 짜기도 합니다.
즐겁게 일할 수 있나요?즐겁게 일하기 위해서 가장 중요한 조건 중 하나는 능력 있는 멤버에 대해 그에 맞는 보상을 제공하는 것이라고 생각합니다.
다음과 같은 보상 시스템을 갖추고 있습니다.
보수는 기본급 + 인센티브 로 구성됩니다.
기본급으로 업계 최고 수준을 넘어 타 업종(대기업 / 외국계 / 금융권 등)에서 받으실 수 있는 이상을 제공합니다.
인센티브는 연1회 직전 년도의 성과를 바탕으로 지급합니다.
정규직 채용이 원칙이며 지원자의 필요에 의한 경우 다른 고용형태를 협의할 수 있습니다.S/W 엔지니어에게 특화된 내용을 별도로 말씀드리면
15인치 맥북 및 고성능 모니터 등 최고 수준의 장비가 지급됩니다.
직원분들의 허리건강을 위해 전동 책상을 사용하고 있습니다.
개발도구 및 사무자동화 S/W등의 구매에 주저하지 않습니다. S/W 엔지니어의 삶을 좀 더 편하게 만드는 외부 유료 서비스의 도입에도 적극적입니다. (IntelliJ, New Relic 사용 중)
회사에 구비하기 위한 업무 관련 도서의 구입은 무제한으로 회사가 비용을 부담합니다.