About the Job
We are seeking a highly skilled and experienced Senior Software Engineer to join our dynamic team in Abu Dhabi. The ideal candidate will have a strong background in multiple programming languages and a deep understanding of security network systems, servers, virtualization, and concurrency.
Required Qualifications
- Proficiency in Rust for system-level and high-performance programming.
- Strong experience in Python and C/C++ for secure and scalable software development.
- Deep understanding of communication and cryptographic standards and technologies, such as IPSec, TLS, CMS, X.509, and MACsec.
- Strong understanding of Linux operating systems, Docker, and virtualization technologies.
- Knowledge of networking protocols and WiFi standards.
- Proficient in Bash and shell scripting.
- Experience with test planning, execution, and quality assurance, including static and dynamic code analysis.
- Knowledge in Cyber Security, including DDoS mitigation, SSL/TLS, and secure coding practices.
- Experience with concurrency and thread safety, particularly in multi-threaded and distributed systems.
- Experience in designing and implementing thread-safe code in highly concurrent applications.
- Experience in conducting thorough code reviews, focusing on security, performance, and code quality.
- Proficiency in integrating security practices into all phases of the Software Development Life Cycle (SDLC), including planning, analysis, design, development, testing, deployment, and maintenance.
- Proficient in conducting threat modeling to identify and mitigate potential security risks during the design and development phases.
- Deep understanding of secure coding practices, such as input validation, proper error handling, and secure storage.
- Familiarity with OWASP Top 10 security risks and ISO/IEC 27001 certification standards.
- Hands-on experience using tools like GitLab SAST, Klocwork, or others to perform security testing on code during development.
- Experience with advanced concurrency techniques and multi-threading in high-performance environments.
Additional Advantages
- Proficiency in Go for system-level and high-performance programming.
- Linux Kernel contributor.
- Ability to plan and execute penetration tests to evaluate the security of software applications and systems.
- Familiarity with functional programming languages.
- Experience with NixOS and packaging using flakes.
- Experience with fuzzing techniques and tools, such as AFL/libFuzzer, to proactively discover and mitigate security vulnerabilities in software.
Qualifications
- Bachelor's degree in Computer Science or a related field.
- Minimum 10 years of experience as a Software Developer/Engineer.
- Proven track record in secure software development, particularly in secure and high-performance systems.
- Strong analytical and problem-solving skills.
- Passion for staying updated with industry trends, particularly in network security, cryptography, and emerging programming languages.
- Strong Software & System Architectural mindset with the ability to design scalable and efficient system architectures that are thread-safe and support high concurrency.
The selected candidates will be invited to an interview for further discussion.