Datafin

Intermediate Python Developer (JHB)

IT – Software Development
Johannesburg – Gauteng

ENVIRONMENT:
THE coding expertise of an Intermediate Python Developer is sought by a rapidly growing provider of cutting-edge FinTech solutions in Joburg to join its team. You will work with the Back-end team to maintain the platform, add new features, and expand the portfolio of projects into new directions. Other duties will include participating in sprint rituals, having good ticket hygiene, code reviews, and making a valuable contribution to new and existing Django & Python projects and the monolithic workflow and claims management system. The ideal candidate must have 2-5 years’ work experience in a similar role with proficiency in Python 2.7 and 3.5 including Object-Oriented principles, methodologies, and patterns & familiarity with PEP-8. You will also require PostgreSQL experience such as document storage within the RDB and be comfortable implementing custom APIs and HTTP REST API.
 
DUTIES:
  • Contribute to a growing list of Django and Python projects, but primarily to the existing monolithic workflow and claims management system.
  • Consistently review other team members’ code, and have your code reviewed as well.
  • Work closely with Product Owner/s, Designers, Data/Business Analysts, and Front-end and Mobile Developers to ensure the platform is achieving its goals.
  • Work in an Agile environment. That means participating in sprints, sprint rituals, and having good ticket hygiene!
  • Know your own knowledge gaps and work to close them. We’re all autodidacts and self-starters here, and we’re always learning and improving.
  • Be a team player! A willingness to help out where needed, mentor those more junior than you, and step up to whatever challenge we face as a team.
 
REQUIREMENTS:
  • 2-5 Years’ relevant work experience.
  • Python 2.7 and 3.5 –
    • Experience with Object-Oriented principles, methodologies, and patterns.
    • Familiarity with PEP-8 is expected, as we follow it strictly as part of our coding standards and practices.
  • PostgreSQL –
    • Familiarity with its capabilities, such as document storage within the RDB.
  • REST –
    • Comfort with implementing custom APIs.
    • Knowledge of best practices and standards for implementing an HTTP REST API.
 
Advantageous –
  • Migrating a legacy Python project from 2.7 to 3.x.
  • Django Rest Framework.
  • Experience with Django Channels or equivalent library for implementing async.
  • Knowledge of Django’s templating language.
  • Pandas and/or NumPy is highly beneficial, but not a requirement as long as you’re willing to learn on the job.
  • TDD or BDD.
  • Experience with PyTest, tox, or equivalent.
  • Usage of PostgreSQL-specific Django ORM query functions and tools.
  • Ability to use a tool such as Postman, Insomnia, cURL or equivalent API testing/querying tool.
  • Experience using Git Flow as a branching strategy.
  • Implementing caching using Django.
  • Experience with task queuing systems, such as Huey, Celery, RQ or equivalent.
  • Implementing a microservices architecture.
  • Integration of multiple custom platforms.
  • Experience with implementing an API Gateway.
  • Having contributed to an open-source Python project, or to the Python community.