직무 설명
Golang 개발 엔지니어로서, 귀하는 거래 서버의 핵심 기능을 지원하는 고성능 시스템을 설계하고 구현할 책임이 있습니다. 이 역할은 확장성, 동시성, 가용성 및 지연 최적화를 포함한 시스템 아키텍처 원칙에 대한 깊은 이해를 요구합니다. 귀하는 다양한 기능의 팀들과 긴밀히 협력하여 비즈니스 요구 사항을 기술적 솔루션으로 전환하고, 시스템이 기능적 및 비기능적 사양을 모두 충족하도록 할 것입니다.
이상적인 후보자는 기존 시스템의 지속적인 개선에 집중하며, 변화하는 비즈니스 요구에 맞춰 최적화 및 재구조화 기회를 식별할 것입니다. 여기에는 시스템 병목 현상의 심층 분석, 복잡한 기술적 과제에 대한 혁신적인 솔루션 개발, 시스템 효율성과 신뢰성을 향상시키는 성능 개선 구현이 포함됩니다.
귀하는 요구 사항 수집부터 배포 및 유지보수에 이르는 소프트웨어 개발의 전체 라이프사이클에 참여하게 됩니다. 이를 위해 비즈니스 요구 사항을 평가하고, 확장 가능한 아키텍처를 설계하며, 개발 및 운영 팀을 안내하는 기술 문서를 작성하는 강력한 분석 능력이 필요합니다.
주요 책임
- Golang을 사용하여 고성능 거래 서버 시스템을 개발 및 유지보수하고, 확장성, 높은 동시성 및 낮은 지연 시간 요구 사항을 충족시킵니다.
- 고가용성을 지원하고 기존 플랫폼과 원활하게 통합되는 분산 시스템 아키텍처를 설계 및 구현합니다.
- 기존 시스템의 성능 분석을 수행하고 병목 현상을 식별하여 시스템 효율성과 신뢰성을 개선하는 최적화 전략을 구현합니다.
- 제품 관리자 및 이해관계자와 협력하여 비즈니스 요구 사항을 기술 사양 및 시스템 설계로 전환합니다.
- API 사양, 시스템 아키텍처 다이어그램 및 배포 가이드를 포함한 기술 문서를 작성 및 유지보수합니다.
- 코드 리뷰에 참여하여 모범 사례를 준수하고 개발 라이프사이클 전반에 걸쳐 코드 품질을 유지합니다.
- 배포 후 시스템 성능을 모니터링하고 문제를 해결하며 지속적인 개선을 위한 권장 사항을 제공합니다.
- 새로운 기술 및 업계 동향을 지속적으로 파악하여 팀이 시스템 개발을 위한 혁신적인 솔루션을 채택할 수 있도록 합니다.
직무 요구 사항
- 컴퓨터 과학, 소프트웨어 공학 또는 관련 분야의 학사 학위 이상.
- Golang 개발 분야에서 최소 3년의 실무 경험 및 확장 가능하고 고성능 시스템 구축 실적.
- 분산 시스템, 마이크로서비스 아키텍처 및 클라우드 컴퓨팅 플랫폼(예: AWS, Azure, GCP)에 대한 강력한 이해.
- 효율적인 데이터 처리 및 저장을 보장하기 위한 SQL 및 NoSQL 기술을 포함한 데이터베이스 설계 및 최적화 능숙도.
- 로드 밸런싱, 캐싱 전략 및 비동기 처리와 같은 성능 튜닝 기술 경험을 통해 낮은 지연 시간과 높은 동시성을 달성.
- 복잡한 기술적 과제를 분석하고 혁신적인 솔루션을 개발할 수 있는 탁월한 문제 해결 능력.
- 제품 관리자, QA 엔지니어 및 DevOps 전문가를 포함한 다양한 기능의 팀과 효과적으로 협력하기 위한 강력한 커뮤니케이션 능력.
- 효율적인 소프트웨어 제공 및 배포를 위한 CI/CD 파이프라인, 컨테이너화(Docker) 및 오케스트레이션 도구(Kubernetes)에 대한 친숙도.
- 반복적인 개발 및 스프린트 계획 경험을 포함한 애자일 개발 환경에서 작업할 수 있는 입증된 능력.
- 시스템 신뢰성 및 성능 추적을 보장하기 위한 시스템 모니터링 및 관찰 가능성 도구(예: Prometheus, Grafana, ELK 스택)에 대한 지식.
- 시스템 간 원활한 통신을 가능하게 하는 RESTful API 및 gRPC를 포함한 API 개발 및 통합 경험.
- 산업 모범 사례를 준수하는 깨끗하고 유지보수 가능한 코드를 작성할 수 있는 세심한 주의력.
- 새로운 기술을 배우고 적응할 의지와 능동적인 기술 개발 및 혁신 접근 방식.
- 독립적으로 및 팀의 일원으로 작업할 수 있는 능력과 프로젝트 목표 달성을 위한 협력적 사고방식.
우대 사항
- 고빈도 거래 시스템 또는 실시간 데이터 처리 플랫폼 경험.
- 고급 거래 서버 개발을 위한 블록체인 기술 또는 분산 원장 시스템에 대한 지식.
- 시스템 무결성 및 데이터 보호를 보장하기 위한 보안 프로토콜 및 암호화 표준에 대한 친숙도.
- 인프라스트럭처 코드(IaC) 및 자동화 도구(Ansible, Terraform)를 포함한 DevOps 실천 능숙도.
- 시스템 확장성 및 신뢰성을 검증하기 위한 성능 테스트 도구(예: JMeter, Locust) 경험.
- 클라우드 네이티브 애플리케이션을 위한 컨테이너 오케스트레이션 및 마이크로서비스 배포 패턴 이해.
- 고가용성 요구 사항을 가진 내결함성 시스템 설계 및 구현 능력.
- 버전 관리 시스템(예: Git) 및 협업 코딩 실천 경험.
- 확장 가능하고 유지보수 가능한 아키텍처 구축을 위한 시스템 설계 패턴 및 모범 사례에 대한 지식.
- 시스템 성능 지표를 평가하고 그에 따라 최적화할 수 있는 강력한 분석 능력.