Software Engineer II
Listed on 2026-06-26
-
Software Development
Software Engineer, AI Engineer (Applied/Software), Machine Learning/ ML Engineer
Mission of the Role
This position will be located at our Canton, MA office.
The Software Engineer II plays a key role in designing, developing, testing, and supporting software solutions across the full lifecycle of SICK products and platforms. Operating with increased independence, this role drives technical execution across development projects, enhances software performance and reliability, and contributes to the advancement of SICK's software ecosystem. The Software Engineer II collaborates closely with global, cross functional teams and supports strategic technology initiatives - delivering high quality, scalable, and secure solutions aligned with SICK's technology vision.
Key ResponsibilitiesSoftware Development
- Independently execute software design, development, and implementation tasks following SICK's development processes, including compliance with design control, quality standards, and regulatory requirements.
- Lead enhancements, maintenance, and release activities across the software lifecycle, including major and minor versions, patches, updates, and long-term support.
- Develop prototypes, proofs of concept, and MVPs to validate new ideas and derisk project uncertainties.
- Collaborate with internal and external development partners to meet technical, cost, and schedule expectations.
- Provide technical input during requirements refinement and architectural discussions.
Testing & Quality Assurance
- Plan, design, and execute comprehensive test procedures to validate functionality, performance, reliability, and security.
- Conduct and sometimes lead code reviews, ensuring adherence to best practices, coding guidelines, and secure development standards.
- Troubleshoot, debug, and resolve complex software issues, proposing shortterm fixes and longterm systemic improvements.
Cross-Functional Collaboration
- Work closely with Product Management, Engineering, and Quality teams to translate technical requirements into actionable development tasks.
- Contribute to backlog refinement, estimation, and risk identification during project planning.
- Communicate technical decisions, project updates, and risk mitigation strategies clearly to technical and nontechnical stakeholders.
Documentation & Reporting
- Create, maintain, and review technical documentation including design specifications, test plans, change logs, and release notes.
- Support software change management and release documentation processes.
Continuous Improvement & Learning
- Proactively maintain expertise in SICK platforms, technologies, and development tools.
- Evaluate and introduce new technologies, frameworks, and development practices that support innovation and efficiency.
- Mentor Software Engineer I team members through informal coaching, code reviews, and knowledge sharing.
- Contribute to process and product improvement initiatives.
Machine Vision, Algorithms & Emerging Technologies
- Design, implement, and optimize classical and machinelearningbased algorithms for detection, inspection, automation, classification, tracking, and prediction using SICK 2D/3D cameras and programmable devices.
- Employ advanced techniques-such as deep learning-to enhance system accuracy, robustness, and scalability.
- Partner with internal teams to evaluate machine vision use cases and develop highvalue solutions.
- Maintain knowledge of modern hardware technologies, vision software frameworks, and AI/ML tool chains.
- Perform full engineering responsibilities including estimation, requirement analysis, technical risk assessment, and solution design.
Perform other duties as may be assigned or required by management.
Key Qualifications- Experience
: 2+ years of software development experience. - Education
:
Bachelor's degree in Computer Science, Electrical Engineering, Software Engineering, or equivalent experience is required. - Position-specific Qualifications
- Strong problem solving, debugging, algorithmic thinking, and system design abilities.
- Solid understanding of data structures, design patterns, and modern software engineering principles.
- Proficiency in programming languages such as C++, Python, or Lua, with the ability to work across multiple languages as needed.
- Demonstrated experience with multithreading, multiprocessing, interprocess communication, networking, or distributed systems.
- Experience with version control (Git), code review workflows, CI/CD, and issue-tracking systems.
- Familiarity with web fundamentals (HTML, CSS, JavaScript, REST/JSON, HTTP) and ability to develop simple UI tools or prototypes.
- Ability to evaluate, integrate, and optimize third party or open-source software components.
- Experience monitoring, optimizing, and improving system performance and stability.
- Experience designing or deploying machine vision / computer vision systems, including image processing or AI/ML-based methods.
- Exposure to training or operationalizing deep learning models.
- Comfortable using AI-assisted development tools such as Git Hub Copilot or Claude Code.
- Strong communication skills with the ability to share technical information…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).