- Kairo - Al Qahirah - Ägypten
Software Development Engineer
Siemens Digital Industries Software is a global technology powerhouse. With some of the best-known brands in the world, Siemens has stood for engineering excellence, innovation, quality, and reliability for more than 175 years.
We are looking for a Software Development Engineer to join our team in Cairo, Egypt.
Responsibilities:
- Develop fast, functional models for HW IPs such as processors, caches, memories, peripheral devices, and interconnects.
- Develop and integrate Instruction Set Architecture (ISA) simulators for various architectures (e.g., Arm, RISC-V, TriCore, PowerPC).
- Implement model functionality using C/C++, SystemC, and Transaction-Level Modeling (TLM).
- Develop and leverage open-source Instruction Set Simulators (e.g., QEMU) within a virtual prototyping environment.
- Contribute to complex software development and maintenance.
- Participate in design, specification, and code reviews to ensure quality and consistency.
- Analyze and profile complex software to drive continuous performance improvements.
- Create implementation and test plans and execute them according to defined schedules.
- Apply unit and integration testing for CPU, peripheral device, and interconnect models against behavioral models.
- Configure, build, and debug complex software stacks, including operating systems (Linux, RTOS) and bare-metal applications, to enable bring-up on CPU models and virtual platforms.
- Simulate and debug customer software as well as virtual platform models.
- Write professional functional specifications and design/test documentation.features.
Requirements:
- B.Sc. or M.Sc. in Electronics, Communications, or Computer Engineering.
- Fresh graduates or experienced candidates in a relevant domain.
- Strong programming skills in C/C++ with proven experience.
- Solid understanding of algorithms and data structures.
- Excellent knowledge of OOP concepts, SOLID principles, and design patterns.
- Excellent knowledge of computer architecture and microarchitecture.
- Strong analysis, debugging, tracing, and troubleshooting skills.
- Solid knowledge of digital and logic design concepts.
- Familiarity with microprocessor and microcontroller design.
- Familiarity with multi-threading and Linux system programming is a strong plus.
- Experience with modeling using SystemC/TLM is preferred.
- Strong knowledge of Instruction Set Simulators (e.g., QEMU) is a big plus.
- Good understanding of embedded software (Linux/RTOS) is a plus.
- Programming experience with Shell scripting, Python, Tcl, or Perl is a plus.
- Knowledge of Unix/Linux operating system environments.
- Strong problem-solving skills and excellent communication skills, including the ability to present ideas and share knowledge with others.
We’re Siemens. A collection of over 377,000 minds building the future, one day at a time in over 200 countries. We're dedicated to equality, and we welcome applications that reflect the diversity of the communities we work in. All employment decisions at Siemens are based on qualifications, merit and business need. Bring your curiosity and creativity and help us shape tomorrow!
We offer a comprehensive reward package which includes a competitive basic salary, bonus scheme and generous holiday allowance.
Siemens is an equal opportunities employer and do not discriminate unlawfully on any grounds. We are committed to providing access and equal opportunity.
#LI-Hybrid