Principal Software Engineer (Direct Hire)
Woodridge, IL
Job Requisition: 7387
Description for Principal Software Engineer:
The Principal Software Engineer will lead the design, development, and execution of our client’s next-generation automation software platform, serving as both a technical expert and a mentor to the engineering team. This role is responsible for making key architectural decisions, setting development standards, and ensuring the delivery of scalable, resilient software systems that support automation initiatives. The engineer also fosters a high-performance culture, directly contributing to coding efforts while guiding the broader technical strategy.
Responsibilities for Principal Software Engineer:
- Lead and manage a team of software engineers, providing mentorship, coaching, and career development support.
- Define and implement effective software development processes and methodologies.
- Champion best practices in software development and review team deliverables, ensuring adherence to coding standards, architectural principles, and quality assurance processes.
- Identify opportunities for improvements in team efficiency and effectiveness and propose solutions.
- Foster a collaborative and inclusive team culture, promoting knowledge sharing, continuous learning, and innovation.
- Clearly define objectives for each member of the team, conduct regular performance reviews, provide constructive feedback, and identify opportunities for growth and improvement.
- Stay updated on industry trends, best practices, and technological advancements to ensure the team remains competitive and innovative.
- Act as a point of contact for technical escalations and provide timely resolutions.
- Maintain effective communication channels within the team and across departments to ensure transparency and alignment on project goals and priorities.
- Up to 25% travel to client sites across North America to support launch activities and post-launch projects.
Requirements for Principal Software Engineer:
- Bachelor’s degree in Computer Science, Engineering, or a related technical field.
- Proven experience (7 years) in software development, with at least 3 years in a leadership or management role.
- Strong understanding of software engineering principles, architecture, and development processes.
- Proficiency in programming languages such as Java, Go, JavaScript and C.
- Knowledge of modern frontend web application technologies and frameworks.
- Experience with relational and NoSQL databases, such as PostgreSQL, MySQL, MongoDB, or Redis.
- In-depth understanding of software architecture principles, design patterns, and best practices and ability to mentor junior developers in the same.
- Excellent communication skills with the ability to interact effectively with technical and non-technical stakeholders.
- Demonstrated ability to lead and motivate a team to achieve goals and milestones.
- Experience with agile methodologies and project management tools (e.g., JIRA, Agile, Scrum).
- Ability to thrive in a fast-paced, dynamic environment and manage multiple priorities effectively.
- Strong problem-solving abilities and a proactive approach to addressing challenges.
Nice to Have:
- Experience with cloud platforms such as AWS, Azure, or Google Cloud.
- Familiarity with warehouse automation systems, robotics, or related technologies-
- Certification in agile methodologies (e.g., Certified Scrum Master).