Senior Software Engineer
Play a key role in designing and creating Identity & Access Management (IAM) Solutions as well as
developing applications written in Java/J2EE technologies. Work in a team to design, develop, test and
maintain Telematics Software platform.
Duties and Responsibilities:
¿ Design and develop new technical Identity & Access Management (IAM) components.
¿ Work closely with Architecture Team to identify key IAM technical components, translate these
into project requirements and assist in prioritizing development efforts.
¿ Design and develop secure web applications using the latest Web Standards and Specifications.
¿ Design and develop Single-Sign-On solutions for clients
¿ Analyze, design, and implement software solutions of varying complexity, including server-side
¿ Work in an Agile S/W development environment with frequently changing requirements
¿ Provide technical mentorship and guidance to junior team members
¿ Provide well-written design documents from requirements documents (even loosely specified
¿ Support existing software including development of enhancements, defect resolution, determining
and resolving performance issues, debugging, upgrading, deployment and migration.
¿ Participate in, coordinate, or conduct Software Engineering activities to mature the Telematics
software infrastructure including architecture, design, methodologies, best practices, standards,
¿ Performs all other duties as assigned.
o Design and create Identity & Access Management (IAM) Solutions using ForgeRock
OpenAM, OpenIDM and OpenDJ/OpenDS.
o Perform assessments and performance analysis to support, design, and develop new
technical Identity & Access Management (IAM) components.
o Ensure appropriate collection and analysis of technical/functional requirements based on
critical client IAM use cases and expectations.
o Conduct in-depth technical IAM research.
¿ B.S. in Computer Science or related field is required.
¿ At least 7 years of development experience in Java/J2EE web applications as well solid
Requirements and General Skills:
¿ Utilizes sound decision making skills and communicates well with other team members and
¿ Identifies problems and recommends solutions.
¿ Performance will be measured by his/her ability to deliver quality applications on time.
¿ Works in a team environment, including cross-functional teams and teams with business users
throughout the company.
¿ Excellent oral and written communication skills.
¿ Participates in meetings and conference calls with clients.
¿ Initiative to research and learn emerging technologies.
¿ Completes additional duties as required.
¿ Experience in secure web applications while adhering to OWASP and OASIS recommendations.
¿ Experience in designing and developing RESTful web services using both XML and JSON.
¿ Solid understanding of the architectural concepts of Identification, Authorization, and
¿ Experience with SAML2, OAuth 2.0, and OpenID Connect.
¿ Strong understanding of directories, LDAPv3, LDAP Schema, and LDAP Replication.
¿ Strong understanding of PKI, encryption, certificate management etc.
¿ Basic understanding of RDBMS and relational databases.
¿ Java/J2EE software development experience in a UNIX/Linux environment
¿ Strong foundation in Object Oriented Design techniques
¿ Experience in: JDK 1.8, JUnit, JSP/Servlets
¿ Experience working with different Application servers
¿ Frameworks like Struts, Spring
¿ Knowledge of TCP/IP and related protocols - theoretical and also practical
¿ Experience in building and maintaining scalable and distributed systems
¿ Good SQL skills with knowledge of Oracle/DB2 RDBMS
¿ Experience with version control software such as Git, SVN, CVS etc.; experience with IDE such
¿ Excellent written and verbal communication skills, ability to work across organizational
¿ Proven success in delivering working solutions under tight deadlines
o At least 2 years of design and development experience in ForgeRock tools including
OpenAM, OpenDJ, and OpenIDM.
o Basic knowledge of UMA.
o Experience in designing and building scalable web services
o Experience with NoSQL databases
o Server knowledge (at least one) : JBoss, Tomcat, Spring Boot, Jetty
o Test Driven Development: Experience using JUnit, and mocking frameworks like
PowerMock and EasyMock