The journal of becoming senior tester (5) - becoming a domain expert

​Today, I like to write one of the most important career path for our tester, which is becoming a domain expert. We need to realize that many of us will not grow as a tools developer or a test architect. They will become either a professional QA, a domain expert or just switch to a new role. Personally, I prefer you consider to grow yourself in this area.

What is a Domain Expert?

Let me answer the question of what is a domain expert. Suppose you are working on testing a particular software for five years, are you qualified to be a domain expert. The answer is not really and it really depends on the meaning of domain expert.

For example, I have been working on testing SQL Server for six years. I am quite familiar with the data types, the collations, and can write basic SQL
queries. The term "domain expert" in this context is that you should be able to design database apps or managing databases. Why I define domain expert as this, because it is the base requirement for a database person to find out a job in other company, which is as a database developer or a DBA. Am I qualify a domain expert? I don't think so. Because I only know a smaller part of SQL Server functionality. I don't have experiences on design a database schema, building an application using database or managing a lot of SQL server instances. It will be hard for me to find a database developer job or a DBA job.

As you can see from the above example, the term "Domain Expert" is really depend on the context. If you are working on Windows team, the "Domain Expert" will be the
person who know installing/configuring/managing Windows, or the person who can write Windows software. If you are working on Visual Studio team, the "Domain Expert" will be the person who know how to programming using Visual Studio and .Net. If you are working on Windows Azure and SQL Azure, you should know how to build a scalable app using all techniques available in Windows Azure.

In this sense, the domain expert need you have a broad skill rather than very deep on small area. It also focus on end user how to use the software or the service we are testing.

Why we should become a Domain Expert?

At one day, you may consider to leave the current position, you may either choose a different group or a different company. One question you may ask for youself is that what kind
of skill I have learned from my past experience as a SDET, and what kind of position I am qualified. Unfortunate, today many of our SDETs have very deep knowledge on their components, and they lack of broad view of the product who is testing for. One of the reason is that our tester today focus too much on functional tests, which I believe will owned by dev in the end, and less focus on user scenario, or how end user use the product. That is the main reason that
even I tested SQL Server for 6 years, I am still not qualified as a database developer or a DBA.

 

You may wonder why we should consider becoming a domain expert or in another way, why not just stay in the testing role forever. The reason is that it will open a very
board door to your future and enable you having a better career. The need for domain expert will be much higher than professional QA, and the compensation
will also be higher, especially when you becomes a solution provider.

 

This is especially true for SDETs in Microsoft. Our company has so many great products, and so many customers. There are high demand on domain expert or
profession who knows Microsoft Stacks and know how to build end to end solutions. The more you learn about Microsoft stacks, the better of your career.

Suggestions for Tester

Now, I like to provide some suggestions for our testers. First, ask yourself what you want to be after three years, want to become a domain expert or want to pursue as a testing profession. This is the question I suggest you think and make decision as earlier as possible.

  1) decide which area you want to be focused. We are so lucky being at Microsoft that we have so many greate product and so many areas we are focus
on. In recent years, IT techniques changes so dramatics, we should carefully choose the area which follow the trend of IT. In here, I like a couple of areas you might be interesting to know:

· NoSQL and BigData is the hot area in database management field. There will be a huge need for people who know NoSQL, such as Hadoop, Cosmo etc.

· Windows Azure is Microsoft's Cloud Computing Platform, fully understand the system, and having knowledge about building scalable system is a big plus for your career.

· Windows Phone and Windows8 is our next version of operating system. Be able to build apps for these platform enable you find a developer job easily.

· Enterprise customer want to integrate social network, office, and mobile and Bing search together to provide better productivity. Be able to knowing Office 365, and other offers of Microsoft can enable you become a solution provide.

   2) develop your skill during your work. Once you have an idea of what kind of area you want to be familiar with. You need to develop the skills. If the area you are interested is not the area you are currently working on, consider to switch group. Also, doing side project and get involved in Garage projects by doing grass root innovation is always a good way to build up your skill set. There are plenty of great resources you can take advantage as a Microsoft Employee, and I do suggest that you explore them and
build up your knowledge. I do suggest that you set a goal, and continuous improve your skill set. It is your career, and you
should seriously spend your time on it. Please view my other blogs for some suggestions that you can improve yourself.

 

Suggestions for Lead and Manager

  Dear lead and manager, I hope you can realize that not all of your employee can be a profession tester in the end. We need help our people to grow their domain
knowledge, and give them a better career. One day, when your employee decide to change role or leave the company, they will thank you for providing chances to
help them build their knowledge, and thanks for Microsoft provide the platform for them to grow.

  Sometime, building a healthy and happy team is more important than finishing the tasks. The great asset of Microsoft is the great people we have.
As lead and manager, we should commit to make our employee happy and have a better career. Encourage people to learn new stuffs, allow employee to spend their own time on some area is always a good way to grow your employee. You will also realize that be doing so, your employee will also bring some new stuff back to their daily work as well.
Having domain knowledge and knowing how customer using the production is always good for testing, and it will be the trend of software testing

 

Conclusion

Working on a great company does not guaranty that you can find a job easily in the future. The chance is in your hand, you need to decide what is your career, and how to
achieve it. I hope I give you enough information to help you grow your career. I am also interesting to know your thought on this topic, if you have any comment or want to ask more question, feel free to contact me.