Job Responsibilities
- Develop comprehensive design strategies incorporating modern design patterns suitable for various project scales and complexities.
- Lead efforts to identify and mitigate design anti-patterns through regular design reviews and refactoring sessions.
- Implement a standardized design documentation process to ensure project clarity and continuity.
- Organize periodic training sessions for design and development teams on emerging design trends and methodologies.
- Foster a culture of innovation in design thinking, encouraging experimentation with new tools and methods.
- Coordinate with product management and engineering teams to ensure that design solutions meet technical and business requirements.
Code Quality and Security
- Establish rigorous coding guidelines to enhance code readability, maintainability, and efficiency. Promote safe coding practices to mitigate risks associated with common security vulnerabilities.
- Champion developing and integrating performance optimization techniques in the coding phase.
- Ensure adherence to industry best practices in coding to maintain a high software quality standard.
- Regularly review and update coding standards to align with the latest technological advancements.
- Lead code audits and peer reviews to foster a collaborative, quality-focused development environment.
- Integrate comprehensive security measures into the software design phase to build security for development and implementation.
- Collaborate with security specialists to ensure best security practices and standards adherence.
- Implement regular security training for design and development teams to raise awareness of secure coding practices.
- Oversee the incorporation of encryption, secure communication, and data protection mechanisms in software designs. Monitor emerging security threats and ensure timely updates to design protocols to mitigate potential risks.
- Facilitate using automated security testing tools to assess the security posture of software products regularly (SQ).
Testing and Quality Assurance
- Implement Test-Driven Development practices across all development teams to improve code quality and reduce bugs.
- Oversee design and maintenance of a robust unit testing framework that can be scaled and adapted to different projects.
- Ensure that unit tests cover all critical functionalities and edge cases, aiming for high test coverage.
- Organize training workshops on effective unit testing techniques and the importance of early testing in the development cycle.
- Review unit test plans and results to ensure compliance with initial design specifications.
- Encourage integrating unit testing results into the CI/CD pipeline to automate and streamline deployment processes.
Collaboration and Leadership
- Work with the Lead Software Engineering Process Manager to align design and engineering methodologies and ensure seamless project execution.
- Contribute to developing an integrated project lifecycle framework with key design milestones.
- Participate in cross-functional meetings to ensure design considerations are incorporated into the software development lifecycle.
- Align design review processes with broader engineering standards to ensure consistency and quality across all projects.
- Advocate for design tools that integrate easily with existing engineering process management tools.
- Ensure continuous communication between the design team and other stakeholders to align projects with organizational goals.
- Lead by example, demonstrating passion and expertise in cutting-edge software design and development practices.
- Mentor and coach team members in adopting best practices in design and fostering professional growth.
- Drive initiatives to explore and implement innovative design solutions to provide competitive advantages.
- Encourage a collaborative environment that supports knowledge-sharing and collective problem-solving.
- Stay connected with the broader tech community to bring in fresh ideas and perspectives to influence design practices.
- Set clear, ambitious goals for the design team.
Qualifications Requires a bachelor's degree in engineering, computer science, physics, or a related field and 5 years' experience as a Software Engineer, Software Architect, or closely related occupation. Also requires 3 years' experience of past coding, testing, or commissioning within the Matflo application or comparable WES/WCS within Material Handling software; Object-Oriented Programming coupled with industry-specific knowledge (such as interactions with specific pieces of equipment and Controls platforms); MHE Solutions (specifically AS/RS); Automation and continuous deployment; Agile methodologies; C and C ; applying user experience design principles to create great mobile and web UIs; and experience architecting full system solutions (Matflo or industry equivalent).
Additional Details Up to 15% domestic and international travel required to various unanticipated customer locations. Telecommuting is permitted up to 3 days per week but must be within commuting distance of a Dematic Corp. office in Grand Rapids, MI (HQ); Plano, TX; or Milwaukee, WI. Apply at