News from National -- Current Articles
SQL Expert Cindy Anderson
Interview by S. Ibaraki, I.S.P.
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
- 3 Year: Making a
difference in the way Microsoft does business by continuing to be
actively involved in the diversity efforts.
- 5 years: General
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:
- Solid foundation of
computer systems through some sort of training process.
- 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.
- Positive Energy - You
work many hours in this industry so you need to high positive energy.
- 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.
- Hard working
- Excited about
technology - You will constantly be learning so it is much easier if you
are excited about the new stuff coming out.
- Quick Learner
- Ability to learn on
- Detail orientated
- 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
- Ability to
successfully face challenges
Q. What five career pointers would you provide specifically to women?
- 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.
- 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.
- 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.
- 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!
- 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
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
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
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.
- Web Services
- Smart Cards
- Data Mining
- Exchange Server
- XML/ XSL
- BizTalk Server
- 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
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?
- Migrate your
Repository to SQL.
- 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.
- Optimize your SQL
queries as much as possible. Use the Execution Plan within Query
Analyzer to determine if your query can be further optimized.
- 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.
- Understand the size
of the data. Is it a large db, do you require partitioning of the data?
- What type of
reporting will the data be used for?
- 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
- 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.
- Use ANSI Join syntax
in all your SQL Queries
- 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.
- 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_
- 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
- 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.
- 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
- Erik Thomsen et all.,
Microsoft OLAP Solutions
- Erik Thomsen, OLAP
- Steve Adrien DeLuca
et al., Microsoft SQL Server 7.0 Performance Tuning Technical Reference
- George Spofford, MDX
- Ralph Kimball et al.,
The Data Warehouse Toolkit
- 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
- Smart Cards
- Data Mining
- Exchange Server
- XML/ XSL
- 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.