Penn Mutual is a company that has empowered individuals, families, and businesses for over 175 years. They are seeking a Staff Software Engineer to design, deliver, and evolve complex software systems that support business needs while providing technical leadership and guidance to teams.
Responsibilities:
- Lead the design, development, and implementation of complex software systems and applications
- Collaborate with cross-functional teams to understand project requirements and translate them into technical specifications
- Provide technical leadership and guidance to junior and mid-level engineers, including mentoring, code reviews, and knowledge sharing
- Drive innovation and propose new solutions to improve processes, technologies, and product offerings
- Architect scalable and maintainable software solutions that meet performance, reliability, and security requirements
- Lead efforts to diagnose and troubleshoot complex technical issues and implement effective solutions to ensure system stability and performance
- Stay up to date with emerging technologies and industry trends and evaluate their potential impact on our products and processes
- Communicate effectively with stakeholders at all levels, including technical and non-technical audiences, to convey technical concepts and decisions
Requirements:
- Bachelor degree in Computer Science, Engineering, or a related field (Masters degree preferred)
- 10+ years of professional experience in software development, with a strong track record of delivering high-quality software solutions
- Proficiency in one or more programming languages such as Java, C#, Python, or JavaScript
- Experience with UI frameworks (e.g., React, Angular, Django, Flask)
- Experience with API frameworks (e.g., Spring Boot, Express)
- Deep understanding of database systems and SQL, with experience in designing and optimizing database schemas or usage patterns
- Strong knowledge of application architecture and design patterns
- Strong problem-solving skills with the ability to analyze complex technical problems and propose/implement effective solutions
- Excellent communication and collaboration skills, with the ability to work effectively in a team environment and interact with stakeholders at all levels
- Experience with cloud computing platforms - AWS and containerization technologies (e.g., Docker, Kubernetes)
- Knowledge of Infrastructure as a Service concepts and tooling (Cloud Formation, Teraform, etc.), deployment automation tools (Jenkins, GitHub Actions, Bamboo, etc.)
- Knowledge of software development methodologies such as Agile or Scrum
- Previous experience in leading or mentoring junior engineers