Experience working in IaC/SaaS for cloud (infrastructure as code)?
Experience with C#, .Net Core apps coding?
What databases used? Most proficient/comfortable?
Job Summary: The Principal Software Engineer – Applications is a seasoned and collaborative full stack developer with knowledge and experience in SaaS and critical high traffic applications that scale. This individual is an experienced developer and mentor with a passion for Agile development. Their focus is on sustainable development, not heroics, and understands the value of good estimation, continuous improvement of our process and architecture, automated testing to protect quality, delivery of features that delight customers and continuous deployment to get fast feedback from users. This individual is a passionate champion and advocate for continuing to improve our architecture while effectively balancing the delivery of valuable features to our customer base. Actively helps direct the product's development by engaging with the team and iterating to a result you are all on board with and perhaps more importantly, proud of. They work through the entire product lifecycle and utilizes in-depth understanding of industry best practices with emerging technologies. They assist in creating documentation regarding development processes and technologies.
Contribute to software architecture roadmap and champion the implementation of our software architecture, new technology concepts, and development best practices with the team
Mentor junior team members, provide expert level knowledge to the team on specific concepts
Develop and evaluate code to ensure that it is valid, properly structured, performs optimally, and is consistent with industry best practices
Design solutions to complex problems exploring trade-offs of various technical options, perform complex POCs
Perform code reviews and provide approval on complex features.
Assist with the creation of patterns and best practices for unit and integration testing in a TDD/CI/CD environment
Support automated UI/API testing by QA team
Collaborate with the SRE team to ensure the deployment of the software aligns with strong DevOps practices
Work with the product owner, stakeholders, UX, QA and other engineers to create effective solutions
Participate in all aspects of product delivery, including planning, design, and cross-platform / cross-browser testing.
Provide feedback and recommendations for improvements to features, functionality, architecture, design and performance
Diagnose and resolve complex product issues in production environments
Has strong technical understanding of the product and is the SME in specific components in their product area
Owns technical documentation and transition of knowledge to Sales Engineering and Support for completed assignments.
Assist in creating documentation regarding development processes and technologies.
Collaboratively participate in Agile ceremonies
Utilize organizational process control systems and industry privacy requirements (i.e., FDA quality controls, HIPAA).
Passion for Agile development principles on a highly collaborative team
Proficiency with C#, .Net Core and/or Framework, and SQL
Experience writing and maintaining automated tests (integration and unit tests)
Proactive and demonstrates ownership in solving problems and seeking input from teammates
Communicates openly and honestly and respects the variety of personality styles that make up the team
Adapts easily to solve new problems or change directions as needed
Effectively balance “head’s down coding” time with active collaboration/problem solving discussions with the team
Strong troubleshooting skills with ability to use wide variety of tools and techniques to determine root cause
Able to manage confidential information with appropriate discretion and judgement
Experience working in public cloud deployments (AWS preferred), NoSQL and Relational Database Systems, microservices, containerization, service monitoring, serverless computing, event-driven programming, and DevOps including CI/CD and infrastructure as code (IaC)
Experience with security best practices
Required/Preferred Education and Experience:
BA/BS degree or equivalent experience
8+ years of experience in a professional application development environment
Preferred 2-3 years healthcare technology experience
Specialization Descriptions: These are descriptions of some of the specializations that may be needed from a Principal Software Engineer.
Experience creating SDKs using C#, Swift, or Java
Experience with Desktop applications developed in C# and WPF
Experience with Mobile applications developed in Swift or Java
Experience developing critical, high volume, big data applications that scale