> writing drivers is the most straightforward Have you found some devices with fully documented programming interfaces, which actually behave as the documentation describes? Lucky man.
> and rewarding > part of my job. There I agree with you. But I like solving puzzles.