Software Architect
Cairo, EGYPT
Job description
Siemens Digital Industries Software - Where today meets tomorrow.
Siemens Digital Industries (DI) is an innovation leader in automation and digitalization. Closely, collaborating with partners and customers, we care about the digital transformation in the process and discrete industries. With our Digital Enterprise portfolio, we provide and encourage companies of all sizes with an end-to-end set of products, solutions and services to integrate and digitalize the entire value chain. Meaningful optimization for the specific needs of each industry, our outstanding portfolio supports customers to achieve greater efficiency and flexibility. We are constantly adding innovations to its portfolio to integrate groundbreaking future technologies. We have our global headquarters in Nuremberg, Germany, and have around 75,000 employees internationally.
Wired Networking Solutions of Siemens DISW HAV is seeking a highly skilled and experienced Software Architect to join our team.
As a Software Architect on our global team of experts at Siemens DISW, you'll tackle diverse challenges in emulation, networking, and cutting-edge technologies like wired networking, security, automotive, avionics, distributed systems, machine learning, cloud, and more. The ideal candidate possesses strong technical expertise, excels in software development, and will lead the delivery of complex applications, guide junior team members, and ensure the final product meets customer requirements.
Responsibilities:
- Collaborating with other professionals to determine functional and non-functional requirements for new software or applications.
- Use tools and methods to design functions, interfaces, and product specs, focusing on system integration and feasibility.
- Set development aspects such as technology, workflow, coding standards, and monitor team progress for consistency with the design.
- Efficiently communicate concepts, guidelines, and technical coaching to the engineering team.
- Identify risks, propose solutions, conduct research, and innovate for long-term technical challenges.
- Foster innovation and contribute to new ideas.
- Document processes and procedures.
- Contribute to building a positive team by sharing the vision, inspiring others, and maintaining a reliable attitude.
- Review project designs and implementations as needed.
- Proactively communicate project status and updates on tools and environments.
- Take responsibility for final product delivery, ensuring engineering meets various requirements and standards.
Requirements:
- BSc / MSc in computer science, computer engineering, or any relevant field.
- Hands-on experience in large software development projects with multiple components.
- Coding expertise in various languages and technologies.
- Excellent knowledge of software design and architecture.
- Proficient in C++ and Object-Oriented Programming.
- Experience with inter-process communications, reliability, and performance aspects.
- Familiarity with high-performance computing, parallel programming, and distributed systems.
- Knowledge of UML and other modeling methods.
- Familiarity with HTML/CSS, JavaScript, and UI/UX design.
- Understanding of software quality assurance principles.
- Extensive knowledge of software lifecycle, testing, and code optimization.
- Efficient in developing and optimizing high-performance software.
- Understanding of cache/memory efficiency, thread-safe, and concurrent/parallel programming.
- Ability to break down complex challenges into smaller goals with a quantitative analysis mindset.
- Capability to handle multiple complex projects simultaneously.
- Solid knowledge of architectural concepts and software design patterns.
- High degree of independent judgment and accountability.
- Continuous enthusiasm to learn new methodologies, frameworks, and technologies.
- Up-to-date knowledge of modern frameworks, techniques, and architectures.
- Experience working on software interacting with external hardware is a plus!
- Preferably familiar with high-performance C++ frameworks such as MPI, OpenMP, Boost, Qt, etc.
- Knowledge of different frameworks like React, Electron, Node.js, Flutter, etc is desirable.
- Proficiency in scripting using Shell, TCL, and/or Python is a plus.
Why us?
Working at Siemens Software means flexibility - Choosing between working at home and the office at other times is the norm here. We offer great benefits and rewards, as you'd expect from a world leader in industrial software.
We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, sex, gender, gender expression, sexual orientation, age, marital status, veteran status, or disability status.
At Siemens, we are always challenging ourselves to build a better future. We need the most innovative and diverse Digital Minds to develop tomorrow‘s reality.
Siemens Industry Software is an equal opportunities employer and does not discriminate unlawfully on the grounds of age, disability, gender assignment, marriage, and civil partnership, pregnancy and maternity, race, religion or belief, sex, sexual orientation, or trade union membership.