Principal Software Engineer – Full Stack
- 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:
- Lead Scrum team to develop Angular Jobs new native software that will be a key component of our product offering.
- Provide technical guidance in software design and development activities.
- May oversee development team and coordinate strategies amongst 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 direct the work of other team members.
- Ensure new software meets quality standards through writing unit and automated tests.
- Troubleshoot, debug, resolve product issues as they arise.
- Assist 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.
- Responsible for managing and maintaining project and work backlog; able to re-prioritize tasks as the business deems appropriate. Lead other engineers in planning, 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 from four-year college or university and 8 years’ experience, or Master’s Degree in Computer Science and 6 years’ experience with a minimum of 3 years’ experience leading teams; or equivalent combination of education and experience.
Required Skills and Experience:
- Strong experience as a Back-End Developer
- Strong experience with relational or NoSQL databases
- Strong experience with .NET and C#
- Strong experience with React or Angular
- Experience with AWS or Azure
- Experience with XML and JSON
- Experience with mySQL
- Understanding Java is a plus
- Experience working on an Agile development team
- Ability to identify, own, and solve problems independently or as part of a team