Software Developer

Agile Bridge
Pretoria
ZAR 300 000 - 700 000
Job description

Job purpose:

As a Software Engineer, you will work independently and collaboratively within a team to develop software and manage subsections of systems. You will design solutions and modules for existing systems, demonstrating a strong command of software development fundamentals, coding principles, stakeholder engagement, and troubleshooting.

Your understanding of system interactions allows you to identify when and whom to ask for help. You will recognize coding patterns and create generators or coding snippets to reduce development time and minimize errors. Additionally, you have proven capabilities in scoping, expectation management, architecture, design, and client management.


Key accountabilities:

Development and Maintenance

  1. Successfully develop, deliver, and maintain high-quality software (requirements, design, code, documentation, etc.)
  2. Maintain relevant documentation to describe logic, coding/configuration, testing, and changes where applicable.
  3. Continuously strive to make improvements to existing products, systems, and services.
  4. Professionally maintain all software and create updates regularly to address customer and company concerns.
  5. Develop intuitive software that meets and exceeds the needs of the client.
  6. Code software changes and fixes based on design specifications.
  7. Modify software to fix errors, adapt it to new hardware, improve its performance, or upgrade interfaces.
  8. Direct software programming and documentation development.
  9. Optimize this platform using network and systems programming, and other advanced techniques to minimize latency.
  10. Develop systems that provide easy access to historical market data and trading simulations.
  11. Build risk-management and performance-tracking tools.
  12. Ensure software security by developing programs to actively monitor the sharing of private information.

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. Ensure all tasks are completed to the required quality standards.
  4. Analyze and test programs and products before formal launch.
  5. Troubleshoot coding problems quickly and efficiently to ensure a productive workplace.
  6. Proactively resolve issues in specifications that will lead to a quality, high-performance, architecturally sound product.
  7. Direct system testing and validation procedures.
  8. Perform product design activities which may require research and analysis.

Team Collaboration

  1. Be an active and enthusiastic team player, partnering effectively with all team members to deliver against commitments.
  2. Commit to team success and positive team dynamics.
  3. Deliver technical expertise that drives colleague engagement, clarity, and instills a culture of innovation and execution.
  4. Collaborate with team members to determine best practices and client requirements for software.
  5. Provide technical leadership and take ownership of any issue resolution that the offshore team may need.
  6. Offer guidance and mentorship to less experienced developers.

Training and development

  1. Aid and support the coaching and training of other team members to ensure all employees are confident in the use of software applications.
  2. Update job knowledge by studying state-of-the-art development tools and techniques.
  3. Deliver software on time and to specification, with minimal supervision.
  4. Actively seek ways to improve business software processes and interactions.
  5. Automate tasks through appropriate tools and scripting.
  6. Solid experience with Agile Development, SCRUM, and/or Extreme Programming methodologies.
  7. Participate in FFT, hackathons and training days.

Skills, know-how and experience:

  1. Applies fundamental concepts, practices, and procedures of software development.
  2. Demonstrates a passion for hands-on technical work.
  3. Exhibits innovative and creative thinking.
  4. Maintains a strong customer focus.
  5. Interprets and documents user requirements, translating them into technical specifications or code.
  6. Possesses high numerical reasoning and logic ability with strong problem-solving skills.
  7. Knowledge of Object-Relational Mapping (ORM) frameworks.
  8. Experience with Agile and Scrum development methodologies.
  9. Ability to learn quickly and work independently or as part of a team.
  10. Broad operational knowledge in modern IT, including Cloud, Social, Mobility, IoT, and Big Data.
  11. Knowledge of architectural best practices and patterns, such as Microservices, CQRS, Event Sourcing, and Domain-Driven Design.
  12. Proven experience in using a Test-Driven Development (TDD) approach.

Essential:

  1. 5 – 8 years professional or other practical experience
  2. Proficient in one or more relevant programming languages, frameworks, and databases.

Experience in the following technologies:

  1. Backend: C#, Java
  2. Frontend: HTML, Javascript, Angular and React
  3. Framework: .NET Framework, .NET Core, .NET 6 +
  4. Database: SQL Server, MySQL or Oracle
  5. Web services (RESTful or WCF)
  6. Entity Framework and Dapper
  7. Unit and Integrations Testing
  8. Tools: Git, Visual Studio 2019 or later

Beneficial:

  1. Cloud Experience (Azure or AWS)
  2. NoSQL databases (CosmosDB, MongoDB)
  3. Experience in working with Agile Teams and successfully delivering Agile based software projects (including attending daily scrums, Kanban boards)
  4. Experience working with Git, Azure DevOps, JIRA, Jenkins, Automated Build Servers
  5. Microsoft Certifications - AZ900, AZ204 AI900, AZ104

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. Teaching and sharing your unique skills with the rest of the team
  3. Do the right thing: we build a culture of mutual respect and collaboration, admit to mistakes and learn from them
  4. Servicing the customer: at the forefront of providing service excellence and customer satisfaction
  5. 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
  6. Build a bridge: progress with what you have and solve a challenge
  7. Add value: to tasks, interactions with colleagues and customer interactions
  8. Have fun! we enjoy the work we do and the people that we are doing it

Direct reports:

Influence, collaborate and co-ordinate with:

  1. Product Owner
  2. Developers
  3. 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 Software Developer jobs in Pretoria