Job Description
We are seeking an accomplished developer to lead and actively contribute to the design, development, and maintenance of a sophisticated .NET application that incorporates multiple architectural patterns and platforms. The ideal candidate will demonstrate advanced technical expertise in .NET (C#), Windows Forms, and Angular, showing proficiency across both legacy and contemporary frameworks. Prior experience with, and knowledge of banking applications would be an asset.
Core Skillset and Focus Areas
NET Architecture Patterns:
Apply Domain Driven Design (DDD) and Command Query Responsibility Segregation (CQRS) methodologies to craft resilient applications within the .NET ecosystem.
Windows Forms UI Development:
Design and maintain user interfaces with a diverse set of Windows Forms elements, including MDI windows, modal and modeless dialogs, Tab Control, Data Grid View, Panels, User Controls, Toolstrip/Menu Strip, and other critical components.
Data Binding in .NET:
Develop solutions utilizing Binding Source, Binding List, Currency Manager, Data Set/Data Table/Data View, and related data binding technologies vital for .NET applications.
Threading, Concurrency, and UI Marshalling:
Ensure efficient multi-threaded operations and responsive user interfaces by leveraging .NET tools such as Background Worker, Tasks (TPL), Control.Invoke/Begin Invoke, Synchronization Context, Cancellation Token Source, and Thread Pool.
Reflection and Runtime Techniques:
Use System.Reflection, Expression Trees, custom attributes, and Type Descriptor to enable runtime flexibility and dynamic behaviors within .NET applications.
Peripheral and Hardware Interoperability:
Manage hardware integration and peripheral communications through P/Invoke, COM Interop, Serial Port, and Raw Printer Helper, harnessing .NET's robust interoperability capabilities.
Dependency Injection and Configuration:
Structure application dependencies and manage configurations using Microsoft.Extensions.Dependency Injection and Configuration Manager.
Windows Infrastructure Integration:
Oversee Windows Services, Named Pipes, and Registry management to facilitate reliable system integration and service deployment in a .NET context.
Data Technologies (Entity Framework & ADO.NET):
Utilize EDMX Database First, Object Context/Db Context, SQL Connection/SQL Command/SqlDataReader, and associated data access tools to ensure seamless data persistence and manipulation.
API Development in .NET:
Build robust APIs with a focus on multi-threading, parallel and asynchronous processing, caching strategies, and data persistence (SQL/NoSQL), all within the .NET framework.
Angular Application Development:
Develop web applications using Angular (version 12+, currently v19/20), including web API development, asynchronous operations, and micro frontend architecture, in conjunction with .NET back-end services.
SQL Server Integration:
Integrate SQL Server efficiently to support reliable data storage and retrieval, ensuring performance and scalability for .NET applications.
General Cloud Skills:
Demonstrate hands-on experience with cloud platforms such as Azure or AWS for deploying, managing, and scaling .NET applications. Proficiency in cloud-native services, resource provisioning, and cost optimization is highly valued. Candidates should also be versed in security practices and monitoring solutions to ensure application resilience.
CI/CD and DevOps:
Showcase practical expertise with continuous integration and deployment pipelines, specifically utilizing Azure DevOps (ADO) tools. A strong grasp of automated testing, environment provisioning, infrastructure as code, and release management is essential. Candidates should be comfortable partnering with operations teams and promoting DevOps best practices to optimize development workflows and ensure robust application delivery.
Banking domain knowledge:
Prior experience with retail banking applications, knowledge of banking products and processes would be an asset.