Yuk Lai's Blog
I am a Software Development Engineer in Test (SDET) in the Windows Sound Team. If you don't know what Windows Sound Team is, then think of it as the Windows Audio Team. We own user mode and kernel mode audio platforms and drivers that together delivers the audio experience in Windows. When I say "own", I don't mean that all these components are ours. It's a Microsoft term that indicates responsibility. The audio experience on Windows platform is together delivered by many partners internally and externally. But eventually when it comes to audio, most likely it involves the work my team does. I have debated with my colleagues on whether our team is a platform team or a driver team, and we are both. We are in a rare team that owns a very vertical stack.
I have been practically working in the same team since I joined the company in July 2005, after my MSEE in Computer Engineering from the University of Texas at Austin. I researched in the area of Symbolic Execution of Software. I define my career as a Software Engineer who happens to work on audio features in Windows. I enjoy software development, but I also like to think about project management. I have my opinion about what are the right and wrong things to do both in software and in process, but it occurs to me that my thinking changes with time, for good or for bad. I will write what I think in this blog, but I have no guarantee that what I think is actually right. I guess that's in the definition of blogs.
I'm a software development engineer, I like to write code. I remember when I got the job offer for Microsoft I told Professor Khurshid, my Master's degree supervisor, that "I will just go and automate things in a couple months then enjoy the free pay". Yea, right. (Btw, do you realize this is a postive+postive=negative phrase?) 1) I didn't automated everything, 2) the pay was not free.
Let's be realistic, now I simply don't believe we can automate everything. To be honest, I don't think we can really automate that much. Let's consider the following:
I'm sure there are many other reasons, pros and cons with manual testing. There are still folks that think "thou shall automate". But to ship a good product, a healthy combination of both automation and manual testing is needed. I think the right ratio really depends on the specific feature area you are in. Here you go, my first rant (blog) about my work.