ngrok Inc. is looking to improve the performance, security, and reliability of their Agent, which is the lightweight, high-performance binary at the heart of ngrok, to securely connect developers' applications to the internet.
Requirements
- 5+ years of professional software engineering experience building production software.
- Deep experience in a systems language such as Go, Rust, Java, or C/C++
- Strong fundamentals in distributed systems, networking, TLS/mTLS, proxying, load balancing, etc.
- Demonstrated ability to design and build for scale: working with high throughput, many concurrent connections, reliability under load.
- Hands-on experience with observability tooling: metrics, tracing, logs; ability to instrument systems and chase down performance bottlenecks.
- Strong sense of developer experience: making APIs or binaries that are well-documented, robust in diverse environments, easy to configure and deploy.
Responsibilities
- Lead the design and implementation of new capabilities for the agent and tunnel components: SDKs, proxies, endpoint integrations, performance optimizations, observability, etc.
- Improve reliability, scalability, and performance of agent-to-endpoint communication: reduce latency, improve resource usage, make deployments rock solid.
- Help define and enforce security best practices in the agent: proper handling of secrets, mTLS/tls, certificate authorities, etc.
- Shape developer experience around agent setup, configuration, debugging, error handling, and monitoring. Ensure that onboarding is smooth and usage is intuitive.
- Participate in a shared on-call rotation: respond to real production incidents, diagnose complex cross-system issues, define postmortems, push forward reliability improvements.
- Advocate for long-term technical investments: modularization, testability, observability, etc. Help define roadmap trade-offs (short term vs long term).
Other
- 5+ years of professional software engineering experience
- US-based, and legally authorized to work in the United States
- Ability to work in a hybrid or remote environment
- Excellent collaborating skills: working with peers, cross-disciplinary teams, stakeholders; ability to explain trade-offs, influence technical direction
- Experience mentoring and elevating the work of others; setting engineering standards, code reviews