he C/C++ Software Engineer is responsible for the design and development of Cayan software components that are deployed to our countertop and handheld Payment Capture terminals (Genius)
The C/C++ Software Engineer is responsible for the design and development of Cayan software components that are deployed to our countertop and handheld Payment Capture terminals (Genius). The Genius products are highly secure devices capable of handling contact and contactless smart cards, Android Pay, Apple Pay, Samsung Pay etc., as well as providing value added services for both the Merchant and paying customer. Working within a team of more experienced engineers, the Software Engineer will develop primarily on C++ and C, and is responsible for utilizing a variety of web protocols to integrate capabilities to our payment partner’s Point of Sale systems (PoS), providing web services to PoS, and consuming web services from our Payment Gateway.
- Design and develop applications to leverage traditional card and evolving mobile payment technologies, including Smart Card (“Chip and PIN”), Contactless Cards, Android Pay, Apple Pay, Samsung Pay etc.
- Use C++ and C programming languages to deliver high quality, easily maintainable production code
- Develop secure software, using hardware acceleration and trusted computing modules to securely capture, store and transmit sensitive payment data
- Implement secure end-to-end transactions, featuring synchronous and asynchronous cryptographic algorithms and digital signatures
- Use SOAP and JSON based web technologies as both client and server within the payment ecosystem
- Participate in the entire software development lifecycle, from requirements analysis through software and test design, implementation and unit testing, to verification and release.
- Learn and apply software design principles, including coupling/cohesion, decomposition/modularity, encapsulation/information hiding, and separation of interface and implementation
- As part of a customer-focused team, seek understanding of and value in our customer’s requirements, and actively shape the product from an engineering standpoint
- Participate in team workshops to generate ideas and high-quality technical solutions – picking the right solution whilst balancing idealism and pragmatism
- Assist with troubleshooting and repairing defects
- Simplify and improve existing technical methodologies
- Adhere to and apply overarching internal practices and policies with respect to coding standards, unit testing, lean development, and status reports.
- BSc or MSc or equivalent in Computer Science or related field
- Working experience in C++ or C (and ability to learn C++ if only C background)
- Experience of at least one of XML, JSON, HTML
- Experience in Linux development is advantageous
- Experience with Design Patterns, Refactoring, OO Design and related areas is advantageous
- Passion for and self-motivated interest in Software Development as a profession, not just a job
- Strong analytical, problem-solving, communication and organizational skills
- Must be proactive, self-motivated, attentive to detail, and able to work well under pressure
- Strong communication skills
- Team player with a desire to learn from more experienced engineers and develop themselves
- Able to take ownership of, and responsibility for, assigned work
- Eligibility to work in UK on a full time and permanent basis.
In addition to a very competitive salary we also provide an excellent benefits package including: private medical care, health cash plan, contributory pension, life insurance and income protection.
You also get to work in an award winning office and enjoy 25 days annual leave + 10 public holidays in addition to many other little perks such as lunch every other Friday, fresh fruit and more.
For more information, please visit cayan.com/engineering