Back-end Developers (C#, .Net)

Full Time
  • Full Time
  • Remote
  • Salary: R 75 000 per month CTC

Back-end Developers (C#,.Net) – Job Description 

Responsibility Areas

  • Critically analyse business requirements in order to produce a technical design and collaborate with business and system analysts on issues and challenges
  • Perform system and data architecture design – designing for performance, scalability, and maintainability
  • Develop and maintain systems that achieve the business goals and focus on quality and testability
  • Drawing up test plans, understanding scenarios and furthering quality automation goals
  • Planning of configuration management and deployment
  • Maintaining production systems and software
  • Performing continuous analysis and improvement on existing development processes and procedures
  • Engage in active knowledge-share, code review and team mentoring where appropriate

Skill Sets

The following key skills and experience will be looked for in the candidate:

  • At least 5 years of experience in end-to-end application development (data model, architecture, database, application and operational components).
  • A relevant 4-year university degree, preferably in Software Engineering or Computer Science.
  • Complete understanding of and experience in using Microsoft .NET and object-orientated C# for systems and web development.
  • Complete understanding of and experience in Microsoft SQL Server with excellent SQL query abilities.
  • Complete understanding and experience in data modelling and architecture for optimal database structure design.
  • Must have excellent analytical skills and the ability to identify problems, gaps and contradictions.
  • Able to pick up new skills and knowledge through self-learning.
  • Able to understand the need for trade-off decisions and knowing how to make the correct trade-offs in collaboration with their team.

Technologies and practices

The ideal candidate will need solid experience in the following technologies and practices:

  • Either .NET 5 or .NET Framework 4.7.2 (we are migrating to .NET 5)
  • C#
  • Design patterns and S.O.L.I.D. principles
  • Strong understanding of object-orientated principles and practical implementation thereof
  • Asynchronous coding practices using the async modifier and await keyword
  • Unit testing and test-driven development (https://en.wikipedia.org/wiki/Unit_testing)
  • Test frameworks like NUnit, xUnit, and MSTest
  • Dependency injection containers such as Autofac
  • REST API concepts and best practices
  • Either ASP.NET Core or ASP.NET Web API 2 (we are migrating to .NET 5)
  • MongoDB and NoSQL principles
  • MongoDB .NET Driver
  • Microsoft SQL Server 2012+
  • Entity Framework 6
  • Message queuing architectures
  • Message patterns (command, event, request and response)
  • Idempotent message handling

Personality and disposition

The candidate must exhibit the following key personality traits:

  • Have high work ethic and be able to work under pressure, with emphasis on quality and attention to detail.
  • Be able to work independently with little supervision when necessary but understands the value of team work, in an environment that strongly encourages team work.
  • Have proven ability to manage concurrent and complex tasks on a regular basis.
  • Possess strong problem-solving skills and decision-making ability, stepping up and taking initiative when necessary.
  • Have excellent written and oral communication skills, follow-through and attention to detail.
  • An openness to work with others and build on team input. The individuals cannot be myopic in their outlook. Strong teamwork will be required.
  • Be willing to admit when wrong, owning mistakes and seeing them through to correction. Is not driven by ego but rather the success of their team.
  • A drive to get things done, irrespective of obstacles. The individual must be committed to meeting any deadline that they commit to, regardless of obstacles.
  • An ability to see possibilities beyond the obvious. Innovation is a key dimension.
  • The ability to deal with complexity and migrate between detail and high level requirements.
  • They must have a pride in their work and a desire to deliver perfection at all times.
  • They must have a passion for technology and technical developments.
  • They must read broadly and keep abreast of the latest technology trends.
  • The individual must have a strong desire for self learning and be prepared to make the investment in learning and self-development.

Education Requirements

One of the following degrees will be required:

  • BSc, Bsc Eng

Experience Requirements

The individuals will be required to have the following experience:

  • At least 5 years development experience in C# .NET

Other Requirements

Must be in possession of a valid South African work permit or be a South African citizen.

To apply for this job please visit www.jcmconsult.co.za.

Share This