Today I finish my fifth week at Insitu. I was supposed to be on a bus headed out to watch a test flight today, but that trip was postponed because of a nearby wildfire. So instead I’m sitting in my usual coffee shop in White Salmon, thinking back on the past few days.
Things continue to improve. Early in the week I spent some time working on UI for one of Insitu’s applications. User interfaces are not something I’ve spent a lot of time working with, but our scrum master is also our UI person, so when I tell him I’m ready for my next task, he often passes me something that he’s been working on.
The UI is written in C#, a language I don’t have a lot of experience with. In fact, outside of a few blog posts and Wikipedia articles and Learn X in Y Minutes, I had essentially no exposure at all.
Six months ago I would’ve thought it ridiculous to be writing code in a workplace environment in a language that was almost completely foreign to me, but now it doesn’t seem so strange. After all, most programming languages are mostly alike, especially those in the C family. And anyway, I had plenty of people to lean on for help, plus a formal code review process to make sure that I was doing things correctly. I wasn’t moving quickly, by any means, but I was learning a lot and completing tasks.
Speaking of learning, I’m increasingly convinced that learning, rather than already having learned, is the essential skill. But not just learning, learning quickly.
There’s simply no way I could’ve been perfectly prepared for this internship. To be fluent in C, C++, and C#, to know everything there is to know about real-time systems, about hardware components and radio frequency and networking, and Agile and Scrum. I had to know enough to get my foot in the door, but that’s when the real challenge started.
That challenge is really the beauty of it all. Another intern I know told me that he got into computer science when he realized that eventually he’d have his current job in IT mostly figured out. To quote one of my favorite scientists in one of my favorite YouTube videos:
We grow when we challenge ourselves and we stagnate when we do not.
I want to zoom back in a little bit on the learning, because I’m realizing that there are really two sides to it: “book learning” and “shotgun learning.”
This kind of learning is general and well-documented. There are books and manuals and YouTube and StackOverflow. It can be directed or self-guided and done at home or at school.
Shotgun learning is what I experience when I start a new task and lead person on it spends a few minutes getting me up to speed. I say shotgun not just because it’s fast and ad-hoc, but because it’s literally a hundred tiny little things flying out at a thousand miles an hour and if I blink, I’ll miss it. And when I do, there’s no turning to some manual or website. I have to go back to the person, hat in hand, and ask them to repeat what they’d just told me.
I’m not sure that this is a skill that can be developed, but I’m still pretending that it is. I focus intently on what they’re saying (no mind wandering!), take as many notes as I can, and write down all the questions that immediately come to mind. And if it involves a computer, I try to make sure I’m the one at the mouse and keyboard. Otherwise I miss out on the potential to develop a bit of muscle memory. I always end up with a bunch of questions that I forgot to ask when the person was right in front of me, but I think that’s inevitable.