- Design, develop, document, test, and debug new and existing software systems and/or applications for market sale or large-scale proprietary software for internal use.
- Ability to mentor junior developers on development projects.
- Participate in full development life cycle including requirements analysis and design.
- Write technical specifications based on conceptual design and stated business requirements.
- Support, maintain, and document software functionality. Identify and evaluate new technologies for implementation.
- Analyze code to find causes of errors and revise programs as needed.
- Participate in software design meetings and analyze user needs to determine technical requirements.
- Consult with end user to prototype, refine, test, and debug programs to meet needs.
- Work without supervision on highly complex projects.
- Ability to make decisions as required
This role, part of the broader engineering team, is located in Bengaluru and you will work with the rest of the group based in Florida and Sofia.
DUTIES AND RESPONSIBILITIES:
- Participate in defining and implementing technical solutions
- Develop specification, program and documentation
- Develop, implement, and maintain application software to established standards andspecification in a timely and accurate manner
- Perform or review systems analysis, design, programming, testing, debugging and documentation
- Implement approved changes to application software to maintain standards as set forth, correct problem, modify or enhance application function
- Maintains integrity of program logic and coding and establishes required checks and balances for operational controls
- Document development processes and best practises
- Review and analyze existing application programs and programs development to ensure efficiency and effectiveness of programs
- Lead or participate in process improvement
- 4 - 7 years of experience
- Extensive experience of designing, coding and debugging in various languages C++, Go, Python.
- Develop applications that integrate in with Docker and Kubernetes APIs in develop microservices (CQRS, Event-Sourcing, Operator)
- Knowledge / hands on experience of modern DevOps practices for CI/CD.
- Experience developing on a public cloud platform (AWS, GCP, Azure)
- Self starter with extreme comfort in working with geographically dispersed teams
- Works effectively with peers, team members and superiors
- Experience working with and integrating Open Source Software (OSS) – Ceph, Rook, ELK Stack
- Knowledge of Storage related concepts (mirroring, encryption, snapshots, replication, etc)
- Good general working knowledge of the SCSI specification and common transports.
- Kernel or device driver experience with an understanding of low level interactions between hardware and software
- Deep experience with Golang, experience in distributed systems and container technology is plus
- Collaboration with other open source communities
- Go(lang) including Go unit test frameworks and c++.
- Experience with coding for applications which are cloud-native and Kubernetes based
- Coding against Kubernetes design patterns for operators and CSI plugins/drivers.