Job Description
Job Title: Senior .Net C# Microservices Developer
Location: Chennai
Job Type: Full-time
Description: We are seeking a highly skilled and experienced Senior Software Engineer to join our dynamic team. The ideal candidate will have a minimum of 6 years of experience in .NET/C# development, API development, software design patterns, unit testing, and working with MS SQL Server and T-SQL. As a Senior Developer, you will be responsible for leading development projects, contributing to production support, and collaborating with cross-functional teams to deliver high-quality & secured solutions. You will also have the opportunity to explore and learn new technologies such as Power BI.
Key Responsibilities:
- API Development: Design, develop, and maintain robust RESTful APIs for integration with various systems and services.
- Software Design Patterns: Utilize and implement common software design patterns to ensure scalable, maintainable, and high-performance code.
- Unit Testing: Write unit tests to ensure code quality and reliability, leveraging tools such as NUnit.
- MS SQL Server / T-SQL: Develop and maintain SQL Server databases and T-SQL scripts, including complex queries, stored procedures, and performance tuning.
- SDLC: Follow the software development life cycle (SDLC) best practices, including source code management, branching, and version control (using tools like Git, Bitbucket, Azure Repo).
- DevOps Pipelines: Work with Azure DevOps pipelines for continuous integration and delivery, automating build and deployment processes.
- Peer Mentorship: Take ownership of development projects, guide junior developers, conduct code reviews, and contribute to architecture decisions.
- Production Support: Provide ongoing support for production environments, troubleshoot, and resolve production issues, ensuring system stability and performance.
- Continuous Learning: Demonstrate a willingness to learn new technologies and stay updated, contributing to projects that involve Power BI.
- Collaborative Development: Collaborate with team members to define, document, and implement solutions, ensuring alignment with project goals and business objectives.
- Full SDLC Participation: Participate in the full software development life cycle, including analysis, design, coding, testing, and delivery, to create high-quality software solutions.
- Bug Resolution: Create solutions for identified problems or bugs, ensuring they are efficiently resolved with minimal impact on the system.
- Troubleshooting & Debugging: Troubleshoot and debug existing software, upgrading it as necessary to maintain and improve system functionality.
- Continuous Improvement: Recommend and execute improvements to both code and system architecture to enhance performance, scalability, and security.
- Efficient Code Production: Produce clean, well-designed, testable, and efficient code based on specifications, utilizing best software development practices.
- Code Reviews: Participate in code reviews, evaluating written code to ensure it is efficient, thoroughly tested, and adheres to quality standards.
- Information Security: Contribute to information security by reducing exposure to threats, using tools and audits to identify and resolve potential vulnerabilities in the system.
- Cloud-based Development: Take the lead in designing, developing, and maintaining cloud-based solutions using Azure API Management, Azure Kubernetes Service (AKS), and Azure Functions.
- Microservice Development: Design, develop, and deploy microservices as containers, ensuring scalability and reliability in cloud environments.
- Entity Framework: Implement and maintain applications using Entity Framework for ORM and database management.
- Stakeholder Communication: Regularly communicate project updates, progress, and challenges to stakeholders and team members.
- Technical Documentation: Prepare detailed technical specifications and requirements documents to guide the development process.
Required Qualifications:
- 6+ years of experience in .NET/C# development, including API design and development.
- Strong knowledge of software design patterns and their practical application.
- Proficiency in unit testing frameworks such as NUnit
- Experience with MS SQL Server, T-SQL, and database optimization techniques.
- Proficient in JavaScript for front-end development or integration with back-end services.
- Strong understanding of SDLC, including source code management and branching strategies.
- Experience with DevOps pipelines and CI/CD tools like Azure DevOps
- Hands-on experience working with Azure – Azure VMs, Storage Account, Key Vault
- Knowledge or hands-on experience with Azure API Management, Azure Kubernetes Service (AKS), and Azure Functions
- Excellent communication skills, with the ability to collaborate effectively with cross-functional teams.
Nice to Have:
- Experience with Power BI for data visualization and reporting.
- A strong willingness to learn Power BI and apply it in business intelligence solutions.