CareersHelp Build the Open Cloud

Software Engineer - Java SDK

San Francisco, CA, US
On-Site Preferred

Java SDK Engineers within the Manta team will be a primary part of the core Manta Client SDK group and own the development of Manta’s Java SDK. The primary mission of an SDK Engineer is the ongoing development and maintenance of the SDKs and associated tools. Collaborating with management, customers, and other engineering teams, the SDK Engineer is a lynchpin ensuring the platform and services delivered are reliable and easy to use. Candidates local to San Francisco or willing to relocate are preferred, although individuals with proven experience working remotely will also be considered.

Unwaveringly dedicated to software quality

Above all, an SDK engineer is a steward of the libraries they maintain. Ensuring usability, consistency, and ease of use are the top priority. This also means the Client SDK Engineer will gain a deep understanding of the system around which the SDK is designed, in this case Manta. Leveraging both unit and integration testing to ensure reliability means writing testable code from the start and designing tests for code that lacks coverage. Experience with test-driven development is extremely beneficial, but it is not a requirement. In fact, an overly dogmatic approach to testing could be detrimental. Furthermore, managing tradeoffs between the cost of an "ideal" implementation and quickly addressing customer needs will be a critical responsibility that is carried out in cooperation with project managers. This does not mean cutting corners but instead ensuring that decisions about proposed short-term workarounds (when they’re neccessary) do not preclude future improvements.

Conscientious communicator

Java SDK Engineers will need to be able to come up with creative solutions for complex problems and articulate those ideas in a way that users and other members of the product organization can easily understand. SDK engineers will also work with technical writers to ensure that communications to a wider audience are accurate and up to date.

From fielding customer questions about the SDK and Manta in general to diagnosing performance issues a customer is experiencing, gathering the information needed to make complex decisions requires communication between teams. SDK Engineers are comfortable admitting they lack the data necessary to resolve an issue and can provide suggestions for gathering that data. Building a client library requires empathy for both users and operators so the ideal candidate should have broad experience dealing with either perspective.

Passion for open source

We strive to make all of our solutions openly available. This means an SDK engineer must be prepared to engage with the open source community and act as ambassadors for the tools they maintain and the company as a whole. Transparency in discussions both about the impact of decisions and the motivations driving those decisions will foster a shared sense of ownership and bolster collaboration.

Responsibilities

  • Work with other SDK Engineers to maintain both the SDKs and associated tools
  • Participate in code reviews with a critical eye for quality
  • Improve unit and integration testing within the client SDK and associated tools
  • Troubleshooting and triage of reported issues and feature requests
  • Coordination with product leadership about prioritization of existing and upcoming issues
  • Understand, quantify, and communicate the performance impacts of fixes and features
  • Assist technical writers in preparing materials and documentation for a wide audience

Qualifications

  • Proficient in modern Java development practices (1.8+) and tools
  • Comfortable writing both unit and integration tests and understand their tradeoffs
  • Experience with the principles of concurrency and multi-threading both generally and in Java
  • Deep understanding of HTTP and client-server architectures
  • Thorough understanding of the principles and failure modes of distributed systems
  • Obsessed with writing clean, understandable code, avoiding unnecessarily clever solutions whenever possible (even if they’re fun to implement)
  • Capable of working both within a team and independently
  • Strong attention to detail and a passion for delivering valuable solutions to customers
  • Familiarity with Maven configuration and workflows
  • Willing to travel up to 15%

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 - Java SDK 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

Get the Open Cloud Newsletter

Sign up for our monthly newsletter with information about Joyent Triton, upcoming events, recent publications and insight into the latest technologies surrounding the Open Cloud.