Apple Internship (June-August 2011)

26th August – Today was the last day of my summer internship. I passed on the project to my buddy and mentor, left some notes behind and cleared up the last of the known issues. The team went to BJs (just outside Infinite Loop) for a drink before the end of the day.

25th August – Today I dealt with a few small issues that had been discovered by the QA team.

24th August – Today I started to work more closely with the QA team to ensure that the contribution I was leaving to the app was stable, reliable and up to the levels of quality required.

23rd August – Today I was again reminded about the need to be extra careful with the amount of memory a developer should use of an ultra portable mobile device!

22nd August – Today I checked in a ton of bug fixes which made some of the smaller features I’d been working on reliable and up to Apple’s high quality standards. I’ve found that a tremendous amount of time and effort is put into getting every last detail right.

19th August - Today I learned more about version control systems and enabled my feature.

18th August - Today I had lunch with the rest of the team at a New Orleans style restaurant in Santana Row! In the afternoon I checked in the code for my project and accidentally stopped the app from working for a short period of time before I fixed it!

17th August - Today I dealt with issues involving automatically cleaning up unused files.

16th August - Today I went on a search and destroy for bugs in my feature!

15th August - Today I presented and demoed my summer project to the Vice President of Applications and various other applications managers and lead software architects. The feature I’d been working on seemed to be well received, and my audience seemed to enjoy the presentation.

16th August - Today I presented and demoed to the entire engineering team. I was pleased to see that the team seemed to like the presentation, and I gained a lot of feedback for my final presentation tomorrow.

8th August to 12th August - This week I worked hard on my project, trying to meet a deadline for Thursday. Unfortunately Thursday came and the deadline had not been met, resulting in some serious lessons in communication and time-estimating to be learned. Over the course of my internship’s penultimate week I will need to get things right by bringing the project to a smooth close, amidst presenting and demoing the project on Monday and Tuesday.

5th August – Today ‘symbolicate’ was the word of the day.

4th August – Today I fixed a ton of bugs that I was very ashamed to have introduced.

3rd August – Today I was given another device to use for testing.

2nd August - Today I took a closer look at the asynchronous nature of the advanced audio/video iOS framework, AVFoundation.

1st August – Today I managed to get to grips with transformation matrices, and how they can be used within user interfaces to achieve effects and handle varying device orientations.

July 25th to July 29th – This week I continued to work on my project, which has been slowly taking shape. I now how a deadline for my manager of August 11th, and a confirmed date for my presentation to the Vice President of Applications of August 16th.

July 22nd – Today I figured some details as to how the piece of the project I’ve been working on should be connected with the rest of the project with some colleagues, before heading to a ‘Beer Bash’ in the afternoon!

July 21st – Today I utilized Core Animation to start to achieve some strong visual effects.

July 20th – Today reviewed all the items I still have left to implement in order to complete my main summer project, and created a plan to tackle them.

July 19th – Today I worked on some new methods of presenting user interfaces.

July 18th – Today I continued to make progress with my project.

July 15th – Today I was given presenting advice at a session, ahead of my end-of-internship presentation (which has now been scheduled).

July 14th – Today I continued to work on my project design and implementation after attending a morning meeting.

July 13th – Today I switched focus from my project to work on a small enhancement request the team had received.

July 12th – Today I worked with QA to ensure that some rare problems wouldn’t occur with some of the new features I’d introduced to the code base.

July 11th – Today I attended a series of presentations given by managers and engineers from a variety of different software teams from the UIKit team to the Final Cut Pro and GarageBand teams, in order to learn about the many different areas of software development within Apple.

July 8th – Today I spent time learning new frameworks, utilizing the amazingly thorough documentation available at http://developer.apple.com, before heading to a Giants game!

July 7th – Today I learned more about Apple culture and the philosophy behind the great products Apple produces through an inspirational executive speaker.

July 6th – Today I plugged in a cinema display and coded into the late evening.

July 5th – Today I reviewed implementation designs with my colleagues and learned from their experience and expertise. My manager once described the team as an “all-star team”. He’s right.

July 4th – Today was a national holiday to celebrate America’s independence so I went to the beach with some fellow interns to enjoy some fireworks!

June 27th to July 1st – This week I started work on a large, new feature. The feature’s aspects were designed both in terms of the user experience and the implementation. A meeting was held involving members of the team to discuss the designs that we had developed so far where decisions were made that meant I could start thinking about how the feature would be integrated with the rest of the project. The implementation may take around a fortnight to get right. I suspect this feature will be a key part of the presentation that I will give to my vice president towards the end of my internship. Obviously… I can’t say what the feature is!

June 24th – Today I switched focus from one task to another due to a change in priorities.

June 23rd – Today I wrapped up several things I’d been working on and committed the source code. I started to get up-to-date with some of the latest features of iOS 5 and Mac OS X Lion by checking out the WWDC2011 developer session videos that Apple had posted online.

June 22nd – Today I made some modifications to the user interface.

June 21st – Today I continued to make optimizations to ensure the app was always responsed to the user’s input.

June 20th – Today I made considerations for runtime performance in the application I was working on.

June 17th – Today I observed more user-friendly ways of allowing the user to get the end result he or she is after.

June 16th – Today I learned more about the management of bugs.

June 15th – Today I looked at some of the advantages of disadvantages of utilizing particular developer frameworks.

June 14th – Today I considered some situations where the structures representing the model within an app shouldn’t be affected by the presentational aspects of the app in order to adhere to the advantageous ‘Model-View-Controller‘ design pattern.

June 13th – Today I learned about some of the challenges developers face when ensuring an app can be dynamically translated into different languages.

June 10th – Today I almost managed to finish a new mini-feature that I’ve been working on this week.

June 9th – Today I learned how to use some new APIs (to be honest I do that almost every day..!)

June 8th – Today I became reacquainted with the awesome food at Caffe Macs!

June 7th – Today I re-factored some of the code. It’s very strange to look back on something from eight months ago, but it’s all coming back to me now!

June 6th – Today Apple unveiled Mac OS X Lion, iOS 5 and iCloud whilst I re-registered with the company, got back my badge, email addresses and other necessary accounts for working with the company. Again, the need for absolute secrecy regarding all things internal was stressed, and shall undoubtedly be observed as I write this report. By the end of the day I was ready to start contributing to the product again.

Introduction

From June 2010 till the end of August 2011, I’ve been out on an industrial placement year as part of my Computer Science BSc wIE degree program at Manchester University. During which, I’ve currently completed two placements, one at Apple and one at Schlumberger, and I’m now about to start my third and final placement back at Apple. At the end of each placement, I’ve been required to write a report for the university explaining what I’ve done and what I’ve learned. So far, I’ve found writing these reports surprisingly difficult! It’s quite hard to summarize the incredible amount of things I’ve learned and done over the past 12 months to a couple of pages.

So, for my final placement, I’ve decided to do something a bit different. I shall write the report whilst I’m actually on the placement, as opposed to at the end. I’ll write a least one sentence a day, summarizing the main thing that’s happened on that day, and at the end of the placement, I’ll have a nice, complete, two page report!

I’ll add each sentence to this page in chronological order from the top to bottom, so this page will effectively turn into a little micro-blog! Stay tuned! :)

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>