The black and blues of Intel, IBM, and Microsoft, surviving chips to bits without much bruising. I’ve worked at 3 of the largest computer companies in the world and I wanted to share my experiences here with you.
On my first day at Intel, I got to take a tour of a fabrication plant where I would soon be working. I felt like I was walking into a TV commercial as I put on the static-free suits and watched technicians take wafers of silicon and turn them into processors. I listened in amazement as our tour guide described the fabrication process, knowing soon I would be developing the software along this process. At Intel, I was and intern and worked on automation for a fabrication plant. In this role at Intel, I owned the software I worked on, I did the requirements gathering, design, development, and testing. I was involved in rolling out the software to the manufacturing floor, and providing support for the software as it is used.
Here are some of my favorite things about working at Intel:
1) The cafeteria, I had moved across the country and was living in a furnished apartment with another intern named Kunal. As a college student, great food at my fingertips was a HUGE perk!
2) Intel’s internship process was great, they connected all the interns so we could find roommates for the summer and find temporary lodging for a few months. During my internship, my boss encouraged me to have informational interviews with a different employee each week. This was a wonderful way to understand the different jobs available at Intel and to network with other employees.
3) Intel has a program called Rotational Engineering where you can spend spend a year in 3, 4-month rotations in different jobs at Intel. This is a great way to ‘try-on’ different roles and teams at Intel before you make a larger commitment to one team. If I had skipped grad school, I would have joined this program hands down.
4) I also got exposed to Intel’s research department and the cool things going on there in graphics and RFID. I had never thought about Intel as a company that does software research, but they are interested in advancing the art of computing to take advantage of processor improvements.
Intel does a lot of manufacturing so they employ a number of engineers to understand and improve upon their processes. Until this point, I had always lumped all computer-related companies into a big bucket. Being a software engineer, I was in the minority at Intel. The company, however, relied heavily on good software to run. If the software in the plants went down, that meant a huge loss in production (and money) for Intel. My job was very mission critical which was exciting. I found the software was always very focused at fine-tuning the hardware process and less focused on generally good software design or reusable software … two of my passions.
The corporate culture of Intel supported lots of education and I took a number of trainings while I was there including effective communication and effective teamwork. Up until this point, I had very little training in soft skills so these were incredibly useful.
I did an internship with the IBM Extreme Blue Program in Austin and then joined full-time to work on a first release product called: IBM WebSphere Front Office for Financial Markets … long name, but basically it is the software that would run an information ticker like you see on TV on the bottom of CNBC or Bloomberg (or CNN but with stock info).
I worked in a really cool division of IBM Software Group called vertical industry solutions. These are customer-focused software teams that help create a solution for a specific set of customers such as telephone, banking, or financial markets. The development in this group is very customer-oriented.
As a developer at IBM, I did design, development, debugging, and unit testing of my software. In my group, we did a lot of requirements gathering, but this is very dependent on the group inside of IBM. There are generally separate teams for testing and for product support, although the developers work very closely with both of these teams.
At IBM there is a a generational gap. There are many folks that have 25+ years of experience and many with 0-15 years of experience, but very few people in the 15-25 yr range. In certain areas of IBM, this gap provides a feeling of parenting between the more- and less-experienced employees . In some areas, this is a huge benefit because the more-experienced employees provide great mentorship and leadership for the less-experienced employees. In other areas, it creates a lot of challenges.
At IBM, I felt they focused on developing expertise in their employees, be it customer, technical, or management expertise. Employees tend to stay in roles for a long period of time, developing deep understanding in these areas.
IBM has very few levels of promotion and most employees promote only 2-3 times throughout their career. This took a while for me to fully appreciate, because coming out of school I was used to moving at such a rapid pace. You can still receive pay increases and performance bonuses, but promotions are longer time investment.
My favorite thing about IBM (by far) was the well-established processes and incentives for publishing and patenting. I went to IBM straight out of grad school and was in a mode of writing up technical results. IBM encourages and incentivizes to prototype with new technologies and write articles (like DeveloperWorks) or patents around these news ideas. There was a patent review board where I could submit ideas and I go to sit with the lawyers to write-up patents when the ideas are approved. We had patent groups that get together and brainstorm ideas. I found the process to be a blast and a great way to meet new people. I co-invented 20 patents while I was at IBM.
As I was discussing this with my husband, he reminded me that at IBM I spent a LOT of time giving status. Status on status on status of items. I’m not sure if this was just my group or because I was a n00b, but I often felt that I spent more time reporting on things than actually doing them.
A small, but important, feature at IBM that I really liked was the Thank You Awards. At IBM each employee has a handful of awards they can send to someone else in the company who has helped them out. These are not major (a photo box, cross pens, etc) but it’s something that gave a quick and easy way to say thank you across teams and across divisions for taking that extra effort to help.
I am currently at Microsoft as an Academic Developer Evangelist … no, I will not heal you :) Although evangelism has been associated with churches and religion these days, Guy Kawasaki outlines the Art of Evangelism stating that evangelists are passionate about a cause. My cause is ensuring students have the access, exposure, and education that they desire to prepare themselves for success.
As you can imagine this job is tons of fun, I write the ‘News for Students’ section of the MSDN Flash Newsletter and hang out on our new Facebook Student Community (Microphone) and Facebook Group. I create lots of online trainings like these on YouTube.
At Microsoft I have a field position and if there’s one thing I have learned so far it’s that each division, group, and team in Microsoft operates very differently. The view from here is a bit different, no free soda or high-speed network for starters.
Evangelism is a fast-paced culture with a TON of email. In my interactions with other employees they tend to use email instead of instant messenger, so the email comes at a furious pace. For me, this was a bit daunting until I found a good rhythm. A lot of Microsoftees refer to this as “drinking from a fire hose”. So far, the fire hose is still pouring although I’m drinking ok for the moment.
As a company, Microsoft values breadth of experience. At Microsoft, employees tend to changes positions every 2-3 years. For me, this is exciting. I am beginning my career and want to get a wide variety of experiences underneath me. Although, it also means that as soon as I build a good relationship with another group the people in those groups tend to move on. However, the next point makes this more bearable …
I have found the product groups in the developer division (DevDiv) at Microsoft to be very approachable and responsive. Each product group has a set of mailing lists (which makes them easy to find) and I get responses to questions within 24 hrs. I’ve been working a lot lately with the Popfly Team and they generally fix my bugs in <48 hrs … wait did I mention that their team is <20 people. This is helpful since people move around a lot and it encourages you to learn more and ask questions.
I’ve found a lot of support at Microsoft for exploring ideas. I’ve heard from folks in DevDiv that the patenting is encouraged and incentivized, but don’t have any personal experience. I have participated in a number of competitions, submitting ideas that could potentially allow me to create my own “start-up” within Microsoft. My first year I participated in Think Week and last year I submitted a proposal to a Dragon’s Den competition in my division. I’ve never won, but the competitions are a great way to let your voice be heard within the company and to get feedback from the leadership teams.
In my division, I have found a lot of support to think independently and work as a free agent. My management team is very hands-off which provides me the freedom to really drive my own ideas and my own success. Although, ironically, I occasionally wish there were a little more status so I knew more about what all these other free agents were working on to be more involved or to better team up :)
Phew, if you made it this far thanks for reading. What experiences have you had that are similar or different?
Did this post or series make you say, "wow!" If so, Text W7 to 23000 (standard rates apply)