These are VERY USEFUL tips, not just for interns but also for new employees. Most importantly,
if a person can cheerfully walk out of the office at 5 pm without having solved any problems then he or she should probably pick a career other than software.
Here are some specific-to-programming items that could have made him more effective:
- use Google and Web-based resources before interrupting the person who hired you, e.g., if you want to know how to do something in Emacs for which crib sheets are readily available on the Web and can be printed out.
- assume that the person who hired you will have superior strategies for solving problems but not superior knowledge of syntax.
- if there is a bug, strip the system down to the minimum number of lines of code that still exhibits the bug.
Here are some general life-as-an-employee items:
- If you’re cc’d on communications regarding meeting times with other people and need to talk to them or arrange something with them, reach out directly via email, cc’d your supervisor. Don’t use your supervisor as your secretary.
- Don’t rely on your supervisor to keep schedules, remember tasks, etc. A senior programmer is not a secretary or project manager.
- Use all available resources. Ask questions in Web forums, ask for help from anybody that you know that has relevant knowledge. The most successful workers are generally those who bring in expertise from beyond the organization.
Reference: Advice to software development interns