Engineering Lead - Python
Egypt, Al Qāhirah, CairoEngineering
Unifonic is a customer engagement platform that enables organizations to delight customers with remarkable omnichannel experiences. By unifying communication channels, messaging apps, and chatbots, Unifonic streamlines conversations at every touchpoint throughout the customer journey.
Python Engineering Lead
The Engineering team at Unifonic is looking for a proactive and dynamic Python Engineering Lead to join our diverse team of developers. In this role, you’ll be playing an active part in the hands-on process of building software, managing a team, and contributing to production-facing code on a regular basis. The successful candidate should have a strong technical background in order to be a good counsel and advocate for engineering. They should also have excellent team management and leadership skills. The responsibilities of the Python Engineering Lead include, but are not limited to:
Support with recruitment & hiring of engineering talent and facilitate the onboarding of new team members.
Work with other engineering teams to identify and anticipate changing requirements and opportunities to improve the development environment.
Work with product managers, designers, and engineers to prioritize, plan, and schedule work.
Communicate status, risks, and requirements to other groups.
Provide technical and non-technical guidance to the team, both individually and as a group.
Facilitate continuous learning and improvement for the team and its members.
Hands-on 7+ years of relevant engineering work experience and 4+ years of hands-on technical management experience in shipping large-scale projects with multiple dependencies across teams.
Expert in Python, with advanced knowledge of Python web framework flask.
Solid understanding of fundamental design patterns and principles required for building scalable applications composed of reusable components using Python.
Solid experience with full Software Development Lifecycle, Distributed Architectures (REST, SOAP, Queue-based), and Microservices Architecture.
Bachelor's degree in Engineering, Software, or a related discipline or the equivalent.
Experience with the Node.Js Express framework is a plus.
Practical experience in queuing systems/message brokers like ActiveMQ, RabbitMQ, Kafka, Beanstalk, SQS, etc.
Able to create database schemas that represent and support business processes.
Strong unit test and debugging skills.
Proficient understanding of code versioning tools such as GIT.
Knowledge of the Agile Framework and experience with Project Management tools such as Jira.
Strong attention to detail while maintaining sight of the big picture.
Must be able to spend substantial time interfacing with the offshore teams on a daily basis.
Experienced with using cloud hosting technologies such as AWS.
Superb problem-solving and analytical skills.
Excellent communication skills with fluency in English.
Nice To Have
- Familiarity with famous Python ORM (Object Relational Mapper) libraries.
- Ability to design systems that integrate with multiple data storage solutions including relational databases, key-value stores, and different cloud-based services.
Solid understanding and hands-on experience in Python concurrency patterns, and event-driven architecture.
Familiar with SaaS and PaaS integration architecture and applications.
Understanding of fundamental design principles behind a scalable cloud-based application, using containerization and Kubernetes.
Understanding of the differences between multiple delivery platforms, such as mobile vs desktop, and optimizing output to match the specific platform.
General knowledge in telecommunications (SMSC, VOIP, SMPP, etc).
Understanding of accessibility and security compliance.
Familiar with managing Linux servers and applications (Nginx, apache2, etc).