Principal Software Engineer- Android Mobile SDK

9 Months ago • All levels

About the job

About the job

Worker Sub-Type:

Regular

Job Description:

BlackBerry® – the iconic brand you know and trust – is now a market leading cybersecurity software and services company.

Creating the gold standard for unified endpoint management (UEM) and unified endpoint security (UES), BlackBerry Spark offers the broadest set of security capabilities, management tools and visibility covering people, devices, networks, apps, and automation. BlackBerry Spark leverages artificial intelligence (AI), machine learning and automation to provide improved cyber threat prevention and remediation, while offering visibility across all endpoints for better management and control.

Among the first to market with full seventh generation AI for cybersecurity, BlackBerry Spark helps users understand risks and make intelligent decisions to mitigate them before they happen. Today BlackBerry can secure over 96% of the threat landscape, prevented more than 165 million cyberattacks in 2021 on desktops alone. Named by Cybersecurity Ventures as 1 of the top 150 companies to watch, we securely connect more than 500 million mobile, desktop and IoT endpoint devices for G7 governments, 9/10 global financial institutions as well as the largest global aerospace, defense, healthcare, automotive and media companies.

Chances are, we are more a part of your life today than we ever were as a handset company.

Come join us as we deliver ‘Intelligent Security. Everywhere.’

Are you the person we are looking for?

Reporting to the Senior Manager, Mobile Software Development, you will work with a high-speed, high-energy scrum team, specializing in mobile software development. Our primary focus is the research and implementation of new technologies into our existing software stack in a premier cyber security mobile SDK product. As part of our mobile platform engineering team, you will be working on a Cyber security software product with a degree of autonomy and an emphasis on tangible results. This team is a cross-functional team that fosters an environment in which each team member can fully unfold and exercise their strengths for the benefit of the mission. Conversely, every member of the team must know and perform each other’s duties to a fair degree. As a part of your work, you will be involved design and architecture, acting as a technical lead, and mentoring junior engineers. Your will be also interacting with other global teams on a frequent basis.

In return for your talent and enthusiasm, we will provide you with an attractive compensation, commission & benefits package. You will also have the opportunity to thrive in a dynamic environment, working alongside outstanding colleagues. In short, you bring the talent, and we provide the environment, tools, and resources for you to succeed, win big and accelerate your professional growth & development.

You will:

  • Design, architect and develop robust, scalable, and high-performance Android and common C++ libraries..
  • Develop and conduct maintenance of unit and integration tests..
  • Collaborate with cross-functional teams to define, design, and ship new features..
  • Ensure the performance, quality, and responsiveness of applications..
  • Identify and fix bugs, bottlenecks, and other performance issues..
  • Continuously discover, evaluate, and implement new technologies to maximize development efficiency..
  • Stay up to date with the latest trends and best practices in Android development..
  • Optimize applications for maximum speed and efficiency..
  • Work on maintaining code quality, organization, and automatization..
  • Conduct code reviews and provide constructive feedback to peers..
  • Mentor and guide junior Android developers as required..

You will have:

  • Significant and proven professional experience in Android application development, including a deep knowledge and application of systems, protocols and design.
  • Established proficiency in Java and/or Kotlin programming languages..
  • Strong knowledge of Android SDK, different versions of Android.
  • Enthusiasm and desire to learn more about cyber security.
  • Solid understanding of the full mobile development life cycle..
  • Experience with third-party libraries and APIs..
  • Ability to write clean, maintainable, and efficient code..
  • The ability to plans for and completes all levels of preventative and corrective maintenance in a timely manner. Troubleshoots key technical issues..
  • Excellent problem-solving and debugging skills..
  • Strong communication and interpersonal skills..
  • Self-motivated and able to work independently as well as in a team environment..
  • Ability to adapt to changing priorities and handle multiple tasks simultaneously..
  • E/B.Tech/MCA in Computer Science (or similar) or comparable experience.
  • Open to learn C/C++ & NDK.
  • Open to learn iOS and its related tooling..

If you have any of the following then great:

  • Experience in the development of enterprise mobile applications.
  • Prior experience with C/C++ is preferred..
  • NDK experience is preferred..
  • Knowledge of POSIX functions is preferred..
  • Design skills (design patterns, etc.).
  • Experience with tools & frameworks like JUnit, Gerrit, etc. .
  • Familiarity with Git version control and continuous integration..

If you have any of these, then even better:

  • Experience in communication protocols such as HTTP, TCP/IP, UDP and socket programming.
  • Experience in security and cryptography.
  • Experience in OpenSSL and Curl.
  • iOS and MacOS.

If you don't have all of the above, but are really excited about this opportunity, then we encourage you to apply! Skills and experience are transferrable and potential and passion are valued as part of our recruitment process.

Scheduled Weekly Hours:

40

View Full Job Description

Add your resume

80%

Upload your resume, increase your shortlisting chances by 80%