The Principal Software Engineer creates, modifies, and maintains software applications individually or as a team. In addition, they provide technical leadership, including training and mentoring other team members, and includes technology and architecture direction for the team.
Essential Duties & Responsibilities
Develops tooling, test harnesses and innovative solutions to understand and monitor the quality of the product
Develops infrastructure as code to reliably deploy applications on demand or through automation
Understands cloud managed services and builds scalable and secure applications using them
Creates proof of concepts for new ideas that answer key questions of feasibility, desirability, and viability
Performs thorough code reviews that promote better understanding throughout the team
Trouble shoot, instrument and debug existing software resolving root causes of defective behavior
Builds intuitive user interfaces with the end user persona in mind using front end frameworks and styling
Works with architects, designers, business analysts and others to design and implement solutions
Work within an agile scrum team, contributing to an atmosphere of continuous improvement
Understands how to interpret database models and effectively collaborate with Database Engineers
Assist product owners in backlog grooming, story breakdown and story estimation
Collaborate and communicate effectively with team members and other stakeholders throughout the organization
Document software changes for use by other engineers, quality assurance and documentation specialists
Master the technologies, languages, and practices used by the team and project assigned
Skills & Requirements Education and Experience
High School Diploma/GED
Bachelor’s degree or equivalent work experience
Ten (10)+ years experience developing software applications
Mastered technologies and tools utilized by the team and project assigned
Knowledge, Skills, and Abilities
Able to train others on general programming concepts and specific technologies
Must be an expert in advanced programming skills and database technology and at least one (1) technology and/or language and proficient in multiple technologies and languages, including but not limited to: , C#, C/C++, Java, Progress, 4GL, SQL, HTML, VBScript, JavaScript, Python
Masters and trains others in technologies, languages and practices used by the team and troubleshoots and resolves existing software issues and troubleshoots and resolves issues in existing software
Work with other technical leaders to establish coding standards, develop best practices, and technology direction
Perform code and process reviews to ensure adherence to best practices
Functional Competencies and Key Capabilities
Basic programming skills and proficient in one or more of the following languages (Specific languages needed will vary based on development department or project) Net Core, C#, Java, SQL, JavaScript, Typescript, Python
Additional desired skills: Single-Page Applications, Angular (v9), Ivy, RXJS, NGRX, HTML5, CSS/SASS, Web Components, Atomic Design Test First approach, Test Driven Development (TDD), Automated testing (Protractor, Jasmine), Newman Postman, Microservices, Terraform, Jenkins, Jupyter Notebook, Docker, NPM, Yarn, Nuget, NodeJS, Git/Gerrit, LaunchDarkly © Greenway Health, LLC. All rights reserved. Confidential and Proprietary Amazon Web Services (AWS), Lambda, S3, Cognito, Step Functions, SQS, IAM, Cloudwatch, Elasticache Database Design, Optimization, Replication, Partitioning/Sharding, NoSQL, PostgreSQL, MongoDB, DynamoDB, Elastic Search, PySpark, Kafka Agile, Scrum, Kanban, DevSecOps
Strong problem-solving skills
Outstanding communications and interpersonal skills
Ability to track software issues to successful resolution
Ability to adapt in a collaborative fast paced environment
Ability to think about and plan a infrastructure and security as part of development
Ability to learn new development language quickly and apply that knowledge effectively
Strong verbal and written communication skills
Excellent attention to detail
Customer service skills with high level of professionalism
Strong desire to learn
Basic computer skills including Microsoft Outlook, Word, and Excel
Able to manage a variety of tasks concurrently
Work Environment/Physical Demands
While at work, this position is primarily a sedentary job and requires that the associate can work in an environment where they will consistently be seated for most of the workday
This role requires that one can sit and regularly type on a keyboard most of their workday
This position requires the ability to observe a computer screen for extended periods of time to observe their own and others’ work, as well as in-coming and out-going communications via the computer and/ or mobile devices.
The role necessitates the ability to listen and speak clearly to customers and other associates
Here’s what we can offer you in exchange for your amazing work:
Competitive pay
Medical, dental and vision benefits
Matching 401(k)
Generous paid time-off programs
Education reimbursement
Growth potential for your career
Corporate discounts
At Greenway, we strive to imagine, empower, engage, and inspire. Join us!