DevOps Engineer Platforms
The Decoding Software team is in charge of research and development of the main software asset of Datalogic that is the suite of proprietary algorithms able to read traditional barcodes, 2D codes and some kind of OCR text.
The decoding software runs on edge-computing platforms embedded into scanners having different computing power and memory resources. This created the need of a CI/CD infrastructure to guarantee the build, test, and deployment of the decoding library on the multitude of edge computing platforms which differ by number of CPU architecture (Intel x86, ARM, MIPS, etc.), CPU cores, memory capacity and Operating System (Windows, Linux, or Android).
Main duties and responsibilities of a DevOps Engineer, member of Decoding Software team, are:
1. Extend, improve, and maintain the current Continuous Integration (CI) and Continuous Deployment (CD) system that automates build, deployment, testing, and release of Datalogic Decoding-SW libraries
2. Manage build systems, and related compiler toolchains, for different edge-computing platforms (based on CPU architectures such as Intel x86, ARM or MIPS) through Docker images
3. Create make files, to build new library versions and to include external dependencies, by leveraging CMake
4. Extend, improve, and maintain the current set of scripts that automate the release of our Decoding-SW libraries by interfacing with tools for tracking of implementation tasks and defects (such as IBM Jazz or Atlassian Jira) and tools for automatic deployment of artifacts (such as JFrog)
5. Leverage DevOps tools and services standardized by our Company and make sure they address needs for future growth of Decoding SW libraries and edge-computing platform portfolio
6. Extend and maintain the current set of edge-computing-platforms' embedded boards, each accessible via Ethernet, that are used to run automated performance tests of our Decoding SW libraries
7. Extend and maintain the current application SW designed to run functional and performance tests of our Decoding SW libraries on both PC and embedded boards
8. Design, develop and maintain SW tools aimed to analyze, aggregate, and translate in easily understandable metrics the results of our Decoding SW libraries’ tests.
Requirements:
9. Education: Bachelor’s or Master’s Degree in Computer Engineering or Computer Science or equivalent field
10. Languages: Fluent English and Italian
11. Experience: 2-3 years of hands-on experience in SW engineering, including implementation and maintenance of CI/CD pipelines
Other Information & Specific Skills:
12. Good command of Windows and Linux operating systems, batch files and shell scripts included
13. Proficiency in Python programming language
14. Proficiency in most common debugging, profiling, and static/dynamic code analysis tools
15. Proficiency with Git and GitLab (or Jenkins) CI/CD workflows
16. Proficiency in containerization and orchestration technologies, such as Docker and Docker Compose (or Kubernetes)
17. Proficiency in C # programming and Angular Framework is preferred;
18. Interpersonal skills, ability to work both in team and autonomously, capability to work in a dynamic international team and in a complex environment.
#LI-IC1