NET Core, C#, and OOP: A solid understanding of object-oriented programming, as well as practical experience with .NET Core and C# (particularly in environments that involve enterprise applications). You're expected to understand principles like inheritance, polymorphism, and abstraction, as well as how to design efficient and maintainable software.
MVC: Familiarity with the Model-View-Controller (MVC) architecture is important. This pattern helps structure the application in a way that separates business logic, user interface, and input handling.
Relational Data Modeling (MS SQL Server): Deep experience in modeling relational databases is key. Understanding how to design schemas, write SQL queries, optimize performance, and manage data integrity is critical for working with MS SQL Server.
Dockerizing .NET Core Applications: The ability to package .NET Core applications into Docker containers will be useful, particularly when developing applications that need to be deployed in different environments (e.g., cloud or on-premises).
Technical Leadership: You'll be expected to not only contribute to coding but also take the lead in design decisions and oversee the full cycle of deployment. This requires excellent communication skills, an understanding of best practices, and the ability to mentor other developers.
Chatbots and Voice Bots: Experience with bots, especially in the context of platforms like RASA or Dialog Flow, is a huge plus. This suggests the company might be working on AI-driven customer interactions.
AWS Services: Familiarity with Amazon Web Services (AWS), especially for cloud-based hosting, storage, and computing. Experience with AWS Lambda, EC2, RDS, etc., would be relevant.
Financial Domain Exposure: Understanding the financial industry or its specific challenges (e.g., security, regulations, performance) could be helpful, particularly if the role involves working with financial data or applications.
Client Interaction & Requirement Gathering: The role expects you to engage with clients, so clear communication and understanding client requirements is crucial.
Problem Solving & Debugging: A good problem solver who can efficiently debug and fix issues—an essential skill in any software development role.
Cloud Databases:
Start-Up Mentality:
Teamwork and Communication: While technically strong, you should also be able to clearly communicate complex concepts to both technical and non-technical audiences, especially in writing and verbally.