Principal Software Engineer - Python, Tesseract and NN modelling

Machine Learning and AI

Ref: 1353Sunday 21 November 2021

Excellent salary in line with seniority and value of the role

Enigma People Solutions is recruiting a Principal Software Engineer to help our world leading Data Storage client change the way the world captures, preserves, accesses and transforms data.

In this exciting opportunity you will be heading up our client’s new software engineering team in Edinburgh.  Reporting directly to the Senior Manager of Software Development you will be capable of completing data science projects with little or no supervision and will be deeply involved in the solutions of the projects.

Analyzing, designing, programming, debugging, and modifying software enhancements and/or new products used in local, networked, cloud-based or Internet-related computer programs will all be second nature to you.   You will be coding for commercial or end-user applications, such as materials management, financial management, HRIS, mobile apps or desktop applications products and you will need to complete relevant documentation and procedures for installation and maintenance. We’ll also expect you to interact with users to define system requirements and/or necessary modifications.


  • Design and develop custom scalable decision support systems and manage existing code for internal and external clients.
  • Explore and develop solutions for sustainable large-scale and distributed data processing and integration pipelines.
  • Evaluate products, including open-source tools, and possibly incorporate them into projects.
  • Work closely with multi-national teams to understand requirements, business models, and infrastructures, in order to incorporate them into projects.
  • Keen to learn new software technology and features and integrate them into projects.
    Develop new ideas and apply AI/ML to specific product challenges
  • Study and innovate in artificial intelligence/machine learning and its application in diverse domains.
  • Design competitive AI/ML services and user experience for next generation devices and create prototypes for demonstration
  • Collect, synthesize, and propose requirements and create effective product/feature roadmaps
  • Work with the rest of the team to integrate these algorithms into larger solutions. 


To be of interest you will be able to demonstrate the following:

  • BS/MS in Computer Science/Computer Engineering (or equivalent experience) with 10 - 12 years in software development roles.
  • Strong programming and algorithmic thinking skills, including efficient recursive algorithms, algorithm efficiency analysis, concurrent programming, and object-oriented paradigm.
  • Experience with common image processing and computer vision software libraries, including OpenCV, FFmpeg, TensorFlow, Keras, Tesseract.
  • Hands-on Knowledge of Mask R-CNN and other regional network algorithms for object detection and recognition.


  • Extensive Knowledge of Python, Knowledge of Tesseract OCR.
  • Hands-on knowledge of NN modelling in visual compute projects for image and video.
  • Knowledge of Linux environment, commands, configurations.