Principal Software Engineer – Web Developer
The Principal Software Engineer (PSE) is a member of a highly-motivated team. This role will develop, enhance, and sustain innovative solutions to improve the customer experience. The PSE will implement complex software in accordance with project requirements, UX design, and industry best practices. The PSE will also review designs and participate in meaningful collaboration sessions on how to solve customer problems and participate in determining scope for new projects. The PSE will own components of the architecture and direct the work of other team members; scaling projects efficiently while maximizing performance and minimizing costs and ensuring quality.
Essential Duties and Responsibilities include the following. Other duties may be assigned.
Provide technical guidance in software design and development activities. May oversee development team and coordinate strategies among teams to ensure technologies are interconnected and product lines are working smoothly
Code, test, debug, document and maintain software applications using established coding standards and methodologies.
Participate in Scrum activities, perform code reviews, contribute to a high performing, growing team.
Own component(s) of the architecture and directs the work of other team members.
Builds and creates reusable frameworks that can be consumed internally and externally by other companies.
Ensures new software meets quality standards through writing unit and automated tests.
Troubleshoots, debug, resolve product issues as they arise.
Assists in designing interfaces to improve the user experience.
Support the application lifecycle (concept, design, test, release and support). Follow established development, documentation, testing and deployment processes.
Gather requirements and suggest solutions; serve as an integrator between business needs and technology solutions.
Collaborate with product development team to plan new features.
Participate in planning and scoping meetings for future projects.
Work cross functionally to resolve complex customer problems.
Lead other engineers in prioritizing and executing assigned tasks within deadlines; identify, track and mitigate risks as appropriate.
Stay current with new technology trends.
Train, coach and mentor other engineers.
Other duties may be assigned.
To perform this job successfully, an individual must be able to perform each essential duty satisfactorily. The requirements listed below are representative of the knowledge, skill, and/or ability required. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
Education and/or Experience:
Bachelor’s degree (B. A. or B.S.) from four-year college or university in Computer Science, Engineering, or Information Technology or related field required and 6+ years of related experience; or 4+ years’ related experience and/or training with a Master’s degree; or equivalent combination of education and experience. Master’s degree preferred.
Required Skills and Qualifications:
Experience in CSS and HTML
Experience creating reusable frameworks
Experience with NPM (Node Package Management)
Experience in constructing engineering and architectural patterns
Preferred Skills and Qualifications:
Experience with AWS or Azure
Experience contributing to open source projects
Passionate to learn and willingness to stay current with their technical skills
Ability to breakdowns problem into meaning components for developers to work on
Ability to identify, own and solve problems independently or as part of a team
Experience working on an Agile development team