Staff Software Development Engineer / Ingénieur en développement logiciel H/FArteris
Job Summary
Vous intégrerez une petite équipe de 4 experts logiciel pour participer activement au développement d'un nouvel outil de génération hardware (RTL). Cet outil se présente sous la forme d'un framework complexe en continuel développement, similaire en quelques points à Chisel (outil open-source développé à l'origine par l'université de Berkeley). Votre rôle sera de soutenir le développement du cœur du logiciel afin d'être en mesure de répondre aux attentes des utilisateurs internes (designers hardware) et externes (clients d'Arteris, indirectement usagers de l'outil).
Cette mission passe par l'appréhension de nombreux concepts théoriques et pratiques déjà existants ou bien à venir au sein de l'outil, ainsi que diverses applications hardware directes (design, vérification, sécurité fonctionnelle...). Aucune expertise n'est attendue pour ce dernier point, mais il reste néanmoins impératif de démontrer de bonnes capacités d'abstraction de problèmes fondamentaux, afin d'évoluer sereinement dans un environnement où vous n'avez pas toutes les clés de compréhension technique.
Le framework est développé en Scala, un langage à forte dynamique fonctionnelle et orienté objet (basé sur la JVM). Une connaissance précise de ce langage n'est pas nécessaire, mais de solides compétences de développement, en particulier vis-à-vis des paradigmes de programmation fonctionnelle, sont indispensables.
- Minimum 6 ans d’expérience en développement logiciel
- Solide expertise dans l’architecture et le développement de framework (maintient d'APIs, support utilisateurs avancés, versionnement)
- Excellente maîtrise de la programmation orientée objet (Java, C++, Python ou équivalent)
- Excellente maîtrise de la programmation fonctionnelle (Haskell, Scala, OCaml ou équivalent)
- Excellentes capacités d’analyse et de résolution de problèmes
- Très bonnes compétences en communication et en travail d’équipe
- Autonomie, capacité à travailler avec un minimum de supervision
- Anglais courant (oral et écrit)
- Expérience avec d’autres langages de programmation (Scala, Rust, Kotlin, etc.)
- Expérience en modélisation de systèmes numériques (SystemC, TLM)
- Connaissances en EDA et compréhension des principaux paradigmes de conception SoC
- Expérience avec les générateurs de matériel numérique, les méthodologies et concepts associés
- Doctorat ou Master en informatique ou dans un domaine connexe, ou expérience professionnelle équivalente
La rémunération sera déterminée en fonction du lieu, de l’expérience et de l’équité interne pour des postes similaires.
You will join a small team of 4 software experts to take an active part in developing a new hardware generation tool (RTL). This tool takes the form of a complex framework under continual development, similar in some respects to Chisel (an open-source tool originally developed by the University of Berkeley). Your role will be to support the development of the core of the software so that it can meet the expectations of both internal users (hardware designers) and external users (Arteris customers, who are indirect users of the tool).
This mission involves grasping many theoretical and practical concepts that already exist or will be introduced within the tool, as well as various direct hardware applications (design, verification, functional safety, etc.). No expertise is expected on this last point; however, it remains essential to demonstrate strong abstraction skills for fundamental problems, so that you can progress confidently in an environment where you do not yet have all the technical keys.
The framework is developed in Scala, a language with a strong functional and object-oriented orientation (based on the JVM). Precise knowledge of this language is not required, but solid development skills—especially with respect to functional programming paradigms—are essential.
- 6+ years of experience in software development
- Strong proficiency in architecture and development of frameworks (maintaining APIs, advanced user support, release flows)
- Expert knowledge of object-oriented programming (Java, C++, Python, or equivalent)
- Expert knowledge of functionnal programming (Haskell, Scala, OCaml or equivalent)
- Excellent problem-solving skills with strong communication and teamwork abilities
- Self-driven, able to work with minimal supervision
- Fluent in English
- Experience with additional programming languages such as Scala, Rust, or Kotlin
- Experience in digital system modeling (SystemC, TLM)
- EDA background with the ability to understand the fundamental paradigms of the SoC design process
- Experience with digital hardware generators, methodologies, and concepts
- PhD or Master’s degree in Computer Science or a related field, or equivalent professional experience
Your base salary will be determined based on your location, experience, and the pay of employees in similar positions.








