- Location
- Johannesburg
- Type
- Full-time
- Department
- IT
- Closing date
- Today
- Source
- CareersPage
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.