CareersHelp Build the Open Cloud

Software Engineer - Distributed Systems

San Francisco, CA, US
Remote

The Company

Joyent, a wholly-owned subsidiary of Samsung, is the open cloud company. Joyent has been a pioneer and innovator in the cloud computing industry for over 15 years.. We now develop software that powers Samsung’s internal cloud, in addition to continuing our existing enterprise cloud business.

The Team and Our Values

We are a team of software engineers of various technical backgrounds and at various stages in our careers. We value diverse viewpoints and have a culture built on respect, creativity, and collaboration. We value self-motivation and self-learning; we are proactive in our actions and always eager to know more. We have a strong tradition of mentorship and are always enthusiastic to share knowledge and expertise.

Our Unique Position

Our position within the Samsung organization provides us with the opportunity to build software at a scale rarely seen in the industry. At the same time, we are a small company and offer a personal and close-knit work environment. Joyent employees are thus uniquely positioned to meaningfully contribute to technology deployed on a global scale and play an important role in Samsung’s continued innovation in the cloud industry.

Your Role

(2 positions - senior and junior levels)

We are looking for distributed systems experts who love to design, write, and debug code—software engineers who are not afraid of the biggest problems nor the smallest details and who are comfortable in every stage of a complex distributed system design and implementation process. We all play many roles and value a willingness to learn new skills and take on diverse responsibilities.

You will focus on distributed systems work within Joyent’s Storage Team. You will help design and implement complex systems within our storage service. As such, you should have practical experience with the unique trade-offs and pitfalls that arise when managing software across thousands of servers distributed among tens of datacenters. You should be eager to analyze and troubleshoot unexpected pathologies and work in and around them.

Desired Experience and Skills

  • A Bachelor’s degree in Computer Science or a related field. A graduate degree is a plus.
  • At least two years of professional work experience

  • Foundational knowledge in the following especially relevant areas:

    • Operating Systems concepts (e.g. CPU scheduling, memory management, I/O, resource contention, virtualization, file systems)
    • Distributed systems (e.g. CAP theorem, peer-to-peer and client-server models, RPC, replication, consensus, scalability)
    • Analysis of algorithms (e.g. time and space complexity, distributed data structures, randomized algorithms, (distributed) hashing)
    • Experience with at least one statically typed, server-oriented programming language (e.g. Go, Rust, C, C++, Java).
  • Expertise in some (but not all) of the following areas:
    • Computer networking (e.g. TCP/IP , ethernet, DNS)
    • Databases (e.g. SQL, NoSQL, query optimizations, normalization, performance)
    • Storage technologies (e.g. erasure coding, data striping, RAID, ZFS)
    • Familiarity with development and orchestration tools (e.g. git, gdb, DTrace, Ansible, Kubernetes)
  • Experience in a remote work environment with multiple time zones is a plus.
  • Participation in the open-source community is a plus.
  • Strong communication skills:
    • We formulate creative solutions for complex problems and must articulate those ideas in a way that other members of the organization can easily understand. We make important decisions that require communication between teams and between Joyent and our customer. With this in mind, we expect team members to be emotionally intelligent and proactive in their communication.
    • As part of this position, we will expect you to write proposals, design documents, and technical documentation. Additionally, due to our remote-friendly culture, most technical discussions are via written communication. Thus, we expect you to be a good written communicator. We do not expect you to be an English native speaker (in fact many of us are not), but we do expect you to put care into your communications.

Locations

Joyent is remote-friendly (US, Canada, EU, South Korea) and has a highly distributed engineering team. We are currently entirely remote due to the COVID-19 outbreak, but in normal times a few engineers prefer being physically present in our San Francisco office. We are seeking candidates who would like to work in the San Francisco area, New York City area, or remotely, and who can travel at least twice a year to meet with other members of the engineering team.

Compensation

We are a growing company that appreciates the value of talent in terms of things both big (we offer highly competitive salary and excellent benefits) and small (gym dues are on the house)

About Joyent

Joyent, a wholly-owned subsidiary of Samsung, is the open cloud company. With its Triton Kubernetes services and support, Joyent helps its customers build and operate modern cloud native applications across multiple clouds. Joyent’s Triton Private Regions provide low cost, dedicated cloud infrastructure that gives its customers the ability to own their data and control their cloud costs.

To apply, please submit a brief introduction, a copy of your resume, and a link to your Github or LinkedIn profile to jobs@joyent.com with Software Engineer - Distributed Systems in the subject. Qualified applicants with criminal histories will be considered for the position in a manner consistent with the Fair Chance Ordinance.

View All Open Positions at Joyent

Opt In to the Joyent Newsletter

Our regular newsletter includes Joyent product information, upcoming vidoes, blogs and content.