Software Developer/ Engineer/ Architect

Senior Net Developer Architect

Job Description

.NET Framework professionals develop applications for the Microsoft Windows operating system using the Microsoft .NET Framework, a body of pre-coded solutions that cover programming needs in areas such as user interface, data access, database connectivity, web application development, and network communications.

A Senior Software Engineer / Application Architect contributes to the development, delivery and maintenance of high-quality technology-based business solutions. He/she is skilled in designing, coding, testing, and implementing configuration changes to software applications to meet both functional and technical requirements in an agile environment. He/she will also be responsible for the design of the application, providing estimates for work, breaking scope down for more junior developers, monitoring their progress and ensuring successful delivery of features and projects.

Required Experience:

              6+ years software development experience required, specifically using the Microsoft .NET Framework and preferably using object-oriented design principles, design patterns and Application Architecture.

Key responsibilities may include:

Making application architecture decisions, providing documentation on these decisions, and presenting to governance teams.

Develop Solution Plans, including solution, scope, estimates, contingency, schedule, delivery model, assumptions, and risks.

Designing and developing Windows, web and MVC applications and web services based on .Net technologies, using object-oriented practices

Responsible for planning and analysing high-level software strategies and solutions through functional and technical expertise

Integrating technical and application components

Participating in identifying configuration changes

Participating in implementing all actions required to deploy an application, which will include automated builds and deployment

Responsible for estimation of activities, breaking down tasks, and mentoring more junior developers.

Pro-actively clarify requirements and expectations

Assist in producing code, designs, and other outputs to high quality

Soft Skills to communicate effectively with clients, in both speaking and listening, to build a harmonious relationship

Providing additional development capacity to development teams, where required, including the hand-on development and configuration of application changes

Setting day to day technical direction for application development teams, including code reviews, and providing ongoing support to ensure successful delivery of system change

Qualifications

Relevant Skill Set:

Proficiency in .NET 3.5+ FWK, .NET Core, ASP.NET MVC, XML, Razor Views, JavaScript, HTML5, CSS, C#, VB.Net, Web Services, Web APIs, Entity Framework, SQL Server, TFS & Git.

Object Modelling experience

Proficiency in integrating multiple systems using SOA and Event Driven architectural styles and experience in Pub-Sub tools like Biztalk, Service Bus, MSMQ etc. 

Solid understanding in Data modelling in SQL Server, experience in working with complex SQL queries and performance tuning

Experience in Continuous Integration and Delivery and tools associated

Experience/knowledge in Azure DevOps desirable.

Understanding of API development concepts and design patterns

Experience in producing automation tests using NUnit & MS test 

Experience in the design, development, rollout and support of .NET applications (e.g. web applications, windows applications, batch infrastructure or windows services).

Understanding of Microsoft Azure architectures, including hybrid

Understanding of PowerApps and lo-code

Strong understanding and experience in Git branching and merging strategies, Experience in Git flow and Trunk based development

Hands on Experience working in trunk-based development and working with Nugettified packages

Additional Desired Experience in:

Domain driven development (DDD)

Object oriented testing techniques and approaches, test driven development (TDD) and dependency injection/Inversion of Control (IoC)

Scrum certification

Database administration, particularly in Microsoft SQL Server environment

Ability to write automated scripts using PowerShell, SQL.

Knowledge of SQL database monitoring tools and database optimisation standards.

Experience in Cloud Technologies such as Azure is a plus