Cisco IT is undergoing a transformation from a networking company to a software company, with a focus on recurring revenue and subscription enablement. The Licensing On-Premise and API Management group needs to build and maintain scalable and high-performance applications to support this transition.
Requirements
- Minimum 7+ years of software development experience, including at least 5+ years specializing in Python.
- Proven expertise in Python concurrency (asyncio, threading, multiprocessing), API development (RESTful APIs), and backend system design.
- Strong understanding of microservices architecture, distributed systems, and software design patterns.
- Familiarity with DevOps tools (e.g., Jenkins, build systems) and solid grasp of system architecture principles.
- Experience with database technologies, both relational (e.g., MySQL, PostgreSQL) and NoSQL (e.g., MongoDB, Redis).
- Basic knowledge of containerization and orchestration tools (e.g., Docker, Kubernetes).
- Advanced problem-solving and debugging skills.
Responsibilities
- Write clean, maintainable, and efficient code in Python, following best practices and coding standards.
- Leverage advanced Python features, including concurrency (asyncio, threading, multiprocessing), to build highly performant applications.
- Develop, test, and maintain RESTful APIs and other backend services using frameworks such as Flask or FastAPI.
- Design and implement scalable microservice architectures that support business needs and growth, ensuring seamless service communication and fault tolerance.
- Collaborate with stakeholders to translate business requirements into well-architected system designs, optimizing for performance, scalability, and reliability.
- Work closely with multi-functional teams, including DevOps, QA, and product managers, to ensure smooth software delivery and solve issues in various environments.
- Gain hands-on experience with DevOps tools such as Jenkins and build systems to streamline CI/CD pipelines.
Other
- Excellent communication and collaboration skills with multi-functional teams.
- Eagerness to learn new tools, technologies, and methodologies.
- Bachelor's degree in Computer Science, Engineering, or a related field, or equivalent practical experience.