Principal Software Engineer
Role details
Job location
Tech stack
Job description
At CareMetx Principal engineers are brave tacticians, confident in their ability and unafraid to help blaze trails with adoption of new patterns or technology. They are thought leaders and mentors in multiple technical areas that enable them to help demonstrate and teach technical excellence within their teams and across the organization. Principal engineers are adept at applying technical craft and aligning the user of technology to business value. As a Principal engineer you will partner with other scrum team members to deliver incremental business value each sprint. You will continue to deepen your skills in areas that are your core passion and you'll be able to grow your skill breadth across new areas while helping the team deliver value. You have the opportunity to participate in, or champion community guilds to strengthen technical depth in preferred areas of interest and share your expertise with members from other teams., * Partner with architecture to help evolve patterns
- Help support pattern adoption to more junior developers
- Collaborate with stakeholders, engineering, and technical personnel to clarify program intent, identify problems, and suggest changes.
- Facilitate the team's in taking technology ideas to the product and business partners to help connect technology opportunities to business value
- Actively participate in sprint planning and backlog grooming
- Develop front-end solutions and mentor other engineers interested in this discipline
- Develop backend code and storage layers and mentor other engineers interested in this discipline
- Participate in DevOps activities such as building out of CI/CD pipeline build out and Infrastructure as Code
- Write and perform unit tests
- Ensure the team contemplates ownership of production solutions (fault tolerance, scalability, extensibility)
- Build and execute functional and non-functional tests
- Perform code reviews with team members to promote technical excellence
- Write minimally sufficient documentation of program development and subsequent revisions
- Research and recommend software tools
- Some skills that qualified candidates will possess are the ability to:
- Ability to communicate complex concepts in a logical and concise manner
- Apply critical thinking to provide creative solutions to user's needs and business value opportunities
- Apply systems thinking in design and solutioning
- Connect with the business value being requested, quickly weigh options deliver a solution with high degree of technical excellence
- Collaborate in decision making with team members and architects
- Take smart risks and be open to evaluating?failure as a learning opportunity to progressively improve
- Provide technical mentorship and guidance to other team members
- Ability to relate technology solutions to business value opportunities and weigh technical approaches in the context of business value
- Maintain regular and reliable attendance, including being present, on time, and prepared for work as scheduled.
- Performs other related duties as assigned.
Requirements
Do you have experience in Technical troubleshooting support?, * Ownership of a production solutions that are fault tolerant and scalable
- Demonstrated experience in product development from inception of an idea to deployment and support of production software
- Experience with agile software development methodologies
- Experience with software development best practices, including code standards, code reviews, source control management, build processes, testing, and operations
- Experience with microservice architecture and event driven systems
- Experience with SOLID principles
- Experience with Cloud technologies and ability to continually evolve technology solutions from legacy technologies to cloud technologies
- Minimum of six (6) years of experience in software engineering
- Experience with RESTful webservices
- Experience with CI/CD pipelines execution
MINIMUM SKILLS, KNOWLEDGE, AND ABILITY REQUIREMENTS:
- Knowledge of all aspects of the software development lifecycle including design, functional and technical requirements, coding, debugging, testing, release, and operational support
- Demonstrated problem-solving ability
- Proven effectiveness with debugging, root-cause analysis and troubleshooting system and application issues
- Some of the patterns / tools we use are:
- AWS
- Visual Studio, ASP.NET/CORE 4.0, C#
- MVC 3 Architecture / Framework.
- ReactJS
- RDBMS/SQL
- NOSQL
- GraphQL (for now)
- HTML5
- JavaScript and ReactJS.
- React - functional components and hooks, Redux and TypeScript.
- Git
- Jira
- Kafka & event first architecture, * The employee must occasionally lift and/or move up to 10 pounds., CareMetx considers equivalent combinations of experience and education for most jobs. All candidates who believe they possess equivalent experience and education are encouraged to apply.