C#/.Net Developer – Hardware Integration and Java/MuleSoft ESB Interface

IT – Software Development
Johannesburg – Gauteng

A dynamic software company at the forefront of digital transformation is amid a rapid expansion of its automated testing capabilities. They are eager to welcome you to their growing team as a C#/.Net Developer, specializing in hardware integration and Java/MuleSoft ESB interface development. In this role, your responsibilities will encompass the design, implementation, and maintenance of integration solutions that enable seamless communication between diverse hardware devices and software systems. The ideal candidate should possess a bachelor’s degree in computer science, Software Engineering, or a related field, or have equivalent practical experience. Additionally, a demonstrated track record in C#/.Net development, with a particular emphasis on hardware integration projects, is required. Familiarity with MuleSoft Any Point Platform and ESB interface development is also an asset.
Software Development:
  • Develop software and interpreting the associated system requirements for a range of applications.
  • Liaising with system analysts and software testers.
  • Working with software architects to understand product design, implementation, and trade-offs
  • Contribute to the overall software development process by designing and implementing C#/.Net modules and components to support integration efforts.
  • Collaborate with the development team to ensure code quality, maintainability, and adherence to coding standards.
Hardware Integration Development:
  • Collaborate with hardware engineers to understand the technical specifications of scanners, document printers, card printers, biometric devices, and other hardware components.
  • Develop C#/.Net-based integration modules to enable efficient communication and data exchange between hardware devices and software applications. These modules will be accessed via REST API from other applications and services.
  • Troubleshoot and resolve integration issues related to hardware connectivity, data transmission, and protocol compatibility.
MuleSoft ESB Interface Development:
  • Design, develop, and deploy MuleSoft-based ESB interfaces to enable seamless communication between disparate systems, applications, and databases.
  • MuleSoft integrations are developed in Java.
  • Utilize MuleSoft ESB Community Edition to host these integrations.
  • Implement error handling, logging, and monitoring mechanisms to ensure the reliability and performance of the ESB interfaces.
Testing and Quality Assurance:
  • Develop and execute unit tests for individual modules and components to ensure their functionality and reliability.
  • Conduct thorough testing of integration solutions to identify and address bugs, performance bottlenecks, and compatibility issues.
  • Work closely with the QA team to develop test cases and perform integration testing for hardware devices and software systems.
Documentation and Reporting:
  • Document the integration process, technical specifications, and configuration details for future reference and knowledge sharing.
  • Provide regular status updates and progress reports to project stakeholders and team leads.
  • Bachelor’s degree in Computer Science, Software Engineering, or a related field, or equivalent work experience.
  • Proven experience in C#/.Net development, particularly in hardware integration projects.
  • Familiarity with MuleSoft Any point Platform and ESB interface development.
  • Proven experience in Java development, required for ESB interface development.
  • Strong understanding of hardware communication protocols (e.g., USB, RS-232, TCP/IP) and API integration.
  • Experience in developing solutions for scanners, document printers, card printers, or biometric devices is highly desirable.
  • Knowledge of software development best practices, version control systems, and agile methodologies.
  • An understanding to implement enterprise solutions using expert technical skills in .NET Core, C#, ESB and SOA principles,
  • The ability to work in a team as well as independently,
  • Knowledge of .NET operations on Linux and/or containers would be advantageous,
  • Knowledge of principles of data base design and implementation,
  • An understanding of the issues regarding software reliability, network efficiency, scaling, and maintainability,
  • Enthusiasm and true passion to develop a career within a multi-disciplinary software development environment,
  • Ability to think independently and logically, and to debug programs and isolate causes of program errors.
  • Excellent communication skills, both written and verbally, ability to communicate clearly and convey or absorb technical ideas, suggestions, and solutions. 
  • Excellent problem-solving skills and the ability to work in a fast-paced, collaborative environment.