The Principal Software Engineer is a key member of the engineering team responsible for the design and development of software products and services. This individual is responsible for providing technical leadership, developing and leading a team of software engineers, and maintaining the quality of the software products.
Responsibilities:
- Lead the development of software products from concept to completion
- Develop technical specifications, architectures and designs for software products
- Develop, maintain, and extend the software development process
- Establish coding standards and best practices
- Mentor and guide junior and senior software engineers
- Work with cross-functional teams to troubleshoot and resolve software issues
- Identify and evaluate new technologies and trends
- Create and document internal processes and procedures
- Manage the software development life cycle
- Monitor the performance of software products and services
- Create, maintain and update project plans
- Manage stakeholders to ensure project success
- Monitor software development projects to ensure on-time, on-budget delivery
- Ensure software quality and security standards are met
Qualifications
- Bachelor’s degree in Computer Science, Software Engineering, or related field.
- Minimum 5 years of software development experience, preferably in a leadership role.
- Experience in designing and developing software solutions.
- Expertise in at least one programming language.
- Knowledge of software development best practices, such as Agile and Waterfall.
- Knowledge of system architecture and design principles.
- Ability to effectively mentor and lead a software development team.
- Excellent problem solving, communication, and collaboration skills.
- Experience with modern web technologies and APIs.
- Ability to work independently and as part of a team.