The Sr. Software Engineer will work alongside other engineers in the R+D Automation Software group to develop embedded and back-end software services to support the team’s controls and system development efforts. These efforts center around custom designed multi-DOF automation systems, robots, and inspection equipment. The ideal candidate will have extensive experience developing object-oriented software for automation or electromechanical systems, with familiarity in communication protocols and motor control. Experience in developing web applications and user interfaces is also a plus. Candidates must set a strong example in developing efficient code and employing best coding practices, all while accelerating Fulfil’s rapid design cycles. There is potential for managing junior engineers in this role, though it is not a requirement.
• Bachelor’s degree in Computer Science or related field
• 3-5 years of experience in industry, deploying reliable code to large-scale production codebases
• Demonstrated expertise in C#, Java, C++, or other object-oriented programming language
• Domain experience in automation systems, actuator control, robotics, computer vision, etc.
• Experience working with databases including MongoDB and MySQL
• Experience with REST APIs and processing JSON data
• Familiarity with deploying Docker containers on Windows and Linux servers • Experience with multi-threaded and real time systems
• Demonstrates best coding practices: coding standards, source control, building techniques, unit testing
• Strong verbal and written communication skills
• Able to work independently and excel in a fast-paced startup environment Desired Qualifications
• Web application and user-interface development
• Familiarity with communication protocols, networks, servers (TCP/IP, CAN, Modbus)
• Experience hosting applications and data on cloud services such as AWS, GCP, or Azure