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