I succeeded and even trained someone else how to do it. When we started, he didn't know C all that well so I split the drivers into hard and easy parts and gave him the easy ones. We wrote about six drivers together. I made his parts harder and harder until he was able to write a driver on his own.
Perhaps I haven't been reading the right software architecture books but it seems to me that very little mention is made of changing the design to suit the ability of the individual programmers, the way band leaders like Duke Ellington and Glenn Miller did with their arrangements.
This is a pretty amazing way to teach someone something as complex as device drivers. It sounds like you did an excellent job mentoring him.
Stephen's deafness did not affect his work, of course, until management made him a quality engineer for our voice over IP project. With that kind of thinking, the company wasn't making any money and owed all of us six months wages. You learn a lot about motivating your team under those circumstances. I did it by emphasising the importance of what we were doing. Of the ten software and five hardware engineers, we were the only ones joining the software to the hardware.
Apart from not being paid, it was a great place to work and I'm glad it gave me an opportunity to develop my management and people skills. Until then, I had been much better at programming computers than working with people and I was feeling a bit lopsided.