Job Description
Senior Embedded Software Engineer (Diagnostic Software) – Shanghai
Cisco seeks a Software Engineer to define, design and build software for the Cisco products that generate significant revenue. You will champion new methodologies and create scalable software solutions that interact with widely deployed Internet products, thereby touching an endless number of users worldwide. Be part of the Cisco organization that is driving the evolution and expansion into new technology areas and market segments. The ideal candidate demonstrates a system-level focus while understanding the impact of every component. Broad knowledge of and exposure to network protocols as well as embedded and real-time operating systems are essential for success in this role.
Main Technologies
Main Technologies
System-wide hardware diagnostics, device drivers
Recommended Skills
Recommended Skills
Linux, C/Cpp programming, digital logic, hardware
Responsibilities
The new hire will be responsible for developing software to bring up new hardware, ASICs, and other system modules to validate the design and diagnose the system for functionality. This is a critical role in the chain of product development, as our team is involved in the first hardware and system bring up for any new product/variant of the products developed by DCSTG. Our software is instrumental in bringing up new prototypes as well as verifying boards coming off the production line.
Responsibilities
The new hire will be responsible for developing software to bring up new hardware, ASICs, and other system modules to validate the design and diagnose the system for functionality. This is a critical role in the chain of product development, as our team is involved in the first hardware and system bring up for any new product/variant of the products developed by DCSTG. Our software is instrumental in bringing up new prototypes as well as verifying boards coming off the production line.
This role will exercise your multi-team interfacing abilities to a large degree. You will gain experience in a broad range of systems hardware, including dual-core CPUs, operating systems like Linux and other kernels, and various optical Ethernet transceiver modules, all of which are at the forefront of design and industry in terms of technical relevance.
In this role you will use your best creative thoughts to do things that not only work, but develop strategies and mechanisms to devise software that can authoritatively qualify a hardware system or the ASIC. The multiple teams on NXOS Software, Hardware, and ASIC Engineering all depend on this software to make a multi-billion dollar decision to ship the product.
This role will be unique compared to traditional software engineering positions, as the team defines the requirements and is typically unbounded by typical constraints, such as legacy or feature architecture of the FibreChannel/Ethernet switch. This role also provides a great opportunity to learn about the system as a whole and how all modules work together to deliver the outstanding $500M run rate switches we ship every day to customers who deploy them in critical enterprise applications.
As a diagnostic engineer, you will learn how to write software that directly manipulates hardware (i.e. device drivers). The ideal candidate for this position is one who wants to advance both hardware and software knowledge. An engineer who enjoyed their digital logic or microprocessor classes but doesn't want to completely abandon software will like this position. As you gain more experience, you will also find that you're in one of the few groups that have complete end-to-end knowledge of how all of the system hardware works.
Desired Skills & Experience
Required Skills1. Hands-on C and C++, including STL programming in Linux or Unix environment.
2. 0-3 years industrial experience in multi-processor, multi-process, and multi-thread programming. Familiar with IPC and synchronization.
3. Familiar with make tools, shell language, CVS/Clearcase and GDB. Familiar with KGDB is a plus.
4. Familiar with embedded system, device driver and register level programming. Experienced with Linux kernel and Linux device driver model is very desirable.
5. Must be speaking fluent English & a team player.
6. Must be comfortable with large scale team based SW development and frequent inter-group and/or inter-company communication.
7. Experienced with ASIC verification, simulation or BIOS development is a plus.
8. Hi-end networking switch/router SW development experience is a plus.
9. Candidates should feel comfortable with fast-paced team work SW development and inter-group/company communication.
Educational Background
Master degree with 0-3 years industrial experience
2. 0-3 years industrial experience in multi-processor, multi-process, and multi-thread programming. Familiar with IPC and synchronization.
3. Familiar with make tools, shell language, CVS/Clearcase and GDB. Familiar with KGDB is a plus.
4. Familiar with embedded system, device driver and register level programming. Experienced with Linux kernel and Linux device driver model is very desirable.
5. Must be speaking fluent English & a team player.
6. Must be comfortable with large scale team based SW development and frequent inter-group and/or inter-company communication.
7. Experienced with ASIC verification, simulation or BIOS development is a plus.
8. Hi-end networking switch/router SW development experience is a plus.
9. Candidates should feel comfortable with fast-paced team work SW development and inter-group/company communication.
Educational Background
Master degree with 0-3 years industrial experience
OR
3+ years experience with Bachelor degree
Apply Now - Resume or CV with Job Post Title
Email: jobs@aarenconsultants.in