About the Role
As a Principal Software Engineer, you play a key role in the delivery of highly reliable, scalable, and maintainable systems. You will drive projects; collaborate on product definitions with Product Managers, Solution Architects and implementing technical solutions with talented teams, and ensuring continued success even after deployment. You will lead and participate in design reviews, collaborate in architecture discussions and other technical leader activities. You are comfortable working independently as well as supporting other team members. You are pragmatic, tenacious, and comfortable with ambiguity. You will be able to balance technical leadership and acumen with strong business judgment to make the right decisions about technology choices. You will strive for simplicity, while bringing technical insights into how to refine and improve the system, ultimately ensuring performance, stability, and an exceptional end user experience.
Requirements
SKILLS AND KNOWLEDGE
Core Technical Competencies:
• Have crystal-clear, concise and effective communication skills
• Possess very strong OOPS and OOD Skills
• Possess very strong Pure JavaScript skills
• Have worked on at least one of the many Open Source web development frameworks such as Angular, React, Knockout, etc.
• Possess the analytical skills needed to help architect superlative applications
• Have worked closely with Application Design and Technical Architecture teams/professionals and must have understood development lifecycles (Product Development Environment is a bonus)
• Have worked closely with Project/Program Management teams and must have understood development methodologies such as SCRUM/Agile
• Have a strong understanding of Information security, protocols and libraries
• Possess work experience with Cloud based applications on one or more Cloud Provider
• Have proven credentials in providing technical leadership for a minimum of 3 years in the role of a Technical Lead or Senior Technical Lead
• Be open to work as an individual contributor as well as in a team
Good to have Competencies/Skills (Not mandatory):
• Serverless Computing using Microsoft Azure Functions or Amazon AWS Lambda or Google Firebase Functions
• possess Microservices experience, exposure to Azure Service Fabric and Reverse Proxies
• Containerized development with Docker or Kubernetes
• Realtime Queuing and messaging frameworks such as MSMQ, IBM MQ, RabbitMQ, Apache Kafka, Azure Service Hub, Mulesoft ESB, Google Firebase Realtime Database, etc.
Platform Skills:
• Consider yourself an exceptional C# 7.0+ programmer
• Consider yourself well-versed with concepts such as Inversion of Control/Dependency Injection, GoF and other Design Patterns, Reactive Programming
• Are familiar with testing methodologies such as unit testing, integration testing and behavior testing. Experience with tools such as MSTest, NUnit, Moq, CucumberJS is helpful
• Possess good SQL Skills (Queries, Stored Procedures, Functions and Triggers). Exposure to NOSQL databases is a plus.
• Consider yourself a high value application/product development professional with skills in/exposure to the following skills:
Solutioning:
· Ability to add value in the application design and architecting phases by recommending optimal solutions
· Ability to write exceptional technical documentation, development proposals
· Very good online and offline research capabilities for solutioning
Legacy Systems:
· Prior experience in migrating legacy applications to modern platforms is a very good plus
Architecture:
· Proven hands-on experience with SOA, SaaS, Client-Server and Microservices based application architecture and development
· Knowledge of cloud based application architecture and development with one or more providers
Protocols and Architecture:
· A wide variety of experience on Microsoft WCF Exposure to SOAP based Services is a plus
Design Patterns:
· Well-versed with MVC architectural pattern. Exposure to MVP/MVVM is a plus
· Experience using Design Patterns viz., Factory, Abstract Factory, Unit of Work, Singleton, Decorator, Prototype, Builder, Observer, and others
DevOps:
· CI/CD using Microsoft Visual Studio Team Services to create pipelines for Build and Deploy
· Any other DevOps tool such as GitLab-CI, Jenkins, GIT, etc.
· Strong working knowledge of GIT is preferred, especially knowledge around different branching strategies
Other Tools/Approaches:
· Wide experience in working with different design approaches - Data First, Code First, Model First approaches
· Microsoft Enterprise Library 6.0
· Extremely well-versed with LINQ to SQL, Lambda expressions, Extension Methods to Collections and Generics
· Object-Relational Mapping frameworks - NHibernate, Microsoft Entity Framework, LINQ, etc.
Leadership Skills:
• Have the ability to handle small and medium sized teams, providing technical expertise and direction
• Consider yourself as being a role-model for others with lesser experience and exposure
• Are a very good listener and you consider solutions/ideas offered by others sportively
• Are not afraid of failure and can start all over again
About the Company
Pragya Health LLP is a healthcare IT company that focuses on AI and other cutting edge digital technologies to improve operational excellence within the US healthcare industry.
The Leadership team comprises of serial entrepreneurs and technology experts with over 40+ years of healthcare experience.
The team has built scalable secure HIPAA compliant cloud based SaaS products across many healthcare verticals in US.