Software Development Engineer
DUTIES AND RESPONSIBILITIES:
- Develop specification, program and documentation
- Develop, implement, and maintain application software to established standards and specification 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
- 2 - 4 years of experience
- Experience of designing, coding debugging in various, 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)
- Kernel or device driver experience with an understanding of low level interactions between hardware and software
- 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.
- Familiarity with the SCSI specification and common transports.