It's mostly commoditized work where I am as well as throughout industry. The glory days of being a branch maintainer are over but there are still device drivers to be made for custom hardware, but a lot of consumer hardware is covered.
But it's mostly patch slavery. You ever wonder why old android phones don't get newer versions of android on them? One reason is that maintaining device drivers across kernel patches is a serious problem. I know of a product that is still using the 2.6.10 kernel because they have changed so much code they can't port it. iPhone doesn't have this problem since there are only, what? Five of them at any time? I guess they could but that's too much effort (slightly above 'breaking a sweat') so OEMs won't do it.
Doing anything with an embedded system always takes a long time. Even moving, adding or changing a single file into a packaged file where a bootable system lives can take a good 20-30 minutes depending on how much has to be rebuilt and how crappy the build system is (always). The deadlines are always short and immediate, too.
My job is mostly herding patches with an antiquated versioning system that never makes any sense, trying to herd machines to duplicate a 1:10,000 bug. Stuff I could have done when I was in school. I think I made a mistake agreeing to work here.
But it's mostly patch slavery. You ever wonder why old android phones don't get newer versions of android on them? One reason is that maintaining device drivers across kernel patches is a serious problem. I know of a product that is still using the 2.6.10 kernel because they have changed so much code they can't port it. iPhone doesn't have this problem since there are only, what? Five of them at any time? I guess they could but that's too much effort (slightly above 'breaking a sweat') so OEMs won't do it.
Doing anything with an embedded system always takes a long time. Even moving, adding or changing a single file into a packaged file where a bootable system lives can take a good 20-30 minutes depending on how much has to be rebuilt and how crappy the build system is (always). The deadlines are always short and immediate, too.
My job is mostly herding patches with an antiquated versioning system that never makes any sense, trying to herd machines to duplicate a 1:10,000 bug. Stuff I could have done when I was in school. I think I made a mistake agreeing to work here.