Job Description
* The Senior Software Engineer plays a crucial role in driving software development initiatives, collaborating with cross-functional teams to enhance our end-to-end automated manufacturing process.
* This position involves designing, developing, and implementing software solutions in various programming languages such as Rust, C++, Rapid Code, and scripting languages.
* The Senior Software Engineer will contribute to improving software development processes, ensuring high-quality and reliable products through thorough testing and debugging.
* Collaboration with robotics and mechatronics engineers is essential to optimize our manufacturing process by developing innovative software applications and tools.
* Responsibilities also include assisting in the continuous improvement of software development processes, tools, and methodologies to ensure high levels of productivity and efficiency.
Required Skills and Qualifications
* Demonstrable experience of using Rust, C++, and other related technologies such as scripting languages.
* A high level of competence with Git, source control systems, and Agile development methodologies.
* Proficiency in developing software on Windows/Unix/Linux-based Operating Systems, including performing administrative tasks.
* Demonstrable experience of test-driven development alongside use of automated test frameworks, mocking/stubbing, and unit test frameworks.
* Experience of working in an environment where products must be delivered to specific timescales.
* An ability to rapidly and effectively understand and translate product and business requirements into technical solutions.
* Experience of supporting, modifying, and maintaining systems and code developed by teams other than your own.
Benefits
* Opportunities for career growth and professional development.
* Collaborative work environment with cross-functional teams.
* Challenging projects that promote innovation and creativity.