описание
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
условия
- Условий в вакансии нет