About Tailscale
Tailscale is building the new Internet by delivering software that makes it easy to securely interconnect people and their devices, no matter where they are. From hobbyists to multinational corporations, teams of every size use Tailscale each day to protect their networks, share access to internal tools, and more. We're building a future for the Internet that's easy, sensible, and safe, like it used to be. Founded in 2019 and fully distributed, we're backed by Accel, CRV, Insight, Heavybit, and Uncork Capital.
Job Description
We’re seeking a skilled and diligent full-time Software Engineer to join our growing team. You will work as part of the engineering team to:
- Develop the Tailscale product, contributing to both open-source client code and related backend services, with an emphasis on networking features and optimizations
- Take ownership of the entire product lifecycle, from writing code to product ideation and strategic decision-making
- Work with UX/UI designers and product managers to shape features that enhance networking capabilities
Because we’re an early-stage and fully remote company, we’re looking for a strongly motivated individual who can help move the product forward. The ability to think on your feet, collaborate with highly technical teams, and comfort working asynchronously are essential.
Key Responsibilities
- Work as part of a team of engineers to design, build, test, and document core networking software components.
- Exhibit ownership over the running services that comprise Tailscale ’s product by building for observability, participating in incident response, and fielding customer support escalations.
- Analyze and improve the efficiency, scalability, and stability of networking systems and resources.
- Bring a security-first mindset to both design and implementation, ensuring robust and secure networking components.
What We Are Looking For
- Proven experience implementing application-layer networking concepts and distributed components, such as proxies, connectors, and overlay routing, to enable seamless connectivity.
- Deep knowledge of operating system-level networking internals, including socket programming, routing tables, and packet filtering primitives.
- Professional experience with Go (Golang)
- Experience designing and maintaining distributed systems, with a solid understanding of concurrency (e.g., multithreading, race conditions, memory management, synchronization primitives) and scalability.
- Proficiency with relational databases (e.g., PostgreSQL, MySQL) and writing efficient SQL queries.
- Excellent written and verbal communication skills, with the ability to explain complex technical concepts clearly.
- Strong collaborative mindset—you actively give and process constructive feedba