About the Company:
Hammerspace delivers a Global Data Environment that spans across data centers, AWS, Azure, and Google cloud infrastructure. With origins in Linux, NFS, open standards, flash and deep file system and data management technology leadership, Hammerspace delivers the world’s first and only solution to connect global users with their data and applications, on any existing data center infrastructure or AWS, Azure and Google services.
About the Position:
Hammerspace is seeking a seasoned Senior Staff Software Engineer with experience in Java, C and Python languages, and technologies such as Spring, Hibernate, Kafka and Protobuf to join our team to deliver back end and user-facing components to our customers.
- Design, implement, and support functionality in components ranging from data and policy analysis, ReSTful web services, distributed and failsafe job executors, and telemetry gathering. These components involve languages/technologies such as java, C, Spring, JPA/Hibernate, Jersey, Python, and SaltStack.
- Work with Software Architects and Product Management to design, deliver and enhance product features.
- Optimize existing code to improve performance, stability, supportability and usability.
- Develop software confidence and reliability by using best practices and current software patterns, creating unit tests and mock tooling, writing clear and understandable code which lends itself to maintainability.
- Estimate and report development efforts.
- Participate in all aspects of peer code reviews.
- Test software solutions appropriately before delivery to the testing team.
- Work with the test team to provide TOIs and review test plans and test automation.
- Work with Customer Support and customers, if needed to resolve issues in the field.
- Work remotely with a global team, communicating effectively via Slack, Zoom, Email, Confluence, Jira and Bitbucket.
Education and Experience:
- Excellent C, Java 8, Spring, Python skills.
- Working knowledge of Tomcat, Jersey, Jackson, ReST API design, Spring, Hibernate, JPA, Postgresql or similar, Kafka, SaltStack.
- Experience designing and working with enterprise applications.
- Ability to design features that require concurrency (utilizing threads, mutexes, semaphores).
- Experience debugging complex issues in a distributed environment.
- Understanding of the software development process, including OOAD, unit testing, test-driven design, and good understanding of design patterns.
- Working knowledge of source control management systems such as Git.
- Experience delivering and supporting features across multiple releases.
- An aptitude for using Linux.
- 8+ years of related experience with a BS in Computer Science or equivalent degree; or 6+ years and a Master’s degree; or 3+ years with a PhD.
Additional Desired Skills
- Experience with Bash, Grizzly, InfluxDB, Thrift, ONC RPC, JClouds, Protobuf, Swagger, Mockito and/or JMock.
- Storage system domain knowledge.
- Experience integrating with cloud storage providers and APIs.
- Experience working with CMake and Maven.
Notice to Recruiters and Staffing Agencies
Agencies are hereby specifically directed not to contact Hammerspace employees directly in an attempt to present candidates. To protect the interests of all parties, Hammerspace will not accept unsolicited resumes from any source other than directly from a candidate. Any unsolicited resumes sent to Hammerspace will be considered Hammerspace property. Hammerspace will not pay a fee for any placement resulting from the receipt of an unsolicited resume. Hammerspace will consider any candidate for whom an Agency has submitted an unsolicited resume to have been referred by the Agency free of any charges or fees.
Agency must obtain advance written approval from Hammerspace's recruiting function to submit resumes, and then only in conjunction with a valid fully-executed contract for service and in response to a specific job opening. Hammerspace will not pay a fee to any Agency that does not have such agreement in place.