Software Development Engineer
Here at KDC, we have a requirement for a Software Developer to support the creation of new and existing Windows applications and services written in C# .NET, utilising various 3rd party component sets, interfacing to web services and SQL Server/MongoDB databases hosted internally within our leading space and satellite OEM customer's Web & SQL Server environments
The role requires the production of elegant and functioning applications whilst maintaining the highest quality standards along with best practices. A good knowledge is required of the full Microsoft Stack development from SQL Server database design/implementation, C# Service/Controller development through to Web Client User Interface in Razor and Typescript/JavaScript. Work will be performed within an Agile Scrum team facilitated by Developers, Testers, Product Owner and Scrum Master.
Our customer will provide an MSDN subscription and use of the latest technology for C#, ASP.NET Core MVC, MS SQL Server with .NET Core working within Visual Studio and managed through Azure Devops server. Primary products produced in this team are Windows Applications, Windows Services, Web services and SQL/NoSQL Databases. The role is expected to use and develop various outputs from these to construct apps, services, web sites and graphical metrics utilising technologies for the users of the other products.
The main technical activities include:
Enhancement of existing and creation of new applications/services/websites with innovative implementations of components to enrich the visual impact of the data
Detailed technical design, development, testing, implementation and maintenance
Reviewing and understanding business requirements working with cross-functional teams
Developing and enhancing product offerings in accordance with design and consistent with business objectives
Ensuring that development tasks are completed within the timeline provided and that issues are fully tested with minimal defects
Engage with key stakeholders to understand the product and user requirements
Generate appropriate design documents, wireframes and other forms of documentation to clearly represent the solutions
Work with other development team members to allow them to implement the designs, including design and code reviews
Implementation, coding and testing of complete solutions
Generate unit tests and other testing strategies to ensure the products are being tested thoroughly to produce quality products
Follow SOLID, DRY, KISS and YAGNI principles.
Essential skills and experience
C# skills including OOP, REST APIs, generics and reflection
.NET Core and Dependency Injection patterns
Knowledge of MS SQL server web interfaces, relational, warehouse and cube database schema architectures. Plus, knowledge around NoSQL Database technologies.
Unit tests, mocking interfaces/frameworks
Experience with Agile methodologies
Knowledge of Microsoft products:
Team Foundation Server / Azure Devops
Visual Studio / VSCode
Essential Personal Qualities:
An accomplished Software engineer with an organised structured approach to problem solving and task completion. Capable of working on your own or within a team of engineers, you will be expected to plan and complete your allocated work on time and within budget. You will be experienced; enthusiastic; accountable and reliable.