Job Description
Summary
We are looking for a Java engineer to joinin our Cloud Storage (Software Defined Storage) initiative. As a globale-commercial company, we have all kinds of requirements on storage: highperformance (database), medium performance (general usage), low performance(archived data). SDS will be a single point service for all these requirements.It will support hundreds of PB storage requirements. Ourcustomers includes Docker service and geo-distributeddatabase service, distributed log service, etc.
The ideal candidatewill have strong understanding of Java languages, SAN/NetApp storage orcloud based storage, web protocols, design patterns, andnetwork. Exceptional problem solving abilities will be critical forsuccess, as will be a focus on quality. In our environment, quality iseveryone’s responsibility, passion is key, innovation and creativity is stronglyencouraged. The successful candidate will participate in the entire lifecycle of a product ranging from architecture through testing andproduction rollout.
Primary job responsibilities
•Develop cloud storage controller panel and data panel, includeAPI, workflow and coordinators.
•Design and implement differentiatedproduction-ready features in a fast-pace environment with focus on scalability,performance and availability
•Support SAN and NetApp Storage
• Rollout features at the pace of businesschanges and requirements
• Passion to bring out innovative ideas and tryout new solutions, while being open minded to feedback from the team
•Relentless focus on quality and automation
Job requirements
• Experiences with distributed storage in cloud environment
•Familiar with micro-service architecture and REST APIframework like Vert.x/Jersey.
•Experiences with distributed system design and implementation about distributed consistency/synchronization/ fault-tolerant/HA.
•Experiences of Java best practice and JVM internal conceptslike threading/memory/locking/nio /async, etc.
• Working experiences in a cloud environment(Docker) is required
•Proven problem solving skills on distributed environments:reverse engineering, think statistically and improvising fully
•Strong verbal and written Englishcommunication skills are required due to dynamic nature of teamdiscussions
• Be proactive and self-directed work stylewith minimum supervision
•Project management experience is a big plus