Job Description:
One of the worlds leading multinational companies specializing in cybersecurity and risk management solutions is expanding its team in Egypt.
We are currently hiring:
Senior Software Engineer (Java)
We provide trusted identity and access management for 12,000 organizations around the world, managing 25 million enterprise identities and providing secure, convenient access to millions of users. We specialize in empowering security-first organizations in financial services, healthcare, energy, technology services, and other industries to thrive in a digital world, delivering complete capabilities for modern authentication, access, lifecycle management, and identity governance. Whether in the cloud or on-premises, we connect people with the digital resources they depend on everywhere they live, work, and play.
For decades, we have pioneered many of the encryption, authentication, and identity federation technologies that still power the internet. And now we are transforming the industry yet again, paving the way for the future of digital identity through our Unified Identity Platform; next-generation hybrid and cloud solutions; the first ever and only multi-functional, passwordless hardware authenticator; and a frictionless, mobile-optimized experience for the modern workforce. If you are self-motivated and looking for a fast-paced challenge doing something that truly matters, come join our winning team!
You will be part of the team responsible for designing, implementing and integrating breakthrough enterprise security features in the next generation of our ID Plus Cloud Access Service. This exciting opportunity will allow you to apply your skills in software design and development to solving real-world information security problems for our customers. Come join us!
Principal Responsibilities:
- Contributes to development of high-quality complex features and modules.
- Develops high quality, complex features across multiple modules.
- Drive the adoption of coding best practices
- Conducts in-depth reviews, ensuring adherence to best practices, focusing on scalability, performance, and maintainability.
- Mentor others during the review process to improve their coding skills.
- Leads efforts to solve highly complex technical issues within the team.
- Anticipate potential problems and design preventive solutions.
- Implement comprehensive testing strategies (unit, integration, performance, e2e,...) to ensure code quality. Optimize code for efficiency, scalability, and maintainability ..
- Identifies and follow up on testing strategies needs per solution.
- Contribute to designing complex systems impacting multiple teams.
- Write comprehensive documentation for complex systems and designs.
- Ensure team documentation is accurate, up-to-date, and accessible.
- Provide guidance and support to junior engineers as they learn the ropes.
Skills:
- 5-8 years of experience developing object-oriented software with significant experience in Java
- Hands-on in Java Programming, J2EE, Spring, Rest API, Data Structures, Design Patterns.
- Hands-on in Relational/NoSQL databases.
- Relevant experience in Java frameworks such as Spring Microservices, Spring-Boot, Junit, etc.
- Experience on UI frameworks like Angular, Ember, React
- Must be hands on with Object Oriented concepts along with passion for design patterns and applicability.
- Ability to speak and write clearly in a variety of communication settings and styles
- Excellent analysis, critical thinking, and problem-solving skills
- Ability to quickly learn and apply new concepts or principles
- Ability to work effectively as part of global team
- Experience working in an agile environment.
- Ability to code/debug more complex programs using either written or verbal design specifications
- Ability to achieve mastery of new tools, languages, and operating systems with training and on-the-job experience.
Education & Experience:
- Computer/Internet Security
- Cloud based development (i.e. Azure/AWS Development)
- Directories (e.g. Active Directory, OpenLDAP)
- Development, build and continuous integration tools (e.g. IntelliJ, Gradle, Jenkins)
- Agile software development processes and tools (e.g. JIRA, Git/Github)