Main purpose of the role: The SQL/C# Developer will be part of the companys operational development team directly supporting the call centre, reporting to the Head of IT with dotted line reporting to the IT Director.
The role involves creating and maintaining solutions leaning heavily on SQL Server to query or manipulate data for the in-house developed systems and reports as well as using C# to create simple ASP.NET SPAs using MVC, Razor and Blazor.
Our client systems use T-SQL for most of the business and processes logic so SQL is used as a programming language along with C#.
The company operates in an exciting, high paced and demanding environment with an opportunity to use the latest tools and technologies.
The IT department currently consists of 12 motivated and passionate people including helpdesk, desktop support, SQL and C# .Net developers operating on a mainly Microsoft stack with some specific uses of Linux and Asterisk.
Duties and responsibilities include, but are not limited to: Solve business problems alone and as part of the team by applying good reasoning and logic to use one or more of the following technologies: ASP.NET, C#, Web services, Web APIs and SQL programming.
ML.Net would be an advantage and part of the role moving forward.
Support the deployment of new IT systems and infrastructure.
Diagnose problems using a logical approach and understanding of the underlying systems.
Working individually or as part of a team on small to medium sized SQL projects to solve operational business requirements as well as data manipulation when needed.
Creating ad-hoc queries or SQL Server stored procedures, views and jobs based on user requests or to maintain, troubleshoot or improve existing SQL functionality.
Working on large data sets in a live transactional environment with an awareness of the impact of running demanding queries and the side effects on a busy operational call centre.
Create and maintain constraints, keys and indexes to improve performance and maintain database integrity and business rules.
Design and maintain Excel and SSRS reports using stored procedures and views.
Maintain or improve existing Excel reports using VBA for extended functionality.
Querying and summarising data across multiple servers and databases using linked servers.
Working with dynamic SQL to solve difficult cross-server and cross-database queries and summaries.
Experience and requirements: A minimum of 5 years using and programming in C#, .NET and SQL.
At least 3 of the most recent years using and programming in C#, .NET and SQL daily.
Solid understanding of relational databases and database design.
Excellent knowledge of the T-SQL language including use of stored procedures, triggers, views, data types, keys indexes, constraints, foreign keys, relational design and the related tools and development environment A good understanding of SSIS, SSRS and Excel working with SQL Server over the past 3 years.
Experience optimising SQL Server queries and stored procs and the use of query analyzer for tuning code.
Very good general programming skills and a general interest in programming and development using primarily SQL Server and C# and the .Net platform.
Experience with other SQL databases like MySQL and PostgreSQL would be an advantage.
Very good Excel skills as well as a good working knowledge of VBA programming in Excel.
Sound knowledge of secure development principles.
Knowledge of SQL environment using tracing tools.
Web development experience using MVC and the following technologies: ASP.NET / .Net Core / Razor pages / Blazor.
Knowledge and experience working with HTML, CSS and JavaScript/Typescript.
Web Service development using .Net.
Use of and RESTFul APIs.
Use of SOAP Web Services.
CLR development for SQL Server using C# would be an advantage.
Experience with Node Red would be an advantage.
Some Linux and Asterisk experience would be an advantage.
Skills and abilities: A strong sense of responsibility and ownership and a solid work ethic this is very important!
Accurate and precise approach with a strong sense of attention to detail.
The ability to work independently and as part of a team.
A willingness to learn about the existing business and systems enabling participation in the improvement and further development of these systems.
A willingness to keep learning and staying updated on modern development environments, techniques and trends like the latest ASP.Net developments as well as ML.Net Very good verbal and written communication skills with the ability to adapt to communicating with senior technical team, management and non-technical call centre agents.
Very good problem-solving skills and an aptitude for applying critical reasoning and logic to solve challenging business problems.
Very logical with good understanding of basic mathematics and statistics.
Organised and task driven with a need to complete tasks well