Principal Software Engineer


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:

Principal 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!

As a Software Principsal Engineer, you will be responsible for developing sophisticated systems and software basis for the customers business goals, needs and the general business environment creating software solutions. Our Software Engineers create solutions. As part of the team, you will analyze the customers business goals, needs and general business environment to design technical system answers.

Principal Responsibilities:

  • Leads and supervises development of complex features across team.
  • Defines the technical vision for large-scale projects.
  • Defines/review coding standards and develop mission-critical features.
  • Set guidelines for the team, ensuring code quality across projects.
  • Identify systemic issues and suggest improvements in team practices.
  • Leads and supervises the solution of highly complex technical issues within his team and across organization.
  • Identifies and mitigates technical risks at the organizational level.
  • Optimize code for efficiency, scalability, and maintainability.
  • Identifies and follow up on testing strategies needs per solution.
  • Ensures testing frameworks align with organizational goals and standards.
  • Architect large-scale systems, ensuring scalability and performance.
  • Define documentation standards and best practices for the organization.
  • Ensure critical systems and processes are thoroughly documented.

Skills:

  • 8 - 12 years of Software Development experience
  • Hands-on in Java Programming, J2EE, Spring, Spring Boot, Rest API, Data Structures, Design Patterns, Oracle Database.
  • Hand on Experience in CSS, Angular, ReactJS, etc.
  • Relevant experience in Java frameworks such as Spring Microservices, Spring-Boot etc
  • Hands-on experience with designing, developing, and maintaining automated test suites using frameworks such as Selenium and other relevant tools.
  • Experience with writing comprehensive unit, integration, and end-to-end tests to ensure application reliability and performance.
  • Experience with CI/CD pipelines and tools like Jenkins, GitHub Actions.
  • Experience in Messaging Service such as JMS.
  • 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
  • The 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:

  • Experience working in Linux/Unix environments.
  • PL/SQL
  • Experience in Application Servers such as Wildfly,JBoss and Tomcat.
  • Experience in Azure or AWS Development and Deployment, Active Directory, Containerization
  • Domain knowledge of the information security/IAM industry is desirable.
  • Understanding security fundamentals (e.g., authentication, cryptography) is desirable.