Sr Software Developer
Ingenico Group
Ingenico is the global leader in payments acceptance solutions. As the trusted technology partner for merchants, banks, acquirers, ISVs, payment aggregators and fintech customers our world-class terminals, solutions and services enable the global ecosystem of payments acceptance. With 40 years of experience, innovation is integral to Ingenico’s approach and culture, inspiring our large and diverse community of experts who anticipate and help shape the evolution of commerce worldwide. At Ingenico, trust and sustainability are at the heart of everything we do.
Summary:
The Senior Software Developer is responsible for developing applications for POS terminals and other payment solutions. Proficiency in Java or Kotlin language, Object Oriented Programing and some level of experience writing unit tests are required. A proven ability to create design specifications and develop software that meets customer requirements, fulfills overall product requirements, and achieves defined performance criteria is important. The role applies structured development methodologies, code documentation, unit testing, and continuous integration to enhance overall software quality. Developer must thrive in a focused, productive, high-intensity, and team-oriented environment. You will be part of a highly skilled, enthusiastic scrum team that is developing business solutions in an energetic and agile organization.
Essential Functions/ Responsibilities:
Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
- Design, develop and maintain user interfaces and underlying functionality for embedded point-of-sale applications that handle secure payment processing
- Design, develop and maintain POS solutions
- Contribute to all phases of the development lifecycle.
- Implement industry standard protocols and adapt customer protocol specifications to match product capabilities.
- Create application design specifications (sequence and state-transition diagrams) and participate in architectural reviews.
- Create, maintain, and execute application unit tests as part of Continuous Integration.
- Analyze bug reports and manage the defect resolution process (disposition issues, resolve issues, and report issue status).
- Work closely with QA staff to ensure appropriate test cases are created, maintained, and executed.
- Assist with project and task estimation.
- Routinely perform code reviews to ensure high quality designs and implementation Assist in ensuring quality and timeliness of product/feature development.
- Proactively solve problems and work independently and within a team environment, with limited guidance.
Competencies / Skills /Education Requirements Required:
- BS/MS degree in Computer Science, Engineering, or a related subject.
- 4+ years of Java and/or Android software development experience
- Experience using advanced Kotlin
- Must have experience architecting and developing multithreaded applications, preferably in embedded systems.
- Strong analytical and problem-solving skills with demonstrated attention to detail.
- Object oriented analysis and design using common design patterns.
- Excellent understanding of coding methods and best practices.
- Strong knowledge of system and software quality assurance best practices and methodologies.
- Hands-on experience developing unit test cases and requirements.
- Excellent communication and organizational skills.
- Must be a self-starter who is highly organized, hands-on, and focused on continuing professional development.
Competencies / Skills Requirements Preferred:
- Prior experience in POS and retail enterprise-level application integration and support.
- Prior experience in C/C++ development.
- Knowledge of EMV.
- Experience with POS Hardware and peripherals.
- Knowledge and expertise of PCI technology, transaction processing, and related retail standards.
- Knowledge of applicable data privacy practices and laws.
- Experience with Python, Perl, or Ruby scripting.
- Experience with build system tools (Cmake, Ninja)
- Continuous Integration experience with Bamboo or Hudson.
- Prior experience working within an Agile development methodology (Scrum, Kanban, XP, Lean, etc.).
- Prior experience with UML.
- Experience using Atlassian tools (Jira, Bamboo, FishEye, Confluence, etc.).
- Experience using code versioning tools (Tortoise SVN, Git).
- Familiarity with Service Oriented Architecture.
Supervisory Responsibility:
This position does not have direct supervisory responsibilities but does serve as a coach and mentor for other positions in the department.
Physical Demands:
The physical demands described here are representative of those that must be met by an employee to successfully perform the essential functions of this job.
While performing the duties of this job, the employee must be able to remain in a stationary position throughout 75% of the day. The person in this position needs to occasionally move about inside the office to access file cabinets, office machinery, etc. This position requires the constant operation of a computer and other office productivity machinery, such as a calculator; copy machine, and computer printer. The person in this position frequently communicates with both internal and external clients. Must be able to exchange accurate information in these situations.
Work Environment:
This job operates in a professional office environment.
Travel:
Travel is not required
AAP/EEO Statement:
Ingenico provides equal employment opportunity to all individuals regardless of their race, color, creed, religion, gender, age, sexual orientation, gender identity, national origin, disability, veteran status, or any other characteristic protected by state, federal, or local law. Further, the company takes affirmative action to ensure that applicants are employed, and employees are treated during employment without regard to any of these characteristics. Discrimination of any type will not be tolerated.
Other Duties:
Please note this job description is not designed to cover or contain a comprehensive listing of activities, duties or responsibilities that are required of the employee for this job. Duties, responsibilities, and activities may change at any time with or without notice.
As part of our values, we embrace diversity and inclusion at Ingenico. We are an equal opportunity employer and do not discriminate on the basis of an individual's race, national origin, color, gender, gender identity, gender expression, sexual orientation, religion, age, disability, marital status or any other protected characteristic under applicable law, whether actual or perceived.
We want to adapt our processes and create a safe work environment that welcomes everyone.
To learn more about what it's like working inside Ingenico, follow us on LinkedIn