Job available in TURIN, Italy

Senior Software Engineer

Astar is looking for a Senior Software Engineer with solid computer science background and consolidated knowledge of distributed software architecture. The ideal candidate will thrive in an early development stage of the Astar software platform with a focus on implementing a clean, maintainable and optimized application framework.

As a Senior Software Engineer you will be responsible for building and delivering high quality infrastructure code, supporting the integration of Computer Vision and ML/DL components and optimizing performances. In this role, you will work alongside a team of talented Computer Vision and ML/DL scientists and Software Engineers to build different layers of the infrastructure of the next generation of AI applied to the Sport domain.

Tasks

  • Properly turn the architecture design into robust, reliable and scalable software modules
  • Participate in requirement analysis
  • Actively contribute to improve the architecture by sharing ideas and opinions
  • Implement and maintain a high-quality code base
  • Deal with complexity and turn it to accessible, clean code solutions
  • Serve as an expert on applications and provide technical support
  • Manage most technical challenges autonomously, being always solution and goal oriented
  • Feel the ownership of the solution end-to-end

Minimum Requirements

  • MS in Software Engineering/Computer Sciences or equivalent experience
  • Broad and solid Software Engineering foundation knowledge, including Data Structures & Algorithms, OS, Computer Networks and Databases
  • Experience in implementing complex, real-time, distributed software systems
  • Experience in REST API development
  • Excellent coding skills in Python or C#
  • 4+ years in SW development (including University experience, if relevant)
  • Familiarity with Application Lifecycle Management processes
  • Solid experience with Git
  • 2+ years of experience with general backend (Linux, Databases, Application servers) and Cloud Infrastructures
  • Familiarity with Dockers and Jupyter Notebook
  • Strong ability to convert ideas to running code
  • Good English skills (at least in reading and writing)

Preferred Requirements

  • Expertise in C/C++
  • GPU compute technologies (CUDA, openCL, MPI)
  • Familiarity with parallel / multi-threaded programming
  • Familiarity with automated testing systems
  • High- and low-level code optimization
  • Debugging and profiling knowledge
  • Expertise working with test driven development (TDD) process standard methodology
  • Familiarity with Agile methodologies
  • Experience with OpenCV, OpenPose
  • Experience with Deep Learning frameworks (TensorFlow, Pytorch, MXNet)
  • Familiarity with probability and statistics