Key Responsibilities:
Design and Development:
- Design, develop, and maintain Python-based services and libraries, with a strong focus on process management, inter-process communication, and automation on Linux systems.
Technical Leadership:
- Make critical decisions related to platform architecture, scalability, and overall functionality. Lead complex software development initiatives while ensuring high standards of performance and reliability.
System Performance & Optimization:
- Continuously monitor, optimize, and automate system performance to improve scalability and reliability.
Mentorship & Team Collaboration:
- Lead, delegate, and mentor junior engineers. Foster a collaborative environment that promotes innovation, knowledge sharing, and cross-team alignment with business goals.
Cross-functional Collaboration:
- Collaborate with product, design, and other engineering teams to gather requirements and design technical solutions in alignment with business and Agile goals.
Innovation & Tools Implementation:
- Identify and implement innovative tools, frameworks, and processes that enhance productivity and maintainability within the team.
Incident Resolution:
- Participate in incident troubleshooting and resolution, ensuring timely fixes for production issues and minimizing downtime.
Champion Agile Practices:
- Lead the adoption of Agile engineering practices, CI/CD pipelines, and automated testing frameworks to ensure high-quality code delivery.
Required Qualifications:
Education:
- Bachelor's degree in Computer Science, Engineering, or a related field. A Master's degree is a plus.
Experience:
- Minimum of 6 years of hands-on experience in software development, focusing on Python and Linux systems.
Technical Expertise:
- Strong proficiency in Python, particularly with frameworks like Flask, FastAPI, or Django. Solid experience in building and consuming RESTful APIs.
Linux Expertise:
- Deep understanding of Linux systems, shell scripting, and system internals. Strong experience with process management and system-level programming on Linux.
Software Engineering Skills:
- Proven ability to write secure, maintainable, and high-quality code, following best practices in software engineering.
DevOps and Agile:
- Strong understanding of Agile engineering practices and DevOps principles, including CI/CD pipelines and automated testing.
Problem Solving:
- Excellent problem-solving skills with meticulous attention to detail, especially in performance tuning and debugging.