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:
Blogger Eyimofe said...

Hello,
Your blog is very informative. I have a quick question, how many of your team mates had a background working as software developers? For those who didn't how were they able to adjust to the rigor?

October 4, 2007 at 12:40 PM  
Blogger Eyimofe said...

Hello,
Your blog is very informative. I have a quick question, how many of your team mates had a background working as software developers? For those who didn't how were they able to adjust to the rigor?

October 4, 2007 at 12:40 PM  

Post a Comment

<< Home

Previous Posts