As a Principal Software Engineer, you build the products we sell to customers. You are a problem solver able to turn a requirement or a design into an operational high-quality product. At Principal level you impact multiple products and contribute to product line design. You insist on the highest standards for design and quality because a working product is ultimately your responsibility. You mentor other software engineers. You welcome input and feedback from peers and other roles in the organization and accept change as inevitable. You deal with ambiguity and come up with a design with minimal input.
Daily Software Engineers responsibilities include:
- Design and develop software for multiple areas of a Verimatrix product
- Design and develop software for multiple areas of other teams' products on demand.
- Ensure quality by creating unit tests, and follow Verimatrix’s Secure Development Lifecycle
- Develop and optimize code in C, C++, Assembly, Swift, and Objective-C.
- Utilize tools such as Xcode, TestFlight, and other development and deployment platforms
- Perform reverse engineering and debugging of mobile apps to assess vulnerabilities and test protection solutions
- Implement features to prevent reverse engineering, tampering, and unauthorized access using tools like obfuscation, encryption, and code hardening.
- Analyse mobile app vulnerabilities and propose security solutions.
- Provide help to customer technical support in case of an escalation.
- Document all aspects of applications they are responsible for
- Share technical knowledge and skills throughout the department
- Proactively suggest changes to the products, processes or internal tools to improve performance, security, operability and reduce costs.
- Raise technical risks to engineering management
- Mentor other software engineers.
- Interview software and automation engineers.
- Come up with designs with minimal input.
- Produce software designs and specifications in collaboration with software architects.
- Stay up-to-date with emerging threats, security vulnerabilities, and industry trends.
Minimum Qualifications
- Bachelor's degree in computer science or any engineering area with exposure to software engineering
- Advanced knowledge of 3 or more programming languages.
- 15 + years software engineering work experience
- Ability to execute tasks with minimal supervision
- Ability to come up with designs with little input and interpret into an execution plan
- Advanced communication skills including documentation
- Advanced understanding of software development processes.
- Advanced understanding of architectural software patterns
- Understanding of business requirements and how they affect software.
- Certifications in cybersecurity (e.g., CISSP, CEH, OSCP) are a plus.
- Knowledge of machine learning or AI techniques applied to security solutions is a plus
Technical Skills
- Proficiency in C, C++, and Assembly programming languages.
- Having a domain knowledge in mobile app security and security principles.
- Deep understanding of security principles, including encryption, authentication, and secure coding practices.
- Expertise in reverse engineering and debugging tools such as IDA Pro, Ghidra, Frida, or similar.
- Strong analytical and problem-solving skills.
- Experience in Android development and associated tools (e.g., Android Studio, Kotlin) is a plus
Top Skills
What We Do
Verimatrix offers Content & Mobile App protection and Authentication Solutions for Media & Ent., Financial & OTT leaders. Start protecting your Company now!