Descripción del Trabajo
Kasalis is a global supplier of advanced automation and production systems for the active alignment, assembly, and test of leading-edge optical devices and electro-optical systems including compact camera modules, NIR and visible light projectors, LiDAR systems, augmented reality systems, and structured light 3D sensing systems. We work on innovative, state-of-the-art technologies from some of the world’s most recognizable brands in the technology space.
Kasalis is part of Jabil, one of the top manufacturers in the world, with more than 200,000 employees worldwide in over 100 facilities.
About the Job
We are searching for a talented and motivated Software Engineer with good analytical skills, strong programming ability, and a detail-oriented troubleshooting attitude to develop advanced algorithms for precision, automated manufacturing of optical devices. We need someone who thrives working in a small team environment with tight deadlines, takes pride and ownership of their work, and delivers high quality solutions. As a small team developing our own manufacturing automation platform, we have a lot of freedom in selecting which technologies we use. In this role you’ll be exposed to a varied tech stack of both in-house and externally sourced components. You’ll also get to work with mechanical and electrical systems that are controlled by your software. A key part of the role is thinking out of the box to apply cutting edge software technologies to the field of manufacturing automation.
Essential Duties and Responsibilities
- Develop software and algorithms to meet required functionality of our active alignment and test systems.
- Develop new alignment and test algorithms that result in a reliable and fast alignment and/or test processes.
- Hands-on integration and development on our active alignment platforms.
- Ensure high-quality product by developing and executing test plans.
- Integrate, debug, and troubleshoot in a hardware and software environment.
- Participate in project planning, technical reviews and status meetings.
- Occasional On-site factory visits in the US, Europe, and Asia for system installation and support working with customers and our Jabil partners.
- Experience programming in multiple languages (at least one Object-Oriented) with the flexibility to pick up new ones. Throughout various components of our system we touch on Python, C++, C#, IEC-61131-3 Structured Text, and Rust. Integrating new technologies may require learning new languages.
- Strong problem solving / debugging skills, both in software and basic hardware (simple mechanical and electrical components).
- Strong verbal and written communication skills.
- Ability to interact with customers and stakeholders.
- Ability to develop, test, and implement novel and complex algorithms and control systems.
- Ability to resolve complex issues in creative, efficient, methodical, and effective ways.
- Strong data analysis and problem-solving skills.
- Work well in a team environment.
- Ability to work on challenging assignments with aggressive schedules.
Some set of the below skills would be desirable, but areas where a candidate is lacking can be learned on the job.
- Experience programming in Python, C++, C#, and/or Rust.
- Experience with factory automation software and machine control, such as Beckhoff and/or B&R.
- Experience with machine vision and image processing, and libraries like OpenCV.
- Experience with SQL and No-SQL databases.
- Strong mathematical skills.
- Machine learning experience and knowledge.
- Knowledge and/or background in optical theory.
- Optics, image sensor, or electronics manufacturing knowledge.
- Experience with motion control or industrial robotics.
- Experience with hardware communication.
- Experience with machine process optimization (accuracy, cycle time).
Education and Experience
- BS or MS in Computer Science, Mechanical Engineering, Electrical Engineering, or similar technical field.
- Position level based on experience, from new graduate to senior developer