POSITION: Junior Developer - (Hybrid) LOCATION: Bellville REPORTING TO: BI Tech Lead
Job Description: The Junior Developer is a key member of our Scrum Agile team responsible for designing,
implementing, and maintaining software solutions in alignment with Agile principles and practices.
This role requires strong technical skills, collaboration, and adaptability to deliver high-quality software increments within short iterations.
Responsibilities:
Sprint Planning and Execution:
Participate in Sprint Planning sessions to understand user stories and acceptance criteria.
Estimate the effort required for implementing user stories and commit to delivering them within the Sprint.
Collaborate with the team to break down user stories into tasks and define implementation approaches.
Software Development:
Write clean, efficient, and maintainable code using best practices and coding standards.
Implement software solutions according to the defined user stories and acceptance criteria.
Conduct code reviews and provide constructive feedback to team members.
Continuous Integration and Delivery:
Ensure code is integrated frequently into the shared repository to enable continuous integration.
Work with the DevOps team to automate build, test, and deployment processes.
Deliver working software increments at the end of each Sprint for review and feedback.
Collaboration and Communication:
Collaborate closely with Consultant, Product Owners, and Support to clarify requirements and resolve issues.
Actively participate in Daily Stand-ups, Sprint Reviews, and Retrospectives to share progress, discuss impediments, and identify areas for improvement.
Quality Assurance:
Write unit tests and automated tests to ensure code quality and prevent regressions.
Participate in testing activities, including functional testing and user acceptance testing, to validate software functionality.
Technical Documentation:
Document technical specifications, architectural designs, and code changes to facilitate knowledge sharing and future maintenance.
Self-Improvement and Learning:
Stay updated with emerging technologies, industry trends, and Agile practices.
Continuously improve technical skills and knowledge through training, self-study, and hands-on experience.
Support and Issue Resolution:
Provide technical support to end-users, including troubleshooting software issues and answering inquiries.
Investigate and diagnose reported problems, escalating complex issues to appropriate team members when necessary.
Develop and implement solutions to resolve software defects and ensure system stability.
Expectation of a Junior Developer:
Experience: Junior developers are typically early in their careers, often having recently graduated from college or completed a coding bootcamp. They may have 0-3 years of professional experience in software development roles.
Skills: Junior developers possess foundational knowledge of programming languages, development tools, and basic software development principles. They may be proficient in one or more programming languages but may lack experience in more advanced concepts or technologies.
Responsibilities: Junior developers often work under the guidance of more experienced team members, such as senior developers or tech leads. They typically focus on tasks such as coding, debugging, and testing software components. They may also assist in documentation and basic troubleshooting.
Expertise: Junior developers are still developing their expertise and may not have deep knowledge in specific areas of software development. They are likely to seek guidance and mentorship from senior team members to improve their skills and advance their careers.