Job Summary
Duties:
- Attend all sessions required in order to understand the business and features being briefed in, in order to be able to contribute to solutioning and development.
- Help execute on functional requirements
- Understand user requirements and assist in gathering requirements
- Complete all tasks in an agreeable time by yourself and your peers to ensure you do not block the work of others
- Learn from your seniors and provide mentorship to Juniors
Technical:
- Ensure that testing protocols are followed that have been set out by their team lead.
- Ensure that all their code is merged via pull request and pull requests are reviewed in a timely manner
- Ensure that code quality takes top priority and development occurs using the SOLID and DRY principles
- Ensure that they produce clean and efficient code
- Ensure that they evaluate their own code for improvement
- Ensure that all work output is tested in a reasonable fashion before handed over to Quality Assurance
- Utilize principles of agile software development to execute tasks on a daily basis
Administration:
- Ensure that they have work assigned every sprint
- Ensure all work assigned to themselves have estimates, appropriate titles and descriptions and that any updates, blockers and/or context are documented on the ticket.
- Ensure confluence is used to document all logic and technical context for work produced and/or explanations of features from the perspective of the individual
- Utilize instant messaging software that is provided by the organization to communicate with the production team on a day to day basis
- Ensure that the they create: code comments, technical documentation, documentation of logic and business rule documentation and that a pull request is only made with he appropriate level of documentation associated
- Work closely with all teams to ensure the platform is achieving the goals set out by business.
- Assist Juniors with where required
Communication:
- Raising any problems preventing themselves and/or their team from getting the job done
- Ensuring that tasks are completed within their allocated sprint and ensure that any hindrance in delivery of tasks/features/projects is communicated promptly to production management
- Ensuring processes being implemented are well understood and can be conveyed to other team members to ensure effective collaboration
- Ensuring that they and their team coordinate directly with other team members to resolve issues, tasks and/or delays quickly
- Ensuring that they have a clear view of priority, that their tickets are updated and they remain productive
Duty:
- Be an advocate for the end-user
- Be assertive when it comes to defending design/implementation decisions in both code and UI
- Know how to discuss improvements or defensive decisions
- Take criticism on the chin and seek to improve rather than becoming defensive
- Always seek to improve their skills
- Think about the future and not only of the present
- Make decisions under instruction and discussion with seniors
- Ensure that all work makes a contribution in some way
- Work in collaboration with the other team members to expand and/or improve on all systems
- Collaborate with other stakeholders to ensure that all work in flight is aligned with business objectives
Qualifications:
- 3-5 years experience as a Python developer
- Experience with the Django Python framework. Any other frameworks beneficial (e.g. Phoenix Framework, Flask, FastAPI)
- Knowledge of overall Back End Architecture
- Experience in testing and creating unit tests
- Experience with TDD or BDD is beneficial, but not a requirement.
- Familiarity with integrating with cloud frameworks (AWS, GCP, Azure) is beneficial
- Fully understand the concepts of a REST API framework and have an understanding of other API frameworks (SOAP, RPC, GraphQL)
- Experience with object-oriented principles, methodologies, and patterns
- Understanding basics of CICD and CICD pipelines within the context of backend
- Understanding of the SOLID and DRY principles
- Willing to learn and work with a team
- Ability to learn quickly
Please note that by submitting your personal information to Deka Minas you free-willingly issue the business consent to make use of such data for the specific purpose of securing you either permanent or temporary employment. Our business makes use of a POPIA compliant database and you have the right to access, right to correction and right to deletion of your personal information