Software Engineers

Compunnel

$110K — $130K *
Information Technology
Less than 5 years of experience
Job Overview by Ladders

Qualifications

  • 5-7 years of experience in software engineering with a focus on scalable applications and web services.
  • Strong proficiency in modern Rust programming language.
  • Hands-on experience with async/await for asynchronous programming in Rust.
  • Deep understanding of Rust sharing models like Sync and Send.
  • Proven background in concurrent programming and techniques such as locking and memory synchronization.
  • Expertise in distributed system concepts including consensus and failure detection.
  • Commitment to writing clean, maintainable, and high-performance code.

Responsibilities

  • Design, implement, and support scalable applications and web services.
  • Develop and maintain distributed systems leveraging Rust.
  • Build asynchronous systems using Rust's async/await feature.
  • Create concurrent software applying locking and memory synchronization techniques.
  • Implement features related to distributed system capabilities like replication and consensus.
  • Own the complete feature lifecycle from identification to production support.
  • Apply comprehensive testing strategies for correctness and performance.

Benefits

  • Collaborative team environment focused on innovation.
  • Significant individual responsibility and influence on core service development.
  • Opportunities for professional growth and skill development in modern technologies.
  • Flexible work arrangements to support work-life balance.
Full Job Description
Job Summary

We are seeking an experienced Software Engineer to join a small, collaborative team responsible for building and evolving a distributed, multi-tiered data orchestration service supporting critical Artificial Intelligence and Machine Learning systems. The role offers significant individual responsibility and influence over the direction of the core service. The ideal candidate will have strong expertise in modern Rust, concurrent programming, and distributed systems, with a passion for clean, maintainable, and high-performance code. Engineers will own features throughout their complete lifecycle, from identifying improvements and proposing solutions through implementation and production support.

Key Responsibilities
• Design, implement, and support highly scalable applications and web services.
• Develop and maintain distributed systems using modern Rust and current coding practices.
• Build efficient asynchronous systems using Rust async/await and appropriate sharing models such as Sync and Send.
• Develop concurrent software using locking, memory synchronization, atomic operations, and related concurrency techniques.
• Design and implement distributed system capabilities involving consensus, replication, failure detection, and other distributed systems concepts.
• Own the complete lifecycle of features, including identifying areas for improvement, proposing changes, driving implementation, and supporting solutions in production.
• Develop readable, maintainable, and performant code using Rust tooling and its strong type system and borrow checker.
• Apply comprehensive testing strategies covering both correctness and low-level performance.
• Participate in pair-programming and collaborative development practices to share code ownership and technical knowledge.
• Investigate and optimize low-level system performance, including memory allocations and resource utilization.
• Collaborate with team members to solve complex technical problems across high-level system design and low-level implementation.

Required Qualifications
• Experience designing, implementing, and supporting highly scalable applications and web services.
• Strong hands-on experience with Rust.
• Experience with Rust asynchronous programming, including async/await.
• Understanding of Rust sharing models, including Sync and Send.
• Strong experience with concurrent programming, including locking, memory synchronization, and atomic operations.
• Strong understanding of distributed system concepts, including distributed consensus, replication, and failure detection.
• Strong focus on writing clean, readable, maintainable, and performant code.
• Experience with software testing focused on both correctness and performance.

Preferred Qualifications
• Experience with blob storage solutions.
• Experience with distributed key-value databases.
• Experience with Kubernetes and containerized environments.
• Experience with Linux system internals.
• Experience with storage systems and their internals.
• Experience with backend web technologies.

Similar Jobs

More Jobs at Compunnel

More Information Technology Jobs

Find similar Software Engineers jobs: