Senior .Net Backend Developer
Posted 11 months ago
Our client is a leader in the design, manufacturing, and installation of world-class reliable emergency warning and mass notification systems. Their mass notification systems are recognized worldwide for their superior dialogue clarity, impressive build quality, advanced technology, and flexibility. Their systems easily integrate with other warning systems to provide a more complete solution.
- Participate in full development life cycle including requirements analysis and design.
- Work closely with the product owner and team members to decompose stories, design features, and prioritize tasks.
- Actively participate in architectural and design discussions/decisions.
- Can act as a scrum master, leading a scrum team to perform planning, design, development, and testing on various software development, implementation, and integration projects while engaging in tasks as needed to support the team in meeting its goals.
- Design and develop database and server side of web-based applications using ASP.NET Web API and C#.
- Create RESTFUL services using ASP.Net Web APIs.
- Design and implement security and data protection measures through web-based applications.
- Implement the token-based Authorization (JWT).
- Responsible for the integration of front-end elements built by the front-end developers, hence, requiring that he has a basic understanding of front-end technologies.
- Write high-quality, maintainable, scalable, and documented software solutions.
- Build modular reusable components and libraries.
- Conduct unit testing, integration testing, and performance testing.
- Overseeing and participating in deployment and maintenance, providing support as needed.
- Refactor applications based on requirements change, code/database optimization needs, …etc.
- Will be working alongside other teams locally and globally. Therefore, a commitment to collaborative problem solving, sophisticated design, and creating quality products is essential.
- Providing technical leadership, directions, and mentoring as necessary for all members of the team to ensure team and project success.
- Meet periodically with developers to review and improve code quality, requirements specification, and design methodologies.
- Utilize automated software test tools and frameworks such as test-driven development to achieve software quality standards.
- Assist in assembling releases and drive improvements in the release process.
- Bachelor’s degree in Computer Engineering or any related field.
- 5+ years’ experience with .Net C# development (.Net 4.5 or higher).
- Minimum of 3 years solely focused on Back-end.
- Strong experience developing client/server solutions using ASP.NET Web API and WCF Services.
- Strong experience in MS SQL Database (2012 or higher) and SSRS Reports.
- Strong experience with LINQ and Entity Framework 6.
- Experience with Domain-Driven Design and Test-Driven Development.
- Experience with Event-Driven Architecture.
- Advanced knowledge of software design patterns and effective development methodologies.
- Experience with Microsoft Azure cloud services and Azure SQL Database.
- Experience in building services hosted in Microsoft Azure Cloud Services.
- Experience with IIS.
- Advanced knowledge of object-oriented programming, best practices, SOLID Principles, Enterprise Integration.
- Advanced knowledge of TCP and HTTP protocols.
- Strong understanding of API/web service architectural styles (REST/RPC).
- Strong understanding of distributed and multi-tenant systems.
- Strong understanding of application resiliency, security, scalability, and general performance concepts.
- Strong understanding of “session management” in a distributed server environment.
- Strong understanding of concurrency, threading, and parallel programming.
- Familiarity with front-end technologies is a plus.
- Familiarity with performance optimization.
- Familiarity with testing frameworks to build unit tests and Integration tests.
- Familiarity with agile methodologies (Scrum).
- Familiarity with clean code principles and best practices.
- Proficiency in UML documentation.
- Good understanding of source control procedures.
- Ability to work independently as well as lead a small team of .NET developers on various work streams and guide them on development tasks.
- Excellent communication skills.
- Excellent problem solving and self-learning skills.