Principal Engineer Role -
* Permanent £90,000pa OR Contract to Perm
* Immediate start
* C++ Engineer, with experience on working with Apple platforms such as Mac and IOS.
As a Principal Software Engineer, your role focuses on developing and delivering the core products offered to clients. You excel at turning requirements or designs into high-quality, operational software solutions. At this level, you influence multiple products and contribute to the design of product lines. You are committed to the highest standards of design and quality, as the functionality of the product is your ultimate responsibility. Mentorship is a key part of your role, guiding other engineers while fostering collaboration. You are open to feedback, adapt to change, and effectively navigate ambiguity to create impactful designs with minimal guidance.
Responsibilities:
* Design and develop software across multiple product areas.
* Collaborate with other teams to enhance their products as needed.
* Maintain quality through unit testing and adherence to secure development practices.
* Develop and optimize software in languages such as C, C++, Assembly, Swift, and Objective-C.
* Utilize development tools like Xcode, TestFlight, and related platforms.
* Perform reverse engineering and debugging of mobile apps to assess security vulnerabilities and validate protection measures.
* Implement features to prevent reverse engineering, tampering, and unauthorized access using obfuscation, encryption, and other techniques.
* Analyze mobile app vulnerabilities and recommend robust security solutions.
* Provide technical support for escalated customer issues.
* Document all aspects of the applications under your responsibility.
* Share knowledge and skills across the team to foster growth and collaboration.
* Propose enhancements to products, processes, or internal tools to improve security, performance, and cost-effectiveness.
* Identify and escalate technical risks to management.
* Mentor and support the professional growth of other software engineers.
* Participate in the hiring process for software and automation engineers.
* Create and refine designs with minimal guidance and collaborate with software architects.
* Stay updated on emerging threats, vulnerabilities, and trends within the industry.
Qualifications:
* Bachelor’s degree in computer science or a related field with a strong foundation in software engineering.
* Proficiency in at least three programming languages.
* 15+ years of experience in software engineering.
* Proven ability to work independently with minimal supervision.
* Strong skills in creating designs and translating them into actionable plans.
* Excellent communication skills, including documentation.
* Advanced understanding of software development processes and architectural patterns.
* Knowledge of business requirements and their impact on software development.
* Certifications in cybersecurity (e.g., CISSP, CEH, OSCP) are a plus.
* Familiarity with machine learning or AI applications in security is a bonus.
Technical Skills:
* Expertise in C, C++, and Assembly programming.
* In-depth understanding of mobile app security and core security principles.
* Strong knowledge of encryption, authentication, and secure coding practices.
* Proficiency in reverse engineering and debugging tools (e.g., IDA Pro, Ghidra, Frida).
* Strong analytical and problem-solving abilities.
* Experience in Android development, including tools like Android Studio and Kotlin, is an advantage.