Summer is here!
It’s hard to believe that another summer is already here. This semester flew by especially quickly after taking the fall semester off for an internship with IBM. The internship was a fantastic experience, but it was also great to return to school with a fresh perspective, being more aware of how the concepts I’m learning in my classes may or may not apply to the “real world” of software development.
Deciding exactly what to do this summer was tough, but I think I made a good choice. In mid-March I had four internship offers on the table (and probably would have had more but I had to decline some interviews to meet deadlines). After a lot of thought, I accepted a position as a UI Software Development Intern at Boeing (more specifically, Digital Receiver Technology). In the end, I couldn’t pass up the opportunity to spend a summer in the DC area working with an industry-leading defense contractor.
Over the past couple of years of being an intern, one thing I’ve noticed is that the corporate setting often doesn’t allow for much exploration or learning of new technologies. (Neither does the university classroom setting, in many cases.) Companies get locked into certain technologies and are either afraid or unable to make changes. If what they’re using now “works” and brings in enough money, why change? This especially happens when they have some legacy product built in the 90s whose codebase is an absolute nightmare after 15 years of the “get it out the door now, fix it later” mentality. No sane developer wants to touch that code, but the company can’t justify spending millions to fix something that isn’t technically broken. So they just hack some more features into the old codebase instead of adapting to the times. I’ve seen this happen at least once at every company I’ve worked for so far, so I’m guessing it’s pretty common.Read on →