I chose to do an internship with IBM last summer, between May and August 2016. Overall, the experience was fantastic and contributed a lot to my knowledge Computer Science and mobile development.
I was given sole creative control over an Android app which functioned essentially like a Dropbox for business. If a hospital needed to send files to another hospital, this app would facilitate that. It would also allow for errors to be pinpointed and had chatting functionality to allow for partners to troubleshoot transfer problems. In order to accomplish these tasks, my internship was split up into what were called “iterations”. Every two weeks, my mentors and I would get together and discuss which tasks we wanted to complete by the end of two weeks. Then, I would then split up those tasks into different sub-tasks, and accomplish those tasks individually. This style of development is based on the “agile” software life-cycle and contributed to the efficiency of my code production. Every two weeks, we would deliver demos to executives and other interns detailing what we had accomplished. It was great fun getting to talk about and show off all the hard work I did every few weeks. A few times, people were visibly impressed and that was exciting.
On the social side of things, the entire internship did not feel like what I expected out of IBM. I expected extensive red tape, slowness, and general corporate inefficiency. Instead, what I got was a start-up style feeling with a lot of other young co-workers in a fast paced, relaxed work environment. The attitude in the office was very casual and friendly and nothing like I expected out of IBM. Full time employees did tell me that IBM is currently trying to undergo a corporate shift to becoming a more agile company, that is, becoming a company that is able to react quickly to needs and technologies. This is the direction that the vast majority of the tech industry is going, due to the rapidly changing world around us. The idea of a company being agile has a lot to do with empowering non-ranking employees to pursue ideas (even at expense), in the hopes of producing something valuable. It is the opposite of “waterfall” which is what many people are used to: an idea from upper management trickles down to employees and they essentially just do the work that upper management tells them. I was provided essentially total creative freedom with my app, and was only given a couple base requirements. This enables IBM to be more “agile” as the employee doing the work is likely more aware of what needs to be done to accomplish the task meaningfully.
We had a regularly used Smash Brothers room directly adjacent to my office that full timers would use to relax. People regularly dropped by to just chat and everyone seemed happy to be there, and that also contributed significantly to the success of my internship. Every Friday, my entire team, including full timers and interns, would go out for lunch at once of the ethnic restaurants in the Dublin area. One week it was Thai, another week it was Turkish, it changed every week. This was fun, and allowed me to get to know more about what life is like as a full time programmer and it was nice to get a sense of what people are like off the clock. Later in the internship, us interns decided to set up intern lunches where we would go to some near by fast food place to relax and have a bite to eat which allowed us all to talk about what we were doing or how we were feeling. I made a lot of great friends this way, some of which actually go to OSU!
At the end of my internship, I got to present my app, along with the app produced by my co-worker for iOS, and show off the functionality that was facilitated by my co-worker who worked on the back-end server work that allowed the app to operate. We presented in front of about 95 IBMers and fielded questions about what we’d produced. This was essentially the grand finale of the internship, and the rest of our time was spend preparing our code to be handed off to our mentors when we left.
Overall, this was an amazing experience and I highly recommend anyone who is reading this to stop right now and go look for an internship. I learned more in those 3 months than I did in 2 years of schooling, and it truly is mind boggling how much you learn separate from curriculum content. Things like social environment in the work place, work-life balance, ect are all things you learn about. You also learn about what your typical 8 hour day is going to look like, and whether you like it or hate it. I loved it, and this experience only cemented in my option of Computer Science and Engineering as my major.