Principal Software Developer
Pune, IN
Job summary:
As part of the organization as a Principal Software Developer the person will be responsible to analyze requirements & produce system requirement design in collaboration with peers. Based on the design you are required to deliver high quality source code. Demonstrate competence in own area; may still be acquiring higher level skill. Works with limited guidance on projects within defined criteria. Provide solutions to a diverse range of moderately complex problems.
What you’ll do:
Analyze software requirements based on inputs. Design and implement software systems and product enhancements based on requirements specifications. Produce documents related to this including Detailed Design Specifications (DDS). Decide approaches, modeling techniques and estimations for schedules, technical scope and required project resources. Participate in technical reviews of requirements and system design with peers. Participate in software documentation process by writing draft version technical literature for submission to documentation team. Review final prior to release and verifies processes have been followed. Review code and documentation authored by peers and make recommendations for improvement.
What we’re looking for:
We are looking for a Principal Software Developer having experience in development of applications for C# WinForms, Web, Xamarin/Maui, Android iOS. Your main objective will be to design and develop our solutions. Your success will be evidenced by your ability of end-to-end ownership to develop reliable and durable software. You are interested in the development of portable products and your reflection is oriented towards intended use by the user.
Technical skills:
-
Experience of C#.NET WinForms and Web development.
-
Experience of Xamarin/Maui, Android iOS development.
-
In-depth understanding of OOPS concepts.
-
Exposure to Flutter Dart is an asset.
-
Exposure to REST/SOAP, creating public and private APIs are assets.
-
Good understanding of CI-CD is an asset.
-
Ability to develop applications that promote automated testing.
-
Ability to participate in proof of concepts, work evaluations and development of solutions related to the needs analysis.
Competencies (preferred skills):
-
Ability to design, develop, and maintain efficient, reusable, and reliable code using best practices.
-
Ability to collaborate with team members to define, design, and deliver new features.
-
Ability to participate in all phases of development lifecycle including requirement gathering, design, implementation, testing, and support.
-
Ability to troubleshoot problems and debug issues efficiently.
-
Meticulous and well organized.
-
Strong analytical problem-solving, and conceptual skills.
-
Understands and follows project and software development methodologies and processes, including SCRUM.
-
Proficient understanding of code versioning tools such as Git, SVN, and TFS.
-
Exposure to SAFe framework.
-
Experience with GitLAB tool.
-
Exposure to Jira tool.
-
Exposure to telecom domain is an asset.
Required aptitudes:
-
Excellent spoken and written English.
-
Be attentive and open to proposals, in search of innovative solutions.
-
Great ability to document design and guidelines for teams.
-
Be available to share knowledge and ideas.
-
Technical decision making.
-
Excellent interpersonal skills.
-
A team player, who goes out of his / her way to help the team members, whenever required
-
A person who is more people oriented, with a skill to talk to people and get / provide required info.
-
Ability to operate effectively in a complex matrix environment.
-
Ability to create a climate of trust.
-
Proactive problem solver.
-
Action and results oriented.
Must have:
Pertinent Experience: 8+ years experience in Software Development.
Education: BE/BTech/ME/MTech/MCA/MCS/M.Sc. Comp Science (Candidates from Computer Science / IT / Electronics & Telecom will be preferred).