Job Description
This Senior Software Engineer position involves designing and building core components of the Monad platform. Key responsibilities include developing a high-performance multithreaded stack-based virtual machine (VM) with ancillary functionality such as storage systems and remote procedure call (RPC) interfaces. You will also create a distributed system that maintains synchronization through a Byzantine Fault Tolerant (BFT) consensus mechanism. Additionally, you will implement VM features that enable developers to construct more powerful programs on the platform, ensuring scalability and efficiency in system architecture.
Key Responsibilities
- Identify and resolve performance bottlenecks by conducting comprehensive profiling and analyzing design choices to optimize computation flow and system efficiency.
- Collaborate with cross-functional teams to maintain a technical desk, providing guidance through code reviews and driving architectural decisions that align with project goals.
- Act as a technical stakeholder in system development, ensuring alignment between engineering teams and business requirements while maintaining code quality and system reliability.
- Design and implement scalable solutions for distributed systems, focusing on fault tolerance, synchronization, and high availability in complex environments.
- Contribute to the development of innovative VM features that enhance developer productivity and expand the capabilities of the Monad platform.
Job Requirements
- Proficient in C++ and Rust for building high-performance, low-latency systems with strong emphasis on concurrency and memory management.
- Experience with compiler toolchains including Clang, LLVM, and GDB for debugging, performance analysis, and optimizing low-level system code.
- Strong understanding of Unix/Linux systems and command-line tools for deploying and maintaining distributed applications.
- Knowledge of performance monitoring tools like Perf for identifying bottlenecks and improving system efficiency.
- Excellent problem-solving skills and ability to make technical decisions that balance performance, scalability, and maintainability in complex systems.
- Collaborative mindset with experience in aligning stakeholders and driving consensus on technical solutions for distributed platforms.
- Proven track record of delivering robust software systems with a focus on fault tolerance, security, and high availability in production environments.
- Ability to work independently and as part of a team, with strong communication skills for technical documentation and cross-team collaboration.