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:
- 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.
- Determined
- Dependable
- 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
- Intelligent
- Motivated
- Ability to learn on one’s own.
- Motivated
- Organized
- Detail orientated
- Consistency
- 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.
- Multi-tasking
- Ability to successfully face challenges
- Focus
Q. What five career pointers would you provide
specifically to women?
A.
- 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 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.
- WWLAN
- Web Services
- .Net
- Smart Cards
- Data Mining
- Exchange Server
- XML/ XSL
- SOAP
- 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 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.
- 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 within
OLAP.
- 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 Resource Kit.
- 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 result.
Books:
- Erik Thomsen et all., Microsoft OLAP
Solutions
- Erik Thomsen, OLAP Solutions
- Steve Adrien DeLuca et al., Microsoft SQL
Server 7.0 Performance Tuning Technical
Reference
- George Spofford, MDX Solutions
- 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
- 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. |
|
|