Camlin is looking for software developers to join its market-leading design teams. The successful applicant can expect to join a growing development team. While being able to work closely with others he or she will also need to demonstrate the ability to work independently. 

We currently have an opportunity for a highly motivated and talented software developer to enhance our dynamic software engineering team. The successful candidate will develop Linux application software for a communications gateway that exchanges information between various devices, with advanced monitoring and automation capabilities, and a backend server. This role would be perfect for an ambitious developer who relishes solving challenging problems and creating innovative, efficient and robust solutions that make a difference for our customers.


Responsibilities include: 


• Understand domain and product requirements in order to design, develop and test high quality applications for embedded systems  

• Design and develop high quality code as well as unit and component tests within a continuous integration environment  

• Co-ordinate with the Product Owner, team members and other stakeholders to meet business objectives  

• Participate in project planning sessions and providing estimates  

• Produce clear and concise technical specifications  

• Configure and maintain development environments  

• Participate in end to end system integration testing  

• Investigate new technologies and continually improve technical knowledge and skills  

Required Criteria

• A degree in software engineering or equivalent  

• At least 2 years’ experience in application development in C/C++ 

• Proven ability to develop applications in Linux userspace 

• Practical knowledge of commonly used C++ design patterns and libraries 

• Experience with one or more scripting languages e.g. python, bash 

• Knowledge of source code revision control e.g. GIT 

• Fluent in English, both written and verbal 

Desired Criteria

• Practical experience with C++11 or higher 

• Experience using unit and component test frameworks e.g. CppUnit, Cucumber 

• Experience using javascript frameworks such as React and nodejs 

• Knowledge of industrial protocols e.g. DNP3 

• Basic knowledge of relational databases e.g. SQLite 

• Practical experience developing applications for embedded platforms  

• Familiarity with Yocto project 

• Familiarity with Behaviour deruven development 

• Experience working in an Agile environment with continuous integration. 

Personal Attributes

• Ability to communicate effectively with clients and colleagues.   

• Quality focused with an understanding of advances in computer technology and how this affects the business environment   

• Adaptable and able to pick up new techniques   

• A positive "can do" enthusiastic attitude towards addressing the technical challenges facing Camlin and our clients   

• Conscientious individual demonstrating attention to detail along with high levels of ownership and commitment   

• Motivation to create high quality products and systems and learn new skills.  

Working Hours

8:30 am - 5:00 pm Mon- Fri - Flexibility required

Reporting To

Software Engineering Manager


Very competitive salary & employee benefits