Careers: Interviews
SQL Expert Cindy Anderson

This week, Stephen Ibaraki, I.S.P., has an exclusive interview with Cindy Anderson, senior analyst, and a world leading expert in SQL systems, for Microsoft in Redmond Washington.

*****
Q. Cindy, can you describe your remarkable background and how you got to the position you are currently in? Also, what are your personal goals 1, 3, and 5 years into the future? What are your particular responsibilities?

A. I have an Honours BA in Psychology from York University in Toronto. My Honours thesis was on Scientific Racism. I previously worked in the Social Services field for 8 years in roles ranging from a Counsellor working with High Risk Youth to a Child Protection Social Worker. My final role within this sector was as a Child Protection Social Worker within the Ministry for Children and Families in BC for a period 3 years.

In 1997 I had a petit mal seizure which resulted in me being transferred from a family service team to an intake team. The transferred occurred so that driving was no longer a requirement for my job. My new role was to receive the initial intake calls for all Child Protection concerns and assess the need for immediate investigation. I was not very challenged in this position and wanted to make a career change where my medical condition would not affect my ability to do my job. That meant that I needed to be in a position that was not dependent on my ability to drive. If I was ever to have another grand mal seizure, my driver’s license would be suspended for a year as it had been in 1993. I no longer wanted my disability to have such a negative impact on my life.

So I began to investigate other career opportunities. I have a very good friend who had been in the IT business for a long time and was doing very well for himself. I decided that the amount of growth in this sector would allow for great opportunities for me. I investigated many of the programs available within the Vancouver area that were designed for mature students looking to change careers.

The best program for me was the ACSM program at Capilano College. This program was an intensive 10 months where all I did was eat, and breath computers. It was absolutely phenomenal. The quality of instructors and the scope of projects that we were required to deliver were really great introductions to what the real world in the IT industry would expect. At the end of that program I had an equivalent to a 2 year college degree in computer systems and an interview with Microsoft. I actually had to ask a fellow student to drive me home directly from our last final exam so that I could receive a phone interview from a Test Manager here at Microsoft. The outcome of that phone interview was an invitation to come down and participate in a formal interview loop within the IT department of MS.

I can’t begin to describe how excited, thrilled, shocked I was at the opportunity that was presenting itself to me. The night before my scheduled formal interview I wrote down 50 reasons why MS was going to hire me. In the interview loop the next day I was able to reiterate all 50 reasons. Even though I did not have the experience they were looking for, the test organization saw the passion and drive I had and decided to take a chance. I was offered a 3 month contract to come and work at MS as a sub-contractor. One month into my contract, I was offered a Full time position. I was completely beside myself with joy and grateful for the opportunity to work for this company.

I have been at MS now for 3 years and fulfilled various roles. I started as a Test Engineer, promoted to a Test Lead and then moved over to the development team and have been working as an Applications Developer since Feb, 2000. I am currently the lead developer for a data warehouse system that takes data from various sources, cleanses, manipulates the data, and creates a star schema to be used as the data source for multiple OLAP cubes. I am the system architect responsible for creating/designing the technical solutions for new feature requests made by our end users. As I am in the IT department, we are not creating specific shrinked wrapped software. Instead I am using the latest MS technology to build the applications MS needs to run its business. So I must make the decisions regarding which MS technology is the best to provide the business what they require.

The end users of my system are the Microsoft Consulting group, MCS. MCS provides consulting services to many business, so they must track hours and expenses logged against various projects. Our warehouse tracks all these data points and allows for complex analysis on revenue, profit, loss, employee utilization as well as other crucial.

Over and above my development role, I have become very involved in the diversity initiative within my larger organization. MS is broken into multiple organizations, my direct org is called SSIT, Sales & Support Information Technology. The parent org for SSIT is EPG, Enterprise Partnership Group. EPG has made diversity one of its primary goals and hired a diversity manager. SSIT created a Diversity Leadership team to ensure that the diversity initiative was being implemented successfully within SSIT itself. I have taken on the lead role of the SSIT Diversity Leadership team and am actively involved on one of the EPG committees as well. This role has given me the opportunity to continue in the work that I believe so strongly in and that was reflected in the educational pursuits at York University.

My goals are:
 
  • 1 year: Widen my breadth of technical knowledge to include technologies outside of the SQL & OLAP that I use on a daily basis. To be able to demonstrate which technology actually offers the best solution to the business problem.
     
  • 3 Year: Making a difference in the way Microsoft does business by continuing to be actively involved in the diversity efforts.
     
  • 5 years: General Manager


Q. For those just entering the computing field, what twenty tips would you give them to success in their careers?

A. I actually still have my 50 reasons MS was going to hire me so let me just use 20 from that list. The most amazing thing about this field is that you really can get an amazing career without first having to accomplish multiple academic goals. Many people in this field do not even have a degree but they are very successful and are able to make real contributions to the project they work on. Take me as an example, I don’t have what one would call classical training in Computer Science, but I am making a real impact here at MS not only in the actual development work I do on a daily basis but also in a much wider scope through the diversity work.

