Backend Engineer
Ready for an opportunity to make a substantial impact with a disruptive tech company while building your Developer Advocate career in the rapidly growing Kubernetes ecosystem? Then come and PLOW with MayaData, the leading Container Attached Storage (CAS) solution for Kubernetes called OpenEBS.
At MayaData we believe that the best way to deliver storage and related services to containerized and cloud-native environments is with containerized and cloud-native architectures. Everything we do is focused on providing data agility and simplifying the daily operation of Kubernetes SRE's and DevOps teams using Kubernetes as a data layer. We enable our users to handle complex data management operations efficiently, and we have become open source leaders in building Kubernetes into a first-class data platform.
Location: Remote (US / Europe / India Time zones)
Responsibilities
- Develop features and improvements to the MayaData Open Source and Enterprise products in a secure, well-tested, and performant way.
- Keep tickets updated, make sure that they cover work being done.
- Owning a project/feature from concept to production, including proposal, discussion, execution, roll-out plans, helping the support team to have good article/blog/doc, helping e2e team with test plans.
- Participate in the proper code-reviews.
- Collaborate with Users (Community and Customers), Product Management and other stakeholders within Engineering (frontend, UX, etc.) to maintain a high bar for quality in a fast-paced, iterative environment.
- Advocate for improvements to product usability, quality, security, and performance.
- Solve technical problems of moderate scope and complexity.
- Craft code that meets industry and open source standards for style, maintainability, and best practices for a high-scale Data Center platform and tools. Maintain and advocate for these standards through code review.
- Recognize impediments to our efficiency as a team ("technical debt"), propose and implement solutions.
- Represent MayaData and its values in public communication around specific projects and community contributions.
- Confidently ship small features and improvements with minimal guidance and support from other team members. Collaborate with the team on larger projects.
Backend Engineer Levels
Junior (or Intern) Backend Engineer
Backend Engineer Interns share the same requirements and responsibilities outlined above, but typically join with less or alternate experience than a typical Backend Engineer.
Backend Engineer
As described above.
Senior Backend Engineer
The Senior Backend Engineer role extends the Backend Engineer role.
Responsibilities
- Advocate for improvements to product quality, security, and performance that have a particular impact across your team.
- Solve technical problems of high scope and complexity.
- Exert influence on the overall objectives and long-range goals of your team.
- Actively participate at product grooming sessions. Help Lead Engineer to drive their area of responsibilities.
- Experience with performance and optimization problems, particularly at large scale, and a demonstrated ability to both diagnose and prevent these problems
- Help to define and improve our internal standards for style, maintainability, and best practices for operating in a high-scale Kubernetes environment. Maintain and advocate for these standards through code review.
- Represent MayaData and its values in public communication around broader initiatives, specific projects, and community contributions.
- Provide mentorship for Junior and Intern Engineers on your team to help them grow in their technical responsibilities and remove blockers to their autonomy.
- Confidently ship moderately sized features and improvements with minimal guidance and support from other team members. Collaborate with the team on larger projects.
- Confidently helps the community users and customers with the product or feature with minimal guidance and support from other team members.
Requirements
- Computer science education or equivalent experience.
- Each Backend Engineer will be expected to be an expert with one primary product or functionality lead or components based on the professional experience and role.
- Significant professional experience with the language required by the expertise or specialty. The dominant languages are Go, Java, Python, Rust, C/C++, JavaScript depending on the area of expertise.
- Professional experience with any other technologies that may be required by the expertise or specialty.
- Proficient in the microservices architecture, ability to debug microservices, ability to explain and understand concepts around Kubernetes, DevOps and Data Management.
- Proficiency in the English language, both written and verbal, sufficient for success in a remote and largely asynchronous work environment.
- Demonstrated capacity to clearly and concisely communicate about complex technical, architectural, and/or organizational problems and propose thorough iterative solutions
- Experience with usability, performance and optimization problems and a demonstrated ability to both diagnose and prevent these problems
- Experience owning a project from concept to production, including proposal, discussion, and execution. Ability to work single-handed as well as in a team.
- Ability to use MayaData Products.
The following are considered a plus:
- Experience working with a global, remote team or otherwise multicultural team.
- Passionate about working for Infrastructure Products focused on Storage and/or Kubernetes SREs.
- Passionate about/experienced with open source and developer tools.
- Contributions to other open-source projects.