Johannesburg, South Africa

Software Developer

 Job Description:

We are seeking a hands-on Software Developer to join a small, established in-house development team.

The successful candidate will work closely with a senior developer to maintain, support and enhance a long-established business-critical application built primarily using C#, VB.NET and Microsoft SQL Server.

This role is particularly suited to a developer who enjoys understanding existing systems, troubleshooting complex problems and improving applications incrementally rather than working exclusively on greenfield development.

A significant part of the position involves working within an established codebase, resolving defects, improving system reliability and developing new functionality while maintaining compatibility with existing business processes.

Key Responsibilities

  • Maintain and support an existing Windows-based business application.
  • Diagnose, troubleshoot and resolve defects within C# and VB.NET applications.
  • Develop and enhance functionality within the existing application architecture.
  • Write, modify and optimise Microsoft SQL Server queries.
  • Develop and maintain stored procedures, views and other database objects.
  • Investigate user-reported system issues and provide effective resolutions.
  • Assist with testing and deployment of application updates.
  • Refactor and improve legacy code where appropriate while protecting system stability.
  • Identify opportunities to improve application reliability, performance and maintainability.
  • Document technical changes and contribute to internal knowledge sharing.
  • Work closely with the senior developer to understand business processes and translate requirements into technical solutions.
  • Participate in discussions relating to future system improvements and potential modernisation initiatives.
  • Support ongoing maintenance and development of the existing codebase.

Required Skills and Experience

Candidates should have:

  • 3+ years' software development experience preferred.
  • Solid development experience using C# (.NET Framework / .NET).
  • Working knowledge of VB.NET, including the ability to read, understand and maintain existing VB.NET code.
  • Strong experience working with Microsoft SQL Server.
  • Good understanding of:
    • Stored procedures
    • SQL views
    • Joins
    • Query optimisation
    • Transactions
    • Data integrity
  • Experience maintaining, supporting or extending existing or legacy applications.
  • Experience troubleshooting and debugging complex software issues.
  • Familiarity with source control systems such as Git or similar.

Candidates with particularly strong C# and SQL Server skills who are comfortable learning and maintaining existing VB.NET code are also encouraged to apply.

Advantageous Experience

The following would be beneficial:

  • Experience developing or supporting Windows desktop applications, including WinForms or WPF.
  • Experience within manufacturing, logistics, ERP or operational business environments.
  • Exposure to reporting tools and reporting solutions.
  • Experience with application modernisation or migration projects.
  • Basic understanding of networking, application deployment and related infrastructure processes.

Personal Attributes

We are looking for someone who is:

  • Patient and methodical when working with established or older codebases.
  • A strong analytical thinker and practical problem solver.
  • Comfortable investigating problems in systems they did not originally build.
  • Able to communicate effectively with both technical and non-technical stakeholders.
  • Curious and willing to learn an established business application in depth.
  • Able to work independently while collaborating closely with a senior developer.
  • Responsible and dependable, with a strong sense of ownership.
  • Comfortable following tasks through from investigation to implementation and resolution.
  • Focused on maintaining system stability while introducing improvements.

What You Will Be Working On

The application supports important day-to-day business operations and has evolved over a number of years.

The role therefore requires someone who understands that successful development is not simply about writing new code. A major part of the position involves understanding how the existing system and business processes work, protecting business continuity and introducing improvements in a controlled and sustainable manner.

Typical areas of work will include:

  • Bug fixing and application support
  • New feature development
  • Database enhancements
  • SQL optimisation
  • Performance improvements
  • User-requested system changes
  • Code maintenance and refactoring
  • Application stability improvements
  • Ongoing support of the existing legacy codebase
  • Participation in longer-term modernisation initiatives

What Success Looks Like

Within the first 6–12 months, the successful candidate should be able to:

  • Navigate and work confidently within the existing codebase.
  • Understand the key business processes supported by the application.
  • Resolve most day-to-day application support issues independently.
  • Implement new functionality with limited supervision.
  • Safely make changes without negatively affecting existing business processes.
  • Contribute practical ideas for improving system stability, performance and maintainability.
  • Become a trusted technical partner to the senior developer and wider business.

Ideal Candidate

This opportunity will suit a mid-level developer who enjoys practical software development and problem-solving.

It is particularly well suited to someone who is comfortable working with established systems and understands the value of maintaining and progressively improving software that plays a critical role in daily business operations.

If you have strong C#, SQL Server and debugging skills, and are comfortable working with or learning VB.NET, we would like to hear from you.

  Required Skills:

Performance Business Continuity Maintainability Data BASIC Support Database Stored Procedures Development Resolutions Debugging Business Operations Investigation Operations Logistics Ownership ERP Participation Data Integrity SQL Server Microsoft SQL Server Reliability Architecture Software Development Infrastructure Manufacturing Writing Networking C# Troubleshooting Windows Software Testing Maintenance Git Business SQL