However it is that you are able to learn about the computing field is what you need to do first and foremost. For me I needed a program to teach me the basics and to really give me the possibility that I could actually excel in this industry. The ACSM program not only allowed me to gain the knowledge foundation that I required but I was also valued and respected to the degree that I knew I could make a meaningful contribution to this field. Some people are able to get that from a BSc, others from just coding on their own and actually seeing the results of what they are able to accomplish. Most of the list I am about to give really isn’t about specific computer knowledge it is more about the qualities that are required to really make a difference in this sector. Writing code or designing systems really isn’t rocket science it is just a process of learning new things. What will take a person much farther than the knowledge of the actual syntax of a language is some of the following core qualities:
 
  1. Solid foundation of computer systems through some sort of training process.
     
  2. Desire to constantly be learning - In this industry learning is one of the very solid consistencies. You’ve got to enjoy learning new things all the time.
     
  3. Positive Energy - You work many hours in this industry so you need to high positive energy.
     
  4. Creative Problem Solving skills - Many times the solution to the business problem is not an easy answer, so you need to be able to ‘think outside the box’ and actually provide the ultimate solution.
     
  5. Determined
     
  6. Dependable
     
  7. Hard working
     
  8. Excited about technology - You will constantly be learning so it is much easier if you are excited about the new stuff coming out.
     
  9. Quick Learner
     
  10. Intelligent
     
  11. Motivated
     
  12. Ability to learn on one’s own.
     
  13. Motivated
     
  14. Organized
     
  15. Detail orientated
     
  16. Consistency
     
  17. Confidence in one’s own ability - If you don’t currently have this than get with someone that can give you constructive feedback on your current skill level and how you can improve areas of weakness. - Acknowledge your current areas of strength.
     
  18. Multi-tasking
     
  19. Ability to successfully face challenges
     
  20. Focus


Q. What five career pointers would you provide specifically to women?

A.
  1. Don’t think you are the only woman in the technical track. Even if you are the only woman on the development team in your work place, always know that there are MANY technically skilled women out there.
     
  2. Don’t isolate yourself. Get a mentor. Find another woman who is also technically strong and ask her to be your mentor. Find out if your company has a resource group created for women. Here at Microsoft we have many Diversity Advisory Council, DAC, groups that provide support, education around issues relating to the specific diverse group. If there isn’t another woman on the technical track at your worksite, than join an Organization. For example Women In Technology Inc, WITI. They can provide great strategies re: career advancement and technical growth. If you company does not have any employee resource groups created, an organization like WITI would probably be able to provide some strategies around how to create a group that can support and develop the women within your company.
     
  3. Use all your strengths to your full advantage. One of the key things that women can bring to the computer field is solid communication. I am not trying to promote any stereotypes, as not all women are strong communicators. But if this is one of your strengths let it shine! But whatever your strength is use it to your advantage because there will be a need for it within the company you work for.
     
  4. Attend technical conferences. The amount of knowledge that you obtain during these intensive events is great. The other benefit on these conferences is the networking with other people who are just as excited as you about the possibilities that the technology can provide!
     
  5. Don’t limit yourself. This field really is limitless. Be responsible for your own career and take it as far as you want it to go. Don’t let anyone tell you different!!


Q. For those who have long established careers in computing but wish to change, what 10 computing areas would you recommend that they should focus on?

A. There really are 2 different types of technical avenues within the computing field. One avenue gives an individual a depth of technical knowledge. This is the person that is the guru, knows everything there is to know about the particular aspect of the computing field that they have been working of for many years. For example the technical expert on all issues related to developing a data warehouse. The other avenue is the person who has obtained the breadth of technical knowledge. This person has a very solid understanding of multiple technologies but does not have the depth of knowledge on any one particular technology. For example the Architect that is able to clearly choose which is the best technology for the business problem. This person would not suggest a solution because it is the technology that she is an expert on but because it is the technology that best solves the problem.

Anyone who has had a long established career in computing could probably classify themselves within one of these 2 paths. Regardless of where the individual classifies themselves, here are a few opportunities that I believe will provide a lot of challenges and excitement in the upcoming years.
 
  1. WWLAN
     
  2. Web Services
     
  3. .Net
     
  4. Smart Cards
     
  5. Data Mining
     
  6. Exchange Server
     
  7. XML/ XSL
     
  8. SOAP
     
  9. BizTalk Server
     
  10. Active Directory


Q. In your particular area, where do you see your company heading in the next one, two, and five years? What changes are you implementing in the short term and long term?

A. Within the next few years we will be moving into the .Net framework. All of our applications will be moving toward Services and away from the COM model.

We are currently implementing XML, XSL solutions to business needs. In the long term we will be implementing the .Net architecture within our systems.


Q. Can you give your top 20 tips for SQL and for OLAP? Also, what are the top five books you would recommend for SQL?

