Intermediate Software Developer

Agile People
Pretoria
ZAR 300 000 - 600 000
Job description

Job purpose : As an Intermediate Software Engineer, you will work with a degree of independence, focusing on developing software within a team and on specific sub-sections of a system.

You will be responsible for designing solutions and modules for existing systems.

With a solid grasp of software development fundamentals, coding principles, and stakeholder engagement, you possess strong troubleshooting skills, understanding system interdependencies and knowing when and whom to seek assistance from.

At this stage in your career, you should also be capable of architecting basic components of a system.

Key Accountabilities :

  1. Deliver a solution that covers all the agreed-specified tasks and user objectives.
  2. Ensure checked-in code is reviewed to ensure standards are met.
  3. Successfully develop and maintain high-quality software (requirements, design, code, documentation, etc.).
  4. Maintain accurate timesheets for all work performed.
  5. Maintain code stored in multiple source control systems.
  6. Ensure the solution and its relevant code base support ease of modification for future maintainers.
  7. Ensure the adaptable solution delivered is appropriate for different or evolving software or other operational usage environments.
  8. Continuously strive to make improvements to the existing products and/or systems and services.
  9. Ensure all tasks are completed to the required quality standards.
  10. Analyze the performance of programs and take action to correct deficiencies based on consultation with users and approval of supervisor.
  11. Conduct peer code reviews.
  12. Maintain confidentiality with regards to the information being processed, stored, or accessed.

Quality Assurance

  1. Contribute to quality activities, including peer reviews of estimates, designs, and code.
  2. Resolve defects/bugs during QA testing, pre-production, production, and post-release patches.
  3. Conduct functional testing.
  4. Incorporate automated testing, performance testing, and iterative development using appropriate tools and techniques.
  5. Provide quick resolutions to app/system issues, driving stability, efficiency, and effectiveness.
  6. Assess risk and impact of production issues/changes and take appropriate steps to mitigate risk.

Team Collaborations

  1. Be an active and enthusiastic team player.
  2. Partner effectively with all team members to deliver against commitments and maintain a commitment to team success and positive team dynamics.
  3. Offer assistance and mentorship to junior developers.

Training and Development

  1. Update job knowledge by studying state-of-the-art development tools & techniques.
  2. Attend FFT, Hackathons, and Conferences.
  3. Direct 3rd Party Development Partners by supplying appropriate information, domain knowledge, and access, and providing timely, relevant, and constructive feedback.

Skills, know-how and experience :

  1. Demonstrates a strong understanding of fundamental software development concepts, practices, and procedures.
  2. Has a passion for hands-on technical work.
  3. Exhibits innovative and creative thinking.
  4. Maintains a customer-focused approach.
  5. Capable of interpreting and documenting user requirements, translating them into technical specifications and code.
  6. Possesses high numerical reasoning, logical ability, and excellent problem-solving skills.
  7. Proficient in one or more relevant programming languages, frameworks, and databases.
  8. Willing to adapt to significant changes in technology or environment.
  9. Holds broad operational knowledge in modern IT domains such as Cloud, Social, Mobility, IoT, and Big Data.
  10. Familiar with architecture best practices and patterns, including Microservices, CQRS, Event Sourcing, and Domain-Driven Design.
  11. Has proven experience using a Test-Driven Development (TDD) approach.

Essential :

  1. 3-5 years of professional or other practical experience.
  2. Experience in the following technologies :
  • Backend: C#, Java
  • Frontend: HTML, JavaScript, Angular, and React
  • Framework: .NET Framework, .NET Core, .NET 6+
  • Database: SQL Server, MySQL, or Oracle
  • Web services (RESTful or WCF)
  • Entity Framework and Dapper
  • Unit and Integration Testing
  • Tools: Git, Visual Studio or later

Beneficial

  1. Proven experience with Agile Development, SCRUM, and/or Extreme Programming methodologies.
  2. NoSQL databases (CosmosDB, MongoDB)
  3. Experience in working with Agile Teams and successfully delivering Agile-based software projects.
  4. Experience working with Git, Azure DevOps, JIRA, Jenkins, Automated Build Servers.
  5. Microsoft certifications– AZ, AZ AI, AZ.

Technical / professional qualifications :

  1. Microsoft Certification
  2. Tertiary Qualification

Key performance indicators :

  1. Complete assigned development tasks to agreed level of quality and by the required deadline.
  2. Design, develop, deliver, and maintain application/service solutions.
  3. Ensure adherence to best practice and processes.
  4. Focus on sound development concepts and patterns such as object/service-oriented architecture, refactoring, and separation of concerns.
  5. Provide accurate, detailed, and timely estimates and track own activities against plan.
  6. Comply with project plans and industry standards.
  7. Code Coverage provided on the code developed.

Values and Competencies

  1. Get stuff done: completing tasks, and contributing to the deliverables of the team to ensure we deliver high-quality products.
  2. Be the best you can be: investing time in learning and sharpening your skills.
  3. Teaching and sharing your unique skills with the rest of the team.
  4. Do the right thing: we build a culture of mutual respect and collaboration, admit to mistakes and learn from them.
  5. Servicing the customer: at the forefront of providing service excellence and customer satisfaction.
  6. Solve together: we conduct ourselves in such a way that we work harder, cooperate, and be supportive of one another and contribute to the team spirit.
  7. Build a bridge: progress with what you have and solve a challenge.
  8. Add value: to tasks, interactions with colleagues and customer interactions.
  9. Have fun: we enjoy the work we do and the people that we are doing it.

Direct reports :

Influence, collaborate, and coordinate with: Product Owner, Developers, Managers.

Get a free, confidential resume review.
Select file or drag and drop it
Avatar
Free online coaching
Improve your chances of getting that interview invitation!
Be the first to explore new Intermediate Software Developer jobs in Pretoria