To contribute as a technology lead in the .NET development stream
- Good working exposure with REST API and Very strong knowledge in object-oriented concepts & design patterns
- Expertise in developing .NET Core based web applications with RDBMS or NoSQL database back-end
- Excellent development experience using ASP.NET MVC, Web API, etc. and version control systems (such as git, svn, etc.)
- Proven Expertise in developing web applications in .NET Core platform
- Experience in working with Entity Framework Core, LINQ, Blazor, ASP.NET Identity etc.
- Demonstrated willingness to develop with new/unfamiliar technologies.
- Experience in developing with static code analyzer
- Clear understanding about setting up a continuous integration/continuous delivery environment
- Ability to integrate a variety of data sources and databases into a single system.
- Experience in working with cloud services provided by AWS, Azure, Google, etc.
- Proficiency when it comes to code versioning tools like GIT.
- Passion for best design and coding practices and a desire to develop new bold ideas
- Good understanding and working knowledge on project tracking tools like JIRA, Azure etc.
- Fair understanding on project collaboration tools like Confluence etc.
- Excellent communication skills and convey the ideas with clarity, depth and details.
- Experience in Scrum Agile development mode and active participation in sprint ceremonies and lead them in the absence of the Scrum Master
- Nice to have: Experience in working with identity providers like IdentityServer, Auth0, Keycloak, etc.
Duties and Responsibilities
- Take full ownership of the tasks, user stories committed by self/team
- Take lead role in managing tasks in a sprint, reviewing the code of team members and ensuring first time quality of code
- Write “clean”, well-designed code
- Understand the development processes agreed at the organization/client level and ensure that these are followed diligently in the project. Actively participate in optimizing and evolving this process for the improvement of project execution.
- Capability to understand user stories, translate that into technical specifications and convert this into working code.
- Follow modern agile based development process including TDD based unit testing and guide the team to follow the same mandatorily
- Produce detailed specifications, user stories based on business requirements
- Troubleshoot, test and maintain the core product software and databases to ensure strong optimization and functionality
- Contribute in all phases of the development lifecycle
- Educate, preach and review technology best practices in the team
- Capability to follow industry trends and tools, pilot them and ensure that team can scale up technically to absorb technology best practices over time.
- Ability to work with Technical Architects to define the Solution/Technical Architecture of the application
- Passion to understand the complete business goal of the projects and apply this knowledge during the design and development phases.
- Excellent analytical skills to understand the requirements in detail, comment on the logical/usability gaps if any, analyse the technical feasibility and propose the solution approach
- Ability to identify and split the tasks required for a User Story implementation, thinking from all the technical aspects including the NFRs
- Ability to provide the estimation for the tasks identified for the Stories and be accountable for completing the tasks
- Ability to mentor junior team members, helping them on the technology, sprint task management, code quality etc.
- Readiness to take up initiative for suggesting and implementing the best practices in the areas of respective technology
Any Additional Information/Specifics
– Participate in the full product development cycle, including brainstorming, release planning and estimation, implementing and iterating on code, coordinating with internal and external clients, internal code and design reviews, MVP and production releases, quality assurance, and product support. – Highly effective and thrive in a dynamic environment – Comfortable with proactive outward communication and technical leadership and positive about accepting challenges.