ENVIRONMENT: CREATE seamless user experience utilising your coding expertise as a Software Engineer Team Lead (Python) sought by a Joburg Brand Specialist. Your core role will be to build, maintain and improve back-end applications and processes while analysing existing code and industry developments, formulating more efficient processes and solving problems. You must possess a BSc Degree in Computer Science or equivalent discipline, have 4 years experience in a similar role and programming in Python, be familiar with an ORM (Object Relational Mapper) library, JavaScript, HTML5, CSS3, Git, Unit Test and debugging skills, Project Management, understand Security Compliance & the threading limitations of Python, and multi-process architecture.DUTIES:
- Develop and maintain applications for web and/or API access, typically in Python.
- Odoo customisation and extension, typically in Python.
- Integration to other systems via APIs, in particular building an integration layer between WhatsApp messaging and Odoo.
- Be involved in the implementation of DevOps practices including CI/CD, automated cloud deployments and hosting architecture.
- Be involved and participate in the overall application lifecycle.
- Collaborate with Front-end Developers and other team members.
- Define and communicate technical and design requirements.
- Provide training, help and support to other team members.
- Build high-quality, reusable, testable and efficient code.
- Develop functional and sustainable web applications with clean code.
- Integration of data storage solutions including relational databases, key-value stores, and cloud blob stores.
- Troubleshoot and debug applications.
- Learn/follow new and emerging technologies.
- Stay up to date with current best practices.
- Collaborate with multidisciplinary team of Designers, Developers and System Administrators.
REQUIREMENTS: Qualifications
- BSc Degree in Computer Science or similar relevant field.
Experience/Skills
- 4 Years experience as a Back-end Developer.
- 4 Years experience with programming Python.
- Familiarity with an ORM (Object Relational Mapper) library.
- Able to integrate multiple data sources and databases into one system.
- Understanding of the threading limitations of Python, and multi-process architecture.
- Basic understanding of Font-end technologies, such as JavaScript, HTML5, and CSS3.
- Understanding of Security Compliance.
- Knowledge of user authentication and authorisation between multiple systems, servers, and environments.
- Understanding of fundamental design principles behind a scalable application.
- Familiarity with event-driven programming in Python.
- Able to create database schemas that represent and support business processes.
- Strong Unit Test and debugging skills.
- Proficient understanding of Git for code versioning.
Advantageous
- Knowledge of at least one Python web framework (such as Django or Flask).
- Strong Linux experience.
- Cloud architecture experience.
Desired Skills:
- Software
- Engineer
- Team