Software Engineer (Java Developer with Cloud/Virtualization(5-9 years))
Area of InterestEngineer - Software
What You'll Do
You will design, develop, test, and debug state of the art software modules for the management plane. These software modules allow a user to provision configuration and manage Cisco HyperFlex, a highly scalable distributed system of next generation hyper converged nodes and services. These software modules and sub-systems will run on-premise and in the cloud for managing a large number of Cisco HyperFlex nodes and services.
As an individual contributor, you will manage, design, review and innovative software, and deliver comprehensive plans to ensure high quality software development.
You will debug and fix defects, and deliver a high performance and high-quality software product.
Who You'll Work With
You will work with product management & technical leaders on writing detailed functional specifications for the features. You will work with various management plane engineering and data plane engineering teams to integrate your software modules into the product. You will work with QA on test plans, and on defect fixing. You will work with product support to interface with customers using your product. You will collaborate with other members of your team and cross-functional team to develop and integrate your components, and enhance your expertise as a systems software engineer.
Who You Are
You are a Software Engineer, who likes developing server-side products, end to end. You enjoy the challenge of difficult, broad, and technically deep tasks in distributed computing. You love working collaboratively with your team, and equally love owning and driving your own tasks and projects.
You have 5 to 9 years of experience in design and development of scalable, distributed management and virtual infrastructure management software modules in a Linux environment.
You are a hands-on software engineer with a passion for programming, design reviews and data structures, and proficiency in Object Oriented or Functional programming language. In addition, following skills are highly desirable:
* Programming experience with Java/Scala, Python or Golang
* Naturally think of APIs, or RESTful APIs to enable automation
* Experience in implementing algorithms for large-scale system configuration, system upgrades, monitoring & provisioning in a distributed environment.
* Full Stack experience on modern manageability area will be an added advantage
* Evaluating and using new technologies in product architecture.
* Working level understanding to advanced level experience in virtualisation technologies like VMWare/ESXi, Hyper-V, KVM including knowledge of OVF tools and VM templates.
It is a huge plus if you have:
* Workflow Orchestration or Automating Network Configuration using Ansible
* Experience working in a start-up or fast phased environment
* Experience with, or a keen desire to learn and use,
- DevOps configuration management tools like Ansible, SaltStack, Puppet and Chef.
- Containerizing applications like Docker, Kubernetes