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, March 28, 2007

Surviving My First Semester at Carnegie Mellon West


The curriculum at Carnegie Mellon West is structured so you’re only taking one course at a time, so basically its just one course per semester. My first course was titled, “Foundations of Software Engineering”. As the name implies, this semester concentrated on the basics of software engineering: from the requirements-gathering process, the user interface mock-ups, the iteration planning to coding, documentation and presenting to stakeholders. I consider it the “umbrella course,” as its purpose is to bring all students on the same page and provide an overview of the entire process, so that we can then dive into the different aspects of “Foundations” in greater detail over the next two years.

We were tasked with planning, designing and coding the next release of a Java-based project management application built by a prior Carnegie Mellon West team using an agile development approach. While I had been exposed to extreme programming and unit testing years back when it first gained momentum in the industry, this semester was the first time I actually applied it to its fullest extent on a project. This included, yes, writing the test case before writing any code, and yes, actually programming with your buddy sitting right next to you.

I was fortunate enough to be put in a highly-motivated and effective team, and the semester went by very quickly. Our team worked hard and overcame some real-life challenges such as an unfortunate and unexpected loss of a team member (his company decided not to fund his education, so he pulled out of the program) and another team member’s extended trip to India. Our team embraced the latter as an opportunity to simulate the offshore-working scenario that many of us face at work anyways. In the end, we delivered the product on time and are very proud of our work.

I learned a great deal this semester. As described several times during the application process, much of what we learned in school literally was applicable during work the next day. By the middle of the semester already, I was convinced how useful unit testing really can be. At the same time, I cringed from realizing how much I did wrong in my last freelance project (a favor for a friend) that led to its massive delay.

Prior to enrolling in school, we were warned that doing the master’s degree at Carnegie Mellon West probably would take up to 20 hours per week on average. To adjust to this demand, I had to stop my volunteer work in the Vietnamese community, and unfortunately also had to stop exercising. The lack of exercise is something that the faculty and advisors strongly discourage, but to this day I still have not been able to incorporate my old work-out schedule back into my weekly routine. I also don’t find the same time to practice piano, and I certainly don’t find the time to shave my cats anymore (just kidding, I don’t shave them!).

As for the work/school/life balance, I don’t think it has been as bad as I originally feared. Most of the time, I actually spend less than 20 hours per week. Sure, I admit that it was a bit exhausting to program in C# all day at work, only to come home and program in Java all evening, but that’s why the last thing I wanted to talk about when hanging out with my friends was software (actually those things should never be a topic in your personal life, but is hard to escape when you live in here in Silicon Valley).

Overall, surviving my first semester at Carnegie Mellon West was not too difficult. I really enjoyed the work that our team did. I embrace the fact that I was forced to step out of my Microsoft bubble I have been in for so long to refresh my Java coding skills and learned a lot of non-Microsoft tools and technologies like NUnit, JfcUnit, Hibernate, and Eclipse. The hands-on approach of Carnegie Mellon West’s curriculum allowed me to learn about these technologies and software engineering methodologies much more effectively than having to read all this in books and never really practicing it (which is exactly what happened some six years ago when I first read about extreme programming and never applied it). Cool, eh?

posted by Carnegie Mellon Silicon Valley @ 2:52 PM  2 comments

Thursday, March 15, 2007

Students, Faculty and Team-Building at Carnegie Mellon West


As I was going through four days of orientation at Carnegie Mellon West last August, I was getting more excited and enthusiastic than ever before. The more I got to know the curriculum, the faculty and my highly-motivated and exceptional classmates, the more I fell in love with this program. I couldn’t think of anything better-suited for my academic/professional career than this.

The Students

Orientation started with all 57 students of the Class of 2008 first getting to know each other through an appetizer and beer mixer in the courtyard, followed by a nice, formal buffet dinner on campus. The first thing I noticed was the very impressive caliber of diverse students with remarkable backgrounds and well-rounded experiences. You know how you go into computer science programs and always meet those “nerdy nerds” sitting in the computer labs who talk about technical stuff 24-7, who lack all communication and people skills, and cringe when exposed to sunlight? Well, this class is comprised of software engineers from the other side of the demographics spectrum. It’s so refreshing to meet motivated software leaders from various renowned companies who are not only passionate about what they do, but also possess great communication skills and have great personalities. My team for the Fall 2006 semester, for instance, consisted of employees of IBM, Google, Lockheed Martin and myself from Microsoft. We turned out to be an exciting team and I very much enjoyed the dynamic and collaborative efforts; in fact, I would love to work with them the real world.

The Faculty

Carnegie Mellon West is a private school, and boy, does it feel like a private school (you know you are attending private school when they start serving you wine, and shower you with Carnegie Mellon laptop bags, shirts, caps, mugs, stickers and even school chocolate)! With a student-to-faculty ratio of 8:1, we develop close relationships with our professors, and I am on a first-name basis with all of them. Just as I was with my classmates, I was duly impressed by the faculty (my professor for the first semester used to work as software engineer for NASA’s Jet Propulsion Laboratory on the Mars Pathfinder mission--how cool is that?!).

Since Carnegie Mellon West pursues a practical approach to software engineering education, both faculty and students pretend to be in a fictitious company. My faculty act as fictitious stakeholders (say VP of Engineering or VP of Marketing), and we negotiate requirements, coordinate schedule plans, and have weekly status meetings with them with the goal of delivering some products at the end of the semester. It’s a very holistic approach as you learn more than just computer science and coding; you also improve your people and leadership skills as you interact with the faculty and your teammates.

Team-building

If there was one thing that was cemented in our heads during orientation, it was the importance and significance of team-building. I’ve attended so many leadership workshops and seminars in the past with the same old cheesy icebreakers, that there is little that can surprise me anymore; however, I encountered something totally different during orientation.

We spent almost two hours on a project to build a castle made out of Lego bricks in a small team. Building the castle itself took only 15 minutes really, but we were asked to assign roles and carefully plan construction to minimize construction time as much as possible: one person was the warehouse manager (and provided the team with the Lego bricks), one person was the construction manager (the only person allowed to put bricks together), one person was the quality assurance manager (the only person allowed to walk to the prototype model situated on another table for comparison), while I acted as the project manager (trying to tell the other managers what to do next). We planned, constructed, reflected, analyzed, re-planned, improved the process, constructed again, reflected again and so on. It was very interesting to see the team dynamics change and improve through open communication and careful planning at each iteration. It sure was a very fun approach to learning software engineering and team dynamics through Lego bricks.

The four days of orientation was a confirmation for me that Carnegie Mellon West was true to its word, and was delivering everything it promised. Although I was quite nervous about the workload that was ahead, I was encouraged to start the program off with such a bang.

Next time: Surviving my first semester at CMU West.

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

Previous Posts Archives