David Treadwell once advised me to take a job where I knew what I was doing about fifty percent of the time and would be completely clueless the rest of the time, because that would be a good balance between comfort and extreme learning. Alan Page says to find the steepest learning curve. I’ve managed to satisfy both constraints!
The fifty percent I know is testing and solving testing problems. I’ve been doing both for a long time, and everyone (I’ve met so far) has the same problems – as well as utterly different ones. Which takes me to the other fifty percent.
Where my learning curve is completely vertical.
Devices, I am learning, is a whole different world from the desktop applications I am used to! A full build takes all eight of my cores four hours. Debugging managed code requires two debuggers. Missing ship dates means lots of device manufacturers and mobile operators lose revenue. My desktop has as much RAM as my device has total storage. And I am /way/ out of my depth!
One thing buoying me up while also dragging me down is Sync Stress. I always end up doing stress at some point, I'm plugging into an existing stress framework, and I’ve been doing (file) sync for the last three years, so I have some idea of what I need to do. The APIs I am writing against, however, are baffling me. In waves, no less. As soon as I grok one bit I discover another section that makes no sense at all. Then all of a sudden I grok that bit, and immediately discover another. So most days I go home with my brain aching from everything I learned that day, happy with what I accomplished that day and unhappy that it wasn’t nearly as much as I had hoped – and remembering I’ve supposed to have my strategy for our automation stack out for review tomorrow. Yikes!