Q: I read your "Back to Basics" article in Developer Update
(http://www.sqlmag.com/articles/index.cfm?articleid=49610&).
I've previously worked as a network/telecom/hardware/software support manager
but I'd now like to start a career in programming. I know almost nothing about
programming except for some classes I took years ago. Can you suggest a
starting point for me?
A: Programming is more or less a generic task done by several different
groups of IT professionals. So, I think the starting point for you is to look
at some of the broad IT categories and see which one best fits your goals and
expectations. The idea is to concentrate on an area in which you can be
successful. So, let's look at four primary categories of IT professionals and
what their skill sets are:
Database administrator (DBA). DBAs work with database systems, such as
Microsoft SQL Server. They can focus on two areas: systems administration and
programming. In the systems administration area, the tasks include setting up
accounts and permissions for database users as well as monitoring a database's
runtime performance. However, good DBAs go beyond just running a report. They
optimize data access. For example, they evaluate stored procedures' execution
plans, optimize stored procedures' code, and optimize databases' indexes. Good
DBAs are proficient in the skills covered by the Microsoft Certified DBA
(MCDBA) certification.
Traditional IT professional. The traditional IT professional is more of a
system engineer. In large organizations, IT professionals might specialize in
the setup and maintenance of a single server product (e.g., Windows Server
2003, Microsoft Exchange Server), whereas in small organizations, IT
professionals might need to work with half a dozen or more server products. A
talented IT professional not only knows how to open a user-management console
to add a new user but also understands how to optimize products through
administrative programming and other tools. Although the IT professionals'
primary focus isn't programming, having some programming experience helps them
be successful. These types of professionals become proficient in the skills
covered in the Microsoft Certified Systems Engineer (MCSE) or Microsoft
Certified Systems Administrator (MCSA) certification.
Information worker. Microsoft is promoting a new category of IT
professionals known as information workers. At my company, information workers
are specialists at customizing applications and client desktops. They typically
customize products in the Microsoft Office suite. In Office 2007 that includes
client applications such as Excel and server applications such as Office
SharePoint Server. There are many certifications associated with information
workers, so I'm not going to list them all but they include the Microsoft
Office Specialist (MOS), Microsoft Certified Technology Specialist (MCTS), and
Microsoft Certified Desktop Support Technician (MCDST). For more information
about some of the training available to information workers, I suggest going to
http://www.microsoft.com/learning/mls/elearn/iw.mspx.
Software developer. Software development is the traditional focus of
programming. However, talented software developers do more than just write
code. They also solve customer problems and design and document systems. In my
opinion, a good software developer needs about 5 years of experience to be able
to work independently. These developers are proficient in the skills covered by
the Microsoft Certified Solution Developer (MCSD) and Microsoft Certified
Application Developer (MCAD) certifications.
Taking into consideration these four categories of IT professionals, you
should determine the type of development you want to pursue in your career. A
good place to review the skill sets in all of the Microsoft certifications is
at http://www.microsoft.com/learning/mcp/default.mspx.