When electrical engineer Manjinder Bains learned in January that his employer's planned restructuring would put his job at risk, he wasn't sure what to do. There aren't a lot of companies in his home town of Sacramento, Calif., that employ embedded developers with his skill set, he said, so finding a new job would be tough.
He decided to broaden his knowledge and his job prospects and signed up to take Linux Kernel Internals and Debugging (LFD320), a training course that teaches how the Linux kernel is built, and the tools used for debugging and monitoring the kernel. It would be the third training course Bains had taken with the Linux Foundation in the past year, but the first one he had paid for on his own – his employer had sponsored the first two.
“Boosting my Linux skills will make me more employable,” he said via phone last month.
He recently landed a new position with the same company, but completed the five-day course anyway. It will help keep him on his chosen career path as an embedded Linux developer and maybe even allow him to start contributing to the Linux kernel, he said.
Bains' fascination with Linux started with an assembly language course in college. Then after he graduated in 2008 with a degree in electrical and computer engineering, he had his first experience working with embedded Linux at a telecom startup. He now works at Care Innovations, a joint venture with Intel and GE that builds health care products for seniors.
When his employer offered last spring to pay for a training course of his own choosing, Bains signed up for the Linux Foundation's embedded linux course. At the time, he was working on the new version of a Linux-based monitoring system for seniors in assisted living in which a server monitors motion through wireless sensors and uploads them to the cloud. He had inherited all of the running software and had to upgrade it to a new version of the kernel – a down-the-wire field upgrade.
“The timing of the class was perfect because in the 6 months following that, I did it and my boss was able to see that I applied things I learned in that class directly,” Bains said.
The class taught him how to package the root file system, including the kernel; how to configure the bootloader; how to set up new partitions and unpackage the root file system; as well as how to build the software that runs the device on top of that.
The class was so helpful he signed up for the Linux device drivers class last December. Though he hasn't yet directly applied what he learned in class to a work project, he still benefited from the experience, he said.
“It's better having a full toolbox of assets and having a breadth, rather than the narrow view I had before,” Bains said. “Whenever there's a discussion on the team about something I can always use what I learned in these classes as a resource.”