Responsibilities:
- Attend all sessions required to understand the business and features being briefed in, to contribute to solutioning and development.
- Help execute functional requirements.
- Understand user requirements and assist in gathering them.
- Complete all tasks in an agreeable time to ensure you do not block the work of others.
- Learn from your seniors and provide mentorship to juniors.
Technical:
- Ensure that testing protocols set out by their team lead are followed.
- Ensure that all code is merged via pull request and reviewed in a timely manner.
- Prioritize code quality and develop using the SOLID and DRY principles.
- Produce clean and efficient code.
- Evaluate their own code for improvement.
- Test all work output reasonably before handing over to Quality Assurance.
- Utilize principles of agile software development to execute tasks daily.
Administration:
- Ensure that work is assigned every sprint.
- Document estimates, titles, descriptions, updates, blockers, and context on tickets.
- Use Confluence to document all logic and technical context for produced work and explanations of features.
- Utilize instant messaging software to communicate with the production team daily.
- Create code comments, technical documentation, and business rule documentation, ensuring appropriate documentation is associated with pull requests.
- Work closely with all teams to ensure the platform achieves business goals.
- Assist juniors as required.
Communication:
- Raise any problems preventing themselves or their team from completing tasks.
- Ensure tasks are completed within their allocated sprint and communicate any hindrances promptly to production management.
- Ensure processes are well understood and can be conveyed to other team members for effective collaboration.
- Coordinate directly with team members to resolve issues, tasks, or delays quickly.
- Maintain a clear view of priorities, keep tickets updated, and remain productive.
Duty:
- Be an advocate for the end-user.
- Defend design/implementation decisions in both code and UI assertively.
- Discuss improvements or defensive decisions constructively.
- Accept criticism and seek to improve.
- Continuously seek to improve skills.
- Consider future implications, not just present ones.
- Make decisions under instruction and discussion with seniors.
- Ensure all work contributes meaningfully.
- Collaborate with team members to expand or improve systems.
- Work with stakeholders to ensure alignment of work with business objectives.
Qualifications:
- 3-5 years of experience as a Python developer.
- Experience with the Django Python framework; other frameworks (e.g., Phoenix Framework, Flask, FastAPI) are beneficial.
- Knowledge of overall Back End Architecture.
- Experience in testing and creating unit tests.
- Experience with TDD or BDD is beneficial but not required.
- Familiarity with integrating cloud frameworks (AWS, GCP, Azure) is beneficial.
- Fully understand REST API concepts and other API frameworks (SOAP, RPC, GraphQL).
- Experience with object-oriented principles, methodologies, and patterns.
- Understanding of CICD and CICD pipelines in the context of backend.
- Understanding of SOLID and DRY principles.
- Willingness to learn and work with a team.
- Ability to learn quickly.
Please note that by submitting your personal information to Deka Minas, you consent to the use of such data for the specific purpose of securing either permanent or temporary employment. Our business complies with POPIA, and you have the right to access, correct, and delete your personal information.