Associate Software Engineer
Summary: Our award-winning client is seeking an Associate Software Engineer to join their team. Collaborate with experts to design and maintain software for laboratory robots, specialize in liquid-handling and instrument-tending; partner with Manufacturing Engineering for production automation software; contribute to user interface design and development, emphasizing web applications; participate in foundational tool creation, streamlining programming; engage in hands-on troubleshooting with the Customer Care team; develop software expertise in an ISO 13485 Quality environment, upholding high development standards.Responsibilities:Collaborate with seasoned professionals to design, create, and maintain software applications for laboratory robots, specializing in liquid handling and instrument-tending.Partner with Manufacturing Engineering to craft startup, testing, and diagnostic software for production automation equipment.Acquire skills and actively contribute to the design and development of user interfaces, particularly web applications, tailored for specific applications.Participate in the creation of foundational tools using various software environments, streamlining application programming processes.Collaborate with the Customer Care team, engaging in hands-on troubleshooting of field service issues to enhance problem-solving abilities.Develop expertise in software development within an ISO 13485 Quality environment, ensuring adherence to high standards of development practices. Required Qualifications: Technical Proficiency:Proven experience in developing applications or embedded control software.Solid background in object-oriented design methodologies.Competence in Java, C/C++, Python, and Rust.Understanding of electrical interfacing, sensors, and motors.Technology Exposure:Exposure to machine vision, robotics, and mobile robots is advantageous but not mandatory; candidates with a keen interest in learning and applying skills in a real-world setting are encouraged.Programming Skills:Hands-on experience with Java and/or another object-oriented language.Competency with Integrated Development Environments (IDEs) and source control tools.Knowledge of Java-based frameworks, particularly the Spring Framework, is a plus.Familiarity with containerization tools such as Docker and Kubernetes is advantageous.Experience with relational and/or NoSQL database architecture is a plus.Communication and Collaboration:Effective communication skills are necessary.Work Environment:Previous experience in a fast-paced, team-based design environment.Additional Skills:Understanding CSS styling and HTML5 is beneficial.Familiarity with web technologies, including experience with Angular and Node, is a plus.Education:A bachelor's degree in computer science, engineering, or related fields is preferred but not mandatory. Applicants with a passion for software development and problem-solving are warmly welcomed.