Senior Principal Software Engineer

Development | Pune (IN)

JOB SUMMARY:

The Senior Principal Software Engineer designs, develops, troubleshoots and debugs software applications for our core product. This includes developing software components including Frameworks, APIs, Websites, Utilities, Databases and Internet-related tools. Demonstrates technical leadership at department level, help in evaluating and implementing new technologies, tools. Contributes in improving the SDLC process and quality standards.

 

MINIMUM QUALIFICATIONS AND REQUIREMENTS:

•                     Bachelor’s Degree in Computer Science or equivalent

•                     12-18 years’ of industry experience in programming web applications, mobile and/or large scale enterprise products

•                     Deep knowledge of C#, ASP, .NET, MVC

•                     Deep knowledge and extensive experience working on Ruby or React and JavaScript, as required

•                     Experience with XML, ADO/ADO.NET, LINQ, AJAX, IIS

•                     Extended experience with SQL and relational databases

•                     Experience in TFS and Visual Studio

•                     Familiar with SDLC and programming design patterns

•                     Familiar with Agile methodology

•                     Skillful at reviewing new feature impact on an application and recognizing potential risks

•                     Uses time effectively and efficiently

•                     Quickly learns new technologies

•                     Detailed oriented, professional and possesses a positive work attitude

•                     Communicate professionally both verbally and in writing

 

PRINCIPAL DUTIES AND RESPONSIBILITIES:

•                     Develops software solutions by studying information needs, conferring with users, studying systems flow, data usage, and work processes, investigating problem areas, following the software development lifecycle.

•                     Conducts systems analysis and makes recommendations to improve the system to achieve an outcome.

•                     Promotes internal best practices and coding conventions to write and execute tests for your own code, including creating comprehensive unit tests.

•                     Contributes to Technical Requirements Documents.

•                     Requests constructive feedback for designs early in the process.

•                     Communicates successfully with large teams and many stakeholders.

•                     Provides mentorship for Software Engineers and participates in interview panels to hire new Software Engineers.

•                     Assists in removing obstacles for the team to yield successful sprints.

•                     Performs peer code reviews to ensure quality of the codebase.

•                     Ability to decompose and delegate work to junior engineers.

•                     Updates job knowledge by studying state-of-the-art development tools, programming techniques and computing equipment; participating in educational opportunities, reading professional publications, maintaining personal networks, participating in professional organizations.

•                     Works effectively with multiple projects and departments.

•                     All other duties as assigned.