Sr Software Engineer

Assurant, Inc.

India
Remote
Education
Benefits
Skills

Senior Software Engineer, GCC, India

We are seeking an experienced Senior Software Engineer to work with the leads of our software development team in enhancing and maintaining our suite of APIs and web-based interfaces. In this pivotal role, you will leverage your expertise in C#, SQL, WCF, and SOLID principles to design robust, scalable software solutions that meet our business and technical requirements.

Your leadership will be crucial in setting technical direction, mentoring junior engineers, and ensuring the delivery of high-quality, secure, and efficient software.

As a Senior Software Engineer, you will collaborate closely with cross-functional teams to align development efforts with strategic goals, driving innovation and excellence in our software engineering practices. 

This position will be Remote at our India location. 

What will be my duties and responsibilities in this job?

  • Leadership in API Development: Lead the design, development, and maintenance of robust backend APIs using C#. Ensure APIs are scalable, secure, and integrate seamlessly with various client-side applications.
  • Advanced Web UI Engineering: Oversee the creation and refinement of web-based user interfaces, advocating for best practices in usability and design. Ensure a cohesive and efficient interaction between frontend and backend systems.
  • Database Architecture: Architect and optimize complex database systems using SQL. Mentor team members on advanced database concepts like indexing, transactions, and concurrency.
  • Implementation of Design Principles: Champion the use of SOLID principles and design patterns across all software projects to promote code that is well-structured and maintainable.
  • Expertise in Service-Oriented Architecture: Knowledge of Windows Communication Foundation (WCF) to architect and fine-tune service-oriented applications that support critical business processes.
  • Quality Assurance and Code Review: Lead code reviews, enforce coding standards, and introduce automated tests to ensure the delivery of high-quality software solutions.
  • Security Leadership: Develop and oversee the implementation of advanced security protocols for both APIs and web interfaces, ensuring robust protection against modern security threats.
  • Performance Management: Direct performance optimization initiatives, identifying bottlenecks and deploying solutions that enhance system responsiveness and throughput.
  • Strategic Collaboration: Work closely with product managers, IT staff, and executive teams to align software solutions with business goals. Provide technical leadership and decision-making.
  • Technical Documentation and Mentorship: Create comprehensive documentation on system architecture and development processes. Mentor junior engineers and contribute to the professional growth of the team.
  • Experience with Terraform: Skilled in using Terraform for infrastructure as code to create, change, and improve production infrastructure safely and predictably. Understanding of Terraform modules and workflow management.
  • Understanding of IaaS: Strong familiarity with Infrastructure as a Service (IaaS) concepts and how to leverage them for efficient resource management and deployment across various environments.
  • Knowledge of Azure: Proficient in utilizing Microsoft Azure for deploying, managing, and operating scalable, complex applications in the cloud. Understanding of Azure services, architecture, and security features.

What are the requirements needed for this position? 

  • Advanced C# Programming: Expert-level understanding of C# and .NET frameworks, capable of architecting, writing, and maintaining complex, high-quality code.
  • Expertise in API Development: Demonstrated experience in designing and implementing robust RESTful and SOAP APIs. Proficient in API lifecycle management and best practices.
  • Web UI Development: Strong skills in developing and optimizing web-based user interfaces, with a deep understanding of front-end technologies and frameworks like Angular or React.
  • Database Architecture and Optimization: Expert in SQL with experience designing and managing advanced relational database systems. Proficient in performance tuning and complex query optimization.
  • Mastery of WCF: Comprehensive knowledge of Windows Communication Foundation (WCF) for developing and maintaining service-oriented architectures.
  • SOLID Principles Application: Thorough understanding and application of SOLID principles in software design and architecture to promote scalability and maintainability.
  • Version Control Systems: Advanced proficiency in using tools like Git, including branching, merging, and deployment strategies.
  • Automated Testing: Expertise in developing and maintaining robust automated testing frameworks and continuous integration/continuous deployment (CI/CD) pipelines.
  • Security Best Practices: In-depth knowledge of security protocols, data protection mechanisms, and secure coding practices.
  • Leadership and Communication: Strong leadership skills with the ability to mentor junior developers, manage projects, and lead cross-functional teams effectively.
  • Problem Solving and Analytical Skills: Exceptional problem-solving skills with a methodical approach to troubleshooting and system analysis.

What other skills/experience would be helpful to have?

Senior-Level Software Development: At least 5-7 years of experience in software development, with significant experience in a senior or leadership role.

Project Management: Proven track record of successfully managing and delivering complex software projects from conception to deployment.

Agile Methodology: Extensive experience working in agile environments, with a solid understanding of agile principles, practices, and frameworks like Scrum or Kanban.

Industry Experience: Experience in the specific industry relevant to the company, understanding its challenges, regulations, and technology needs can be beneficial.

Mentorship: Experience in mentoring junior engineers and leading code reviews to enhance team skills and code quality.

Education: Bachelor’s degree in computer science or Related Field: Advanced degree in computer science, information technology, software engineering, or a related discipline.

Read Full Description
Confirmed 21 hours ago. Posted 9 days ago.

Discover Similar Jobs

Suggested Articles