A.
  1. Migrate your Repository to SQL.
     
  2. Ensure that the OLAP is the correct tool for your system. OLAP is a very powerful analytical tool. If the end user wants to be able to do data mining or aggregations of measures, OLAP is the correct tool. But if the end user is expecting to see reports of in-depth details with little or no aggregation that OLAP may not be the optimal solution.
     
  3. Optimize your SQL queries as much as possible. Use the Execution Plan within Query Analyzer to determine if your query can be further optimized.
     
  4. Thoroughly understand your data and the relationship between the entities within your database. Continue to ask questions until you have confirmation that the relationships are correct.
     
  5. Understand the size of the data. Is it a large db, do you require partitioning of the data?
     
  6. What type of reporting will the data be used for?
     
  7. Access the power built into these 2 products. For example if you have a self-recursive table that creates a hierarchy, use the Parent Child Dimension available within OLAP.
     
  8. Don’t have very large Dimensions. If you have a large dimensions create artificial levels so that the number of levels are decreased. For example if you have a dimension on Products and you don’t have a formal hierarchy like Product Classification, Product Type, Product Name, create an artificial one. Products A –D, Product Name etc.
     
  9. Use ANSI Join syntax in all your SQL Queries
     
  10. With proper indexes, the TOP N clause and SET ROWCOUNT N statement are equally fast, but with unsorted input from a heap, TOP N is faster.
     
  11. Use a standard consistent Naming convention for all tables and columns. For example if you have a star schema prefix all your dimension tables with dim_ and all your fact tables with fact_
     
  12. Collect statistics on your SQL Server re: transactions per second by using performance monitor or by installing Performance Monitor as a service using the Microsoft Windows NT® Server 4.0 Resource Kit or Microsoft Windows® 2000 Server Resource Kit.
     
  13. In practice, when either ARITHABORT or ANSI_WARNINGS settings is off, you cannot create an index on a computed column or insert values into a table that has an index on a computed column because SQL Server detects such an attempt and returns an error.
     
  14. The ARITHABORT (which determines whether a query has ended when an overflow or a divide-by-zero error occurs) and ANSI_WARNINGS (which specifies ANSI SQL-92 standard behavior for several error conditions) session settings are off, instead of ending the query, the computation can have a NULL result.

Books:
 
  1. Erik Thomsen et all., Microsoft OLAP Solutions
     
  2. Erik Thomsen, OLAP Solutions
     
  3. Steve Adrien DeLuca et al., Microsoft SQL Server 7.0 Performance Tuning Technical Reference
     
  4. George Spofford, MDX Solutions
     
  5. Ralph Kimball et al., The Data Warehouse Toolkit
     
  6. William H. Inmon, Building the Data Warehouse


Q. What top ten technologies should IT professionals, businesses, and your channel partners be watching for in the next two years?

A. The following are not in any particular order
 
  • Wireless Technology
     
  • C#
     
  • .Net
     
  • Smart Cards
     
  • Data Mining
     
  • Exchange Server
     
  • XML/ XSL
     
  • SOAP
     
  • BizTalk Server
     
  • Active Directory


Q. What changes do you see for the future of computing, conducting business, and the use of the Internet?

A. There really is a powerful change occurring within in the computing field. We are swinging back to actually using the power in the client again. What we have right now is very similar to dump terminals in which all the processing is being done on servers out in the cyber cloud of the internet. All the power that is available within the client really is not being accessed. This is going to change so that both the power of the client and the server are going to be accessible in order to create amazingly powerful applications. No longer will we be buying shrinked wrapped software, instead there will be services that we subscribe to so that the whole


Q. What changes are you planning to make in your model in the next year, two years, and five years?

A. At MS we are always charging ahead on the latest technologies, so our model will change to implement all the .Net framework and web services.


Q. Consider this a blank slate for you to make additional free ranging commentary about the IT field?

A. The IT field is a space where you have the flexibility to actually create solutions to far ranging problems. Most companies within this field that are actually building business solutions are not what would be defined as the stuffed shirt variety. In many ways IT companies are seen as not being conservative. There is no need to wear a suit and tie. So it has the capacity to include many diverse individuals that may have been excluded in other fields. If you can prove that you have the skill set, an IT company would be hard pressed to not hire you simply because you didn’t go to the ‘right’ school. The IT field does have work to do within this crucial aspect of the business. We must ensure we are actually reaching diverse candidates and that once diverse candidates are hired that they are no artificial barriers in place that would restrict them from growing within their career. The benefit of this field is that most people within it must be able to handle change. So I believe that the IT field has the ability to actually create a inclusionary work environment where there are no hidden obstacles for people of diverse backgrounds to grow in the directions they want and to perform at their highest potential. The bottom line here is that when people feel valued and respected they are motivated to give the highest quality of work to their employer. This will result in a win-win situation. The solutions we will create will actually work for many different kinds of people because we would have a diverse input to how they are actually created.


Copyright Network Professional Association® 1994-2017. All Rights Reserved.
NPA Privacy Statement