C.S. Intern 101

We have several interns starting this summer and this is from my notes on what we’re going to provide in the way of guidance. I don’t expect all of this to be applied immediately. And I don’t expect any of it to be followed blindly. But it is what I think will most help them be successful.

First there are the goals in the software we create. Get the part right and the rest is details. Get this wrong and the rest is irrelevant:

  1. There are no questions using the software (like the iPhone). This is an elusive goal as even the iPhone requires some help and the software we create is much more complex than read my email. But figuring out how to make use as simple and straightforward as possible ā€“ for non-technical users, is critical.
  2. No broken windows. Any bug. Any unnecessary step. Anything the user sees as poorly crafted. Anything that unnecessarily gets in the way of the user. A single one of these gives the user the impression that the software was poorly crafted.
  3. Make it beautiful. People give great value to beautiful objects and that includes software.

Second is ownership. People don’t fight and die for someone else’s project. But they will for their own. At Windward we don’t tell you what to do, we tell you what you need to accomplish. It’s up to the intern to figure out how to accomplish their project. This is a giant shift from school where most of the steps on any effort are pretty clearly laid out. One intern will be given the job of write an appropriate level of unit tests for our new B.I. program. They need to figure out what tests where add up to an appropriate level of testing.

The good news is they own that project. They get to decide what and how to implement it. The bad news is they own that project. At the end of the day they’ll be measured by how few bugs slipped through their testing. And as an intern successfully completes a project, they will be given a new one that is harder more challenging.

Third are my suggestions from Want to be a Better Developer? Cheat! These are the day to day suggestions that will help them accomplish their projects.

And one final suggestion ā€“ enjoy your summer. We purposely do not allow over 40 hours/week for interns so they have time to go do all those things they’ll tell their children someday to not do.