Reading through the job description (JD), this seems like a typical maintenance job for mature, or soon to be obsolete products. Even though in the JD, it reads "Specify, design, implement, and test software features and capabilities for new and existing embedded computers", do give attention to the keyword "existing embedded computers".
The next paragraph in the JD is interesting and data-packed:
"-Diagnose and debug problems with your product or problems arising when your product interacts or integrates with other NI products"In fact, this is the real job description: validation engineer, or firmware for testing. On top of that, it also reviews the hiring company is NI. I wonder what kind of new product it will let PG to drive.
The requirements are typical, for example:
-Experience with x86 CPU architecture, BIOS, EFI and ACPIThese aren't bad, however for now I do believe doing things beside x86 will give me more values and a new perspective on embedded devices. There are enough people knowing x86 architecture anyway.
-Proficient in x86 assembly and C/C++ development and debugging
On top of all these, this brings back the memory of odd-hours meetings, and multi-site politics which I had had last time. Especially in this kind of economy, having an office in Asia definitely will make the US folks nervous, which in turn will make getting data and technology transfers difficult. This is somewhere between a rock and a hard place which I myself don't wish to be in. Pass!!
You may say I am lucky to get interview opportunity, but I assure you it is not all about luck:
- I keep on adding values to myself. I choose what to focus and what not to.
- I keep an eye on the real world and opportunities. Hiding in MNC may make me feel secure and good, but I could very well wake up the next morning jobless, and the skills I have gotten in MNC are usually useless, too specialized, proprietary, or, all of the above. Example of useless skill will be making of PowerPoint slide for weekly update, this is time-wasting and mind-numbing, but still the managers demand them week after week. Over-specialization is straight-forward: the logical software modules are broken into so many pieces that virtually no one knows what is going on. I am not kidding, this happened in my ex-company where even the principal engineers knew only part of the system (the rest was only known to the counterpart in US...). The last one is also not hard to understand, proprietary stuff has two categories: first is home-brew software which isn't available outside. For example handphone companies have software that can force their phones into certain test modes with additional abilities. The second category is the use of some commercial tools that are not within the budget of smaller companies. Rational Rose, Rational ClearQuest and ClearCase will be good examples of this type of software.
- I have spent significant amount of time in this trade, it is really about if you are interested in something or not.