As my semester-long Software Development internship with Autotask Corporation draws to a close, and I compare the volume and breadth of what I learned in internship to my previous learning experiences in computer science, it strikes me that there is absolutely no substitute for hands-on experience, when it comes to programming. Working on a team, with deadlines, solving problems that will have real impact on customer satisfaction, demands a strong commitment to the “work” part of the computer science, but also tests one’s aptitude for logical and structured thought, and tests one’s knowledge of how to learn what is necessary for a task on the spot, with no procrastination and no excuses.
Resolving a large number of issues over a short period of time, some more complex than others, impressed on me the significance of the ability to multitask, move between aspects of software, and pick up an understanding of existing architecture on an as-needed basis. I find this to be a key aspect of programming and development, whether in a professional working environment, in university courses, or in private projects. You won’t know everything you need to know before you start, and the ability to dynamically change both what tools you think you need, and your methods of finding and applying them is essential to success in all but the most trivial applications.
I consider my internship to be a great success both pedagogically and professionally, and have found that it greatly increased my capacity to learn the material in my other courses. I recommend that other CCI undergraduates make an effort to find internships relevant to their professional interests as early in their time at UAlbany as possible.
ICSI 490 Internship
Software Development Intern, Autotask Corporation, East Greenbush, NY