Student Blogs - Carnegie Mellon Silicon Valley - Carnegie Mellon University

Student Blogs

MS in Software Engineering, Technical Track Blog

Wondering if a Carnegie Mellon degree is right for you? Read about our students' experiences through the MS in Software Engineering, Technical Track program.

Rahul is a full-time MS Software Engineering, Technical Track student. He loves traveling, trekking, swimming and is a complete movie buff.
Anthony is a 2nd year part time student in the MS Software Engineering, Technical track program and works at OSIsoft as a Software Engineer. He loves spending time with his family, hiking, biking, gardening, cooking, and sometimes photography.
Suma is an alumna of the MS Software Engineering, Technical Track program. A Mechanical Engineering undergrad, she loves writing and is passionate about music, shopping and dogs.
Minh is a Software Design Engineer at Microsoft and alumnus of the MS Software Engineering program. He is also a Vietnamese community activist, a cat-lover and passionate fan of film music.
Nick is a Software Engineer at Google and a first-year grad student at Carnegie Mellon Silicon Valley. He loves hiking, gaming, and both really extremely good and extremely bad movies.

Wednesday, June 20, 2007

Software Architecture Before and After (Part II)


At the beginning of the semester, I said that I am going to write about “Software Architecture Before and After.” Well, this is the “and” part, since I just completed the first half of the semester. Consider this my mid-year evaluation of the program.

The Architecture course has been a blast so far, and I am thrilled to have learned, analyzed, and studied so many different aspects of software architecture. For the first four weeks of this semester, we studied different architectural styles such as peer-to-peer, event-based, service-oriented architectures, as well as the use of pipe-and-filters and other best practices commonly used in architecting software. The thing that’s really cool is that we don’t just study these styles from some boring books, but instead do case studies of popular “cutting-edge” software programs. In fact, among the ones we analyzed were some that I actually use extensively as an end-consumer: the P2P-based Voice-over-IP solution Skype, Housingmaps (the marriage between Google Maps and Craigslist), Sony Vegas (the very cool video editing tool) – just to name a few. My new and excellent team (this time consisting of employees from companies such as Visa International, Lockheed Martin, Yahoo and Microsoft) did a great job in analyzing each architectural style, researching how they were applied in other software programs and presenting them in papers.

Next, our team was also tasked to collaborate with another team on researching and presenting an architectural style of our choice. Through some good teamwork we delivered a presentation and handout on the Blackboard architectural style, with which I was thoroughly intrigued by its unorthodox style.

Learning and reporting on architecture alone, however, is not enough; so, equipped with new knowledge we were then tasked in applying that knowledge to a new piece of software, then architecting that same piece of software. A problem statement with distinct (and diverse) requirements was presented to us, and our team developed – albeit through some very heated discussions – an architecture for this software using the styles we learned before. The exercise of evaluating and documenting the architecture was well worth it, but I’ll dwell on that in a future blog entry since that will be the focus of the second half of this semester.

Overall, I just think it’s so cool to study software architecture by looking at commonly-used software programs. During our research, we also looked at programs and frameworks such as Wikipedia, Joost, ASP.NET and IBM WebSphere, and the applicability of what I have learned to my work was immediate. I was able to take the components of the software that I write at my work and neatly categorize them into these different architectural styles. In addition, my manager at work asked me last time to look into applying a Service-Oriented architecture onto the next component that I will be working on, and asked me if I was familiar with SOA. I smiled and told him that I just wrote a paper on it. That’s very cool, and I can’t wait to apply this knowledge even before this semester even ends.

posted by Carnegie Mellon Silicon Valley @ 4:41 PM  0 comments

Friday, June 8, 2007

The New Software Industry and other networking opportunities at Carnegie Mellon West


Carnegie Mellon West is located in the heart of Silicon Valley, and the proximity of the school to the industry that it serves brings along a multitude of advantages, most notably networking opportunities and speaker events.

The student team that you are placed in each semester is already a small networking forum itself. Since the teams comprise of students of diverse (and often well-known) companies, students can learn about different practices in Silicon Valley as well as from each other’s experiences. The question of “how do you do X at your company?” is often asked within our teams, and it’s always interesting to learn what works and does not work for a given company.

At a broader level, the Carnegie Mellon network expands across teams, faculty and alumni as well. We are encouraged to use LinkedIn to network with other members of the Carnegie Mellon West community (consisting of some 3000 CMU alumni in the Bay Area alone), and we often use this network to recommend and refer potential new hires for each other’s companies (or even find jobs for ourselves). Oftentimes, you also meet many CMU alumni at the various events that Carnegie Mellon West organizes. Each year, for instance, our campus plays host to the “Tour de Silicon Valley” where selected students from the Pittsburgh campus tour different software companies here in the valley. I served as their host presenter during their stop here at Microsoft, and in return was able to attend the corporate presentation at Google a few days afterwards (that needed a little bit of explaining, there, haha).

Carnegie Mellon West also usually brings speakers from the industry to the development community.

Last year, I attended a talk by Apple Co-Founder Steve Wozniak on “Engineering as an Art Form.” At this event, we were able to first mingle and talk with Steve in person over some light hors d’oeuvres. Following that, Steve gave a very funny, autobiographical talk about how Silicon Valley came to be, and his involvement with Apple (interestingly, he talked about everything but “engineering as an art form” though).

Last month, Carnegie Mellon West worked in conjunction with UC Berkeley to sponsor “The New Software Industry: Forces at Play, Business in Motion.” Being that this was an event organized by my alma mater, my current school and hosted at my current workplace, I couldn’t say “No” to the event; so during this one-day conference, I heard professors, university deans, CEOs, VPs, authors, venture capitalists and many other key persons in this industry talk about Web 2.0, SaaS, “perpetual betas”, investment opportunities, the role of open source and other topics that are shaking the new software industry. Speakers included Craig Mundie (Microsoft Chief Research and Strategy Officer), Adam Blum (Vice President of Engineering, Mobio Networks), Michael Cusumano (Distinguished Professor, MIT Sloan School of Management), Paul Maglio (Senior Manager of Service Systems Research of the IBM Almaden Research Center), and Kim Polese (CEO, SpikeSource, Inc) - just to name a few.

In addition, many professors of CMU or Berkeley moderated the sessions, shared their wisdom or presented themselves at this event. As a student in the technical track, however, I was hoping to see more technical content or discussions about the difficulties or trends of the new software industry, but I suppose this conference was more geared towards the VCs, PMs and other stakeholders. The conference content and videos are, by the way, available online at http://west.cmu.edu/sofcon/5404216.html.

Just this week, running out from a team meeting on campus, I caught the last part of Jim Burton’s presentation on campus where he spoke about his efforts as a development manager at Guidewire.com to fine-tune their agile development methods. That presentation was also made available to remote students via LiveMeeting, and Carnegie Mellon West is thinking of instating these speaker events as a monthly “dialogue on software management.”

As you can tell, there are many networking and learning opportunities. Finding the time in my busy schedule to attend them is usually the hardest part.

Next: Software Architecture Before and After (Part II)

posted by Carnegie Mellon Silicon Valley @ 11:55 AM  0 comments

Previous Posts Archives