Pennymac is looking for a Principal Software Engineer to provide strategic guidance, designs, and solution patterns to team members, acting as the 'chief architect' for a sub-product. The role involves driving and collaborating throughout the development lifecycle, optimizing requirements with business analysts and customers, and validating key functionality and integration with developers, ensuring the feasibility of design and integration with existing systems/platforms.
Requirements
- Expert level knowledge of Python 3, Object-Oriented Code & Design Patterns
- Strong Experience with Python frameworks (e.g. Fast API, Flask, Django)
- Strong Experience with REST APIs
- Strong Experience with Git
- Strong Experience Writing Unit Tests
- Experience with Event Driven Systems & Microservices
- Experience with Amazon Web Services (AWS) and serverless
Responsibilities
- Responsible for providing strategic guidance, designs, and solution patterns to team members, is the “chief architect” for a sub-product/s.
- Serves as a driver and collaborator throughout development life cycle, partnering with business analysts and customers to review and optimize requirements
- working with developers to review and validate key functionality and integration.
- Responsible for ensuring feasibility of design and integration with existing systems/platforms.
- Provide technical leadership and guidance to more junior engineers
- Capable of owning technical design for projects of moderate complexity, and understands the tradeoffs in creating good software
- Ability to understand the capabilities and limitation of existing software and demonstrate a preference to extend, re-use and integrate with them effectively while also improving them
Other
- Degree in computer science, engineering or similar major
- 5 years of experience with software development
- Demonstrated ability to master at least one major skill outside of core coding such as monitoring, documentation, security, integration testing, visual design, devops, performance optimization
- Demonstrated ability to understand, facilitate or actively participate in multi team or multi sub-product scrum activities and rituals, help others to understand them
- Demonstrated ability to effectively convey complex technical topics in ways that that could be easily understood by engineers, POs, PMs or nontechnical colleagues