Vacancy expired!
The perfect candidate should love solving complex technical problems across all levels of software architecture, development, and debugging.
Requirements- 6+ years’ experience in dynamic web software development.
- BS/BA in Computer Science, Engineering, or a related field.
- Advanced knowledge in implementing Object Oriented Design (OOD), Service Oriented Architecture (SOA), S.O.L.I.D Principles, Design Patterns, Dependency Injection (DI), Continuous Integrations (CI) and adhere to architecture and programming best practices.
- Expertise with the.NET Core, .NET framework, SQL Server
- Proficient writing code in .NET languages (C#, VB) and fundamental front-end languages (HTML, CSS, and JavaScript).
- Experience using advanced JavaScript libraries
- Knowledge integrating with Identity Providers, Single Sign On and MFA.
- Invoked RESTful Web API services and implemented asynchronous programming and optimization, versioning and securing of APIs.
- Experience and understanding of best practices, both design and security, of architecture patterns - MVC, MVVM, REST, RPC.
- Familiar with Azure’s cloud offerings - App Services, Azure Functions, Service Bus, etc.
- Familiar with Azure DevOps - Boards, Pipelines and Repos or similar Project Management.
- Experienced reading and understanding third party code libraries and troubleshooting UI related issues on browser-based debugging tools.
- Familiar with Agile / Scrum methodologies and CICD operating procedures.
- Ensuring cross-platform optimization and responsiveness of applications.
- Identify bottlenecks and bugs, and devise solutions to mitigate and address these issues.
- Create, maintain, and run unit tests for both new and existing code, with a goal of delivering defect-free and well-tested code to QA.
- Conduct design and code reviews and collaborate to ensure your own code passes review.
- Work with Product Management to create and adhere to schedules, while maintaining flexibility to adapt to shifting market demands.
- Collaborate with the rest of the engineering team and participate in requirements analysis to design and launch new features.
- Translate application storyboards and use cases into functional applications.
- Keep up to date on best practices and new technologies.