C# Software Engineer reporting to the Team Lead /Engineering Manager, located in Centurion, Pretoria
We are looking for a commercial manager who is responsible for teams working to win new business, to explore new avenues of activity and to seek out opportunities in order to help the company develop and grow.
R60 000 – R85 000 /month (negotiable)
Role Minimum Requirements
BSc IT degree in Computer Science - 3 years or more (or equivalent).
6+ years of solid professional/commercial coding experience in C# (production code standards).
Own transport and up to date driver’s license.
Mathematical aptitude and strong problem-solving skills
Wide range of IT and programming skills, particularly Microsoft C#.
Excellent knowledge of the latest .NET Frameworks.
Proficient in using Microsoft Visual Studio.
Accuracy and attention to detail.
Teamwork skills and the ability to collaborate with other team members.
Self-development skills to keep up to date with fast-changing trends.
Professional approach to time, costs, quality of work, and deadlines.
Willingness to take on additional responsibility to ensure team success and quality solutions.
Team player that understands how their own work is important to the team's success.
Ability to mentor other Software Engineers.
Ability to multitask across different projects and technologies.
A desire to constantly learn and share new knowledge, whether this is reading a book, writing a blog post, or presenting a lunch-and-learn.
Pro-active research and development of new technologies to stay relevant.
Must be able to handle a fast-pace, high-pressure environment.
Additional skills that may be advantageous:
The role’s recommended requirements are:
Good working knowledge of Microsoft Azure / AWS.
Good working knowledge of Agile development practises.
Good working knowledge of Docker containers and Kubernetes.
Good working knowledge of microservices.
Good working knowledge of MongoDB.
Microsoft Certified Solutions Developer certification strongly preferred.
The role’s main responsibilities will at least be the following (but not limited to):
Ability to mentor Software Engineers.
Planning, designing, and developing new feature functionality for software applications per customer or internal specifications.
Identifying, troubleshooting, and debugging defects in designated application code.
Working closely with other employees, including other Software Engineers, Project Managers, and Analysts.
Test the applications in controlled, real situations before deploying to Production.
Maintain the applications once they are in Production.
Design, build, and maintain efficient, reusable, and reliable C# (and other) code.
Strict adherence to development policies and procedures.
Ensure the best possible performance, quality, and responsiveness of applications.
Identify bottlenecks and bugs, and devise solutions to these problems.
Coordinate with Management on current programming tasks.
Collaborate with other Software Engineers to design and implement features.
Debug existing source code and polish feature sets.
Work independently when required.
Attention to detail is essential and all tasks must be carried out to the highest standard.
Develop, deliver, and test software prototypes.
Integrate existing software products and getting incompatible platforms to work together.
Write operational documentation when required.
Consult customers and colleagues concerning the maintenance and performance of software applications with a view to writing or modifying current systems.
Devise possible solutions to anticipated problems.
Conduct testing and installation of the program into various environments, including Development, Quality Assurance, and Production environments.
Write detailed documentation for the operation of the program by users and computer operators.
Regular research to keep abreast of new software and hardware technologies (in scope for the company focus or potential direction)
Proper and diligent use of the company's source control.
Adherence to coding standards as decided by the company from time to time.
Agile development - quick delivery of development tasks within agreed time frames.
Proper adherence to source code Stability & Quality (minimal unhandled Exceptions, Memory Leaks, Crashes, and installation issues, etc.).
Ensuring that all source code checked into source control system is compiling and properly tested.
Adherence to the principle of longevity of all software that will be deployed or incorporated into systems that are provided by the company.
Proper and regular backups of all documentation (internal and external software, systems, and integration).
Ensuring that dependencies on third party software (SDKs, APIs, Libraries, Integration documentation etc.) are checked into source control system or company-designated shared storage.
Proper documentation of DNS entries, IP addresses, passwords etc. for all software and hardware deployed (whether used for R&D, QA, Production or Pilot projects).
Are you our next Software Engineer?
Express your interest below