소프트웨어 엔지니어 at Monad

풀타임2개월 전
Employment Information
직무 제목
시니어 소프트웨어 엔지니어 (C++)
직무 설명
모나드 플랫폼의 핵심 인프라 개발을 주도할 경력 있는 소프트웨어 엔지니어를 찾습니다. 이 역할은 복잡한 연산을 실행하기 위한 기반이 되는 고성능 멀티스레드 스택 기반 가상 머신(VM)을 설계하고 구현하는 것을 포함합니다. 지원자는 또한 비잔틴 장애 허용(BFT) 메커니즘을 통해 합의를 유지하는 분산 시스템 구축에 기여하여 탈중앙화 환경에서의 견고성을 보장할 것입니다. 추가적으로, 프로파일링 및 설계 평가를 통해 시스템 성능을 최적화하면서 플랫폼에서 고급 프로그램을 개발할 수 있는 VM 기능을 구현하게 됩니다. 개발자 도구를 개선하고 전반적인 시스템 효율성을 높이기 위해 크로스 기능 팀과 협력하는 것이 필수적입니다.
주요 책임
  • 확장성 있고 안전한 실행 환경을 지원하기 위한 고성능 멀티스레드 스택 기반 VM 및 보조 구성 요소(스토리지, RPC)를 설계하고 개발합니다.
  • 장애 허용, 데이터 일관성 및 노드 간 원활한 동기화를 보장하기 위해 BFT 합의 메커니즘을 활용한 분산 시스템을 설계합니다.
  • 개발자가 모나드 플랫폼을 활용하여 정교하고 고성능 애플리케이션을 구축할 수 있도록 VM 기능을 구현합니다.
  • 성능 프로파일링을 수행하여 병목 현상을 식별하고 계산 흐름과 시스템 효율성을 최적화하기 위한 아키텍처 결정을 평가합니다.
  • 디버깅 유틸리티(GDB, perf), 컴파일러 툴체인(Clang, LLVM) 및 시스템 유틸리티(Unix)를 포함한 개발자 도구 개선을 위해 엔지니어링 팀과 협력합니다.
  • 코드 리뷰에 참여하고 문서를 유지하며 소프트웨어 개발 및 시스템 설계의 모범 사례를 준수합니다.
  • VM 아키텍처 및 분산 시스템의 혁신을 주도하기 위해 업계 동향 및 신기술에 대한 최신 정보를 파악합니다.
  • gdb 및 perf와 같은 고급 도구를 사용하여 복잡한 시스템을 디버깅하고 최적화하여 고부하 시나리오에서의 신뢰성과 성능을 보장합니다.
  • 이해 관계자와 긴밀히 협력하여 플랫폼의 장기적 비전과 일치하는 솔루션을 정의하고 제공합니다.
  • C++, Rust 및 Unix 기반 시스템을 포함한 기술 스택의 지속적인 개선에 기여하여 시스템 기능을 향상시킵니다.
직무 요구 사항
  • 시스템 수준 프로그래밍 및 성능 중심 애플리케이션을 위한 C++ 및 Rust에 대한 고급 숙련도.
  • 스택 기반 실행 모델 및 멀티스레딩 패러다임을 포함한 가상 머신 아키텍처에 대한 깊은 이해.
  • 장애 허용 및 동기화를 위한 합의 알고리즘(예: BFT) 구현과 관련된 분산 시스템 설계 경험.
  • 프로파일링 도구(perf, gdb) 및 계산 병목 현상 분석을 포함한 성능 최적화 기술에 대한 강력한 배경.
  • Unix 기반 운영 체제, 셸 스크립팅 및 시스템 수준 디버깅 및 문제 해결에 대한 전문 지식.
  • 컴파일러 툴체인(Clang, LLVM) 및 개발 워크플로우에의 통합에 대한 실무 경험.
  • 확장성 있고 안전하며 효율적인 소프트웨어 솔루션을 설계할 수 있는 탁월한 문제 해결 능력.
  • 버전 관리 시스템(Git) 및 협업 개발 관행에 대한 숙련도.
  • 독립적으로 그리고 팀의 일원으로서 고품질 코드 및 문서를 제공할 수 있는 능력.
  • 크로스 기능 팀과 협력하고 이해 관계자에게 기술 솔루션을 제시할 수 있는 강력한 커뮤니케이션 기술.
  • 우대 사항: 블록체인 또는 분산 원장 기술 경험 및 개발자 도구 생태계에 대한 친숙도.
  • 필수 사항: 고성능 시스템 및 분산 아키텍처에 중점을 둔 5년 이상의 전문 소프트웨어 개발 경험.
MyJob.one —— 원격 근무, 진정한 임팩트

MyJob.one —— 원격 근무, 진정한 임팩트