C++ Software Engineer

Zagreb, Croatia

When obstacles arise, it's natural to search for solutions. While some solutions are obvious, others require a little or a lot of investigation and experimenting. Altogether, we are eager to solve all of them. Also, we are always experimenting with the latest technologies that can help us with that. The main purpose of adopting cutting-edge technology inside Microblink is to provide solutions to the challenges we are facing.

In our Product Development team, we gathered top-notched engineers with diverse experience and seniority, working on Microblink’s core technology used in all of its products. Two years ago, we spent the majority of our development efforts on a thorough refactor of our codebase. For an entire year, adding new features was put on hold, so we could focus on reimagining our entire system. A year ago, we decided to deprecate our templating system for document scanning support, in favor of a completely data-driven approach. As our ambitions grow, we are constantly questioning and reiterating our knowledge. A lot of boilerplate has been automated in the process, helping us focus on the important stuff.

If you are a passionate developer interested in bringing a fresh new outlook to a dynamic environment, we’d love to hear from you.

What will you do at Microblink? You will:

  • Develop efficient and scalable solutions for a growing number of requirements on our data extraction system powered by AI
  • Work on technology with over 100 million end-users worldwide
  • Actively participate in the maintenance of the current codebase. This includes:
    • Discussing architectural/system design choices
    • Improving the existing infrastructure and development processes
    • Exchanging knowledge and ideas through reviewing the code of other team members
  • Work with latest technologies: e.g. the latest C++ standard and Conan C/C++ Package Manager

You are the right person for us if you:

  • Have at least a BS degree in Computer Science, similar technical field of study or equivalent practical experience
  • Have 3+ years of experience working in C++ in software development
  • Have developed algorithmic thinking
  • Have a basic understanding of large-scale software design
  • Get excited about things like:
    • Concepts, constexpr, std::variant, modules...
    • Minimizing runtime overhead
    • Compile-time and metaprogramming
  • Have a responsible and analytical approach to work
  • Identify repetitive tasks and automate them
  • Can work well in a small team as well as alone

What can you expect in Microblink?

  • Direct mentorship
    • We make sure everyone constantly grows, with guidance from our senior team members
  • Knowledge sharing
    • We organize C++ Meetups on a regular basis
    • We make time for internal workshops and lectures
  • Educations and conferences
    • Meeting C++ in Berlin,
    • CppCon in the USA,
    • ConanDays in Madrid...
  • Dedicated budget for professional development and education
    • An internal library that keeps growing, based on our needs and interests
    • Online courses
  • Team leads and managers with technical backgrounds, dedicated to improving the development process
  • Working in a casual, and yet professional working environment with motivating working conditions
  • A culture that recognizes and rewards success, and is not afraid to try, fail and learn from the mistakes

About Microblink:
Microblink builds world-leading text recognition technology for mobile and web which is used by more than 100 million end-users. We’re proud to power apps like Photomath, Virgin Mobile, FlyDubai, and Jaguar. Microblink is an engineering organization - the quality of our products is our biggest focus. We extensively use machine learning to solve computer vision problems, we use a data-driven development process, and strive for engineering excellence in all our development teams.

Microblink’s solution for scanning identity documents - BlinkID - is becoming an industry standard for customer registration and onboarding. In the USA, among other use cases, it’s used to register voters in elections, register hosts on accommodation-sharing sites and to register investors on blockchain platforms. Currently, we support over 150 different personal documents, and our goal for BlinkID is to support all ID documents in the world.

C++ Software Engineer

Job description

C++ Software Engineer

Personal information
Professional data