Job Description
As a Software Engineer you will work as part of an Agile software team designing, building, validating and maintaining our client's applications.
Responsibilities:
*Develop new applications and help migrate existing systems to micro-service architecture.
*Maintain existing applications in legacy Distributed Management System written in C/C++
*Work closely with Business Analysts and Technical Managers to understand user requirement and design and develop applications to meet customer needs.
*Work closely with customers and project engineers to identify issues and improve code quality
*Implement automated unit tests and scenario tests to ensure release quality.
Requirements:
*Degree in Information Systems, Information Technology, Computer Science, Software Engineering, Power Analysis or other degree with relevant experience.
*Experience writing software in C or C++
*Experience with Oracle, SQL and other database technologies
*Experience in all or some of the following technical skills:
- Python, Java, C#, Perl, Shell Programming, PL/SQL, Javascript, JSON, Angular, XML, SOAP
- CppUnit, Junit or similar
- Linux operating systems
- Interprocess communication (TCP/IP, UDP), Multithreading programming
- RESTful services, Web Sockets, Web Application development
- Open Source Software (Apache HTTP Server, Apache Kafka, Apache Cassandra, Kubernetes, Jboss)
*Experience in configuration management tools (Clearcase/Git)
*Experience working in software development methodologies (Scrum/KanBan)
*Familiarity with the electrical domain or power analysis an advantage.
Desired Characteristics:
*Work well as part of a team or independently, showing initiative when overcoming obstacles
*Display a natural ability to learn.
*Able to improve product quality displaying strong refactoring skills.
If the above sounds like you, please do not hesitate to get in touch!
