I started off my career at IBM as a recent college graduate and I had to undergo corporate training for the first 3 months to gather a more holistic view of the entire underlying organization as a whole and work on specific technology, which for me was C# and .NET. Later as I joined a team, I became more familiar with the business process and how I can positively impact the business clients of IBM with my work. Your work does not revolve only on coding but also regularly interacting and collaborating with other sub-teams and clients as well. So, planning out the entire day is very important to prioritize your work. I really enjoyed my time at IBM and would not mind going back there again.
The term "Software Developer Intern" is very broad, especially at IBM. At IBM, the role breaks down into numerous roles (anything really) such as front-end development, back-end development, full stack development, QA, etc. I'm in the security department, but I consider myself to be doing full stack development. Right now I'm just learning about IBM's security technologies, how they fit into the larger scheme of IBM's services and what I'll be doing with them. In the future I'll be working with a team of 6-8 including a manager, developers and QA personnel to develop systems and design the way security threats that companies that IBM works with are registered in IBM's systems and how they can more efficiently be handled by IBM's security analysts. Sorry if that's very general and high level, but I'm honestly not even really that sure of everything I'll be doing! In summary, (and hopefully a more succinct sentence) I'm working with Java and different web technologies on different projects within IBM's security division.