직무 설명
본 시니어 소프트웨어 엔지니어 포지션은 Monad 플랫폼의 핵심 구성 요소를 설계하고 구축하는 업무를 포함합니다. 주요 책임에는 스토리지 시스템 및 원격 프로시저 호출(RPC) 인터페이스와 같은 부가 기능을 갖춘 고성능 멀티스레드 스택 기반 가상 머신(VM) 개발이 포함됩니다. 또한 비잔틴 장애 허용(BFT) 합의 메커니즘을 통해 동기화를 유지하는 분산 시스템을 구축하게 됩니다. 추가적으로 플랫폼에서 개발자들이 더 강력한 프로그램을 구축할 수 있도록 하는 VM 기능을 구현하고, 시스템 아키텍처의 확장성과 효율성을 보장해야 합니다.
주요 책임
- 포괄적인 프로파일링을 수행하고 설계 선택을 분석하여 계산 흐름과 시스템 효율성을 최적화함으로써 성능 병목 현상을 식별하고 해결합니다.
- 크로스 기능 팀과 협력하여 기술 데스크를 유지하고, 코드 리뷰를 통해 지도를 제공하며 프로젝트 목표와 일치하는 아키텍처 결정을 주도합니다.
- 시스템 개발 과정에서 기술적 이해관계자 역할을 수행하며, 엔지니어링 팀과 비즈니스 요구 사항 간의 일치를 보장하고 코드 품질과 시스템 신뢰성을 유지합니다.
- 복잡한 환경에서 장애 허용, 동기화 및 고가용성에 중점을 둔 분산 시스템을 위한 확장 가능한 솔루션을 설계하고 구현합니다.
- 개발자 생산성을 향상시키고 Monad 플랫폼의 기능을 확장하는 혁신적인 VM 기능 개발에 기여합니다.
직무 요구 사항
- 동시성 및 메모리 관리에 중점을 둔 고성능, 저지연 시스템 구축을 위한 C++ 및 Rust에 능숙해야 합니다.
- 디버깅, 성능 분석 및 저수준 시스템 코드 최적화를 위한 Clang, LLVM 및 GDB와 같은 컴파일러 툴체인 경험이 필요합니다.
- 분산 애플리케이션 배포 및 유지를 위한 Unix/Linux 시스템 및 명령줄 도구에 대한 깊은 이해가 필요합니다.
- 병목 현상 식별 및 시스템 효율성 개선을 위한 Perf와 같은 성능 모니터링 도구에 대한 지식이 필요합니다.
- 복잡한 시스템에서 성능, 확장성 및 유지 관리성 간의 균형을 맞추는 기술적 결정을 내릴 수 있는 탁월한 문제 해결 능력이 필요합니다.
- 이해관계자 간 조율 경험과 분산 플랫폼을 위한 기술적 솔루션에 대한 합의를 이끌어낼 수 있는 협업 마인드셋이 필요합니다.
- 프로덕션 환경에서 장애 허용, 보안 및 고가용성에 중점을 둔 견고한 소프트웨어 시스템 제공 실적이 입증되어야 합니다.
- 독립적으로 또는 팀의 일원으로 작업할 수 있는 능력과 기술 문서 작성 및 크로스 팀 협업을 위한 강력한 커뮤니케이션 기술이 필요합니다.