About the Position:
F5 is looking for Software Engineer III with in-depth experience in high scale distributed systems. You will participate in the design and implementation of Edge Computing platform that is used to deploy global, scalable and secure applications. Your work includes, but not limited to, Research, design and build highly reliable, available and scalable platforms, API definition, implementation, deployment, operational management, and debugging.
Responsibilities:
- Design and deliver solutions that will help create, deploy and manage the
service components of theF5https://gitlab.com/f5/volterra/ves.io/specifications/-/issues/6411https://gitlab.com/f5/volterra/ves.io/specifications/-/issues/6411https://gitlab.com/f5/volterra/ves.io/specifications/-/issues/6411XCplatform
- Investigate various open source and close source technologies, components, libraries,
tools etc. and help build a highly available, highly scalable and easily manageable
- Take ownership of software components and deliver a complete productsatisfyingfunctional, scale,performanceand manageability requirements.
- Hands-on coding in multiplelanguageswhileconsideringperformance, scalability,
maintainability, and flexibility
- Understanding and exposure to design patterns and coding practices especially as applied to microservices architectures and API design, implementation and management
- Experience in Cloud native providers like MS Azure or AWS or Google Cloud or any major Cloud vendors in the market and their services
- Independently investigate, present options, review and implement completely new functionality
- You will work closely with other development teams, product management, UX, and QA to define and implement a new product offering while ensuring continued functionality.
- Perform code reviews, set coding practices and guidelines within the team
- Ability to implement all phases of a development cycle for a software product from understanding requirements, going through design, development and deploy phases
- Work with geographically distributed teams
Minimum Qualifications:
- Knowledge and experience in highly distributed software systems, ability to understand the nuances and solve problems related to scale, performance and resiliency of such a system
- Expertise with Rust, and experience in additional programming languages: Golang , Java, Python,, any objected oriented high level proprietary or open source language with strong programming constructs.
- Good understanding of programming fundamentals & their application to highly scalable web-based systems
- Experience in developing polyglot software using service definition language and framework like gRPC, Thrift, Google Protocol Buffers, OpenAPI etc.
- Must have hands on SQL or No SQL technologies.
- Strong understanding of modern CICD methodology and Git based workflow
- Experience in Docker technologies including experience in optimizing Docker image and managing Docker image lifecycle. Experience in orchestration systems like Kubernetes and container technologies like Docker, rkt is a plus
- Excellent written and verbal communication skills
- Strong interpersonal, team building, and mentoring skills
- BS/MS degree in Computer Science or equivalent with 5+ years of software development experience
The Job Description is intended to be a general representation of the responsibilities and requirements of the job. However, the description may not be all-inclusive, and responsibilities and requirements are subject to change.