About Our TeamJuniper Networks is an industry-leading vendor of network gear and software. We are a fast growing group focused exclusively on developing a Kubernetes-based software platform for Juniper’s internal use. The platform supports multiple cloud providers, on-premise data centers, and hybrid configurations. This platform is also the base Kubernetes infrastructure for customer facing Juniper software products. We are mostly agnostic to the purposes of the apps running on our platform, hence deep networking expertise is not required.
- Design the gRPC API for communication between the microservices
- Design and implement external facing public APIs using REST principles, Swagger documentation and CLI client gen, access control, logging/auditing etc.
- Implement unit and functional tests using mock frameworks to deliver high quality software products
- Integrate application with open-tracing to have debugging/performance monitoring in production
- Package the application as a Kubernetes microservice and deploy on public cloud and on-prem environments.
- Support customer issues and bugs
- Work in a dynamic Agile development environment and being adaptable to changing requirements
- Intense eagerness to learn, ready to dive deep into complex problems
- Document architectures, procedures, and processes in use and contribute to the improvement of the process
- Continuously review the product and code for optimizations and performance improvements
- Evaluate and recommend new technologies to bring into the platform
- Design end-end architecture of newer systems and components and present them to the team
- Lead and mentor other engineers in the team
- Participate in planning , estimation, prioritization and cost-benefit analysis for projects
- BS/BA degree in Computer Science
- Strong programming background preferably in distributed systems
- Ability to write custom data structures and algorithms
- Excellent problem solving, analytical skills, and technical troubleshooting skills
- Ability to handle multiple tasks, prioritize and meet deadlines.
- Strong experience in Linux based systems (Administration level preferred)
- Familiarity with software engineering tools such as Git, Jenkins, and Code review.
- Hands-on experience with Kubernetes or other container management solutions
- Demonstrated ability to work collaboratively with teams and influence their technological direction
- Proficiency in Go
- Experience with AWS, Azure, Google Cloud
- Experience with Kubernetes lifecycle management
- Background in GRPC and Protocol Buffers