Software design engineer

грейд
senior
формат
офис Ереван
страна
Армения
язык
Английский B2
опубликована
сегодня

описание

Join us as a Software Engineer II to help modernize the software toolchain behind our FPGA device families. This is a large-scale legacy modernization program transitioning a mature, long-lived EDA codebase onto a modern, cross platform foundation integrated with our current design environment. The role owns subsystems within the modernized codebase, determines the technical approach for new assignments, and serves as a resource for complicated technical matters across the team.

задачи

  • Design and implement components of the modernized codebase: module boundaries, interfaces, and coding conventions - contributing to the overall target architecture.
  • Port assigned libraries from the legacy application, removing obsolete framework and platform dependencies while preserving functional behavior.
  • Decompose legacy monolithic components into independent, headless executables.
  • Resolve complex technical issues arising from 32-bit to 64-bit transition and cross-platform support across Windows and Linux.
  • Analyze undocumented legacy subsystems and produce clear technical specifications from the findings.
  • Coordinate work across SQA, EDA domain experts, IDE/UI, and documentation teams.
  • Participate in design reviews, unit testing, and code reviews, and support enforcement of Microchip's Software Development Processes.

требования

  • 5 - 7.5 years of professional experience in software engineering.
  • Strong C++ expertise, with working fluency in both modern C++ (C++17 or later) and legacy pre-standard idioms; solid object-oriented design, algorithms, and data structures.
  • Demonstrated experience designing and owning components or subsystems within a large C++ codebase.
  • Familiarity of legacy Windows desktop technologies (MFC, COM/ATL, or Win32).
  • Cross-platform development experience on Windows and Linux, including CMake.
  • Proficiency with scripting languages (Python, Bash, TCL).
  • Ability to determine methods and approach independently on new, loosely defined assignments and drive them to completion.
  • Strong English communication skills, verbal and written, including the ability to produce clear technical specifications.
  • Будет плюсом: Bachelor's or Master's degree in Computer Science, Computer Engineering, Electrical Engineering, or a related field is preferred

условия

  • Условий в вакансии нет

навыки

похожие вакансии

статьи для разработчиков