Thursday, March 9, 2017

So, You Wanna Be a Computer Geek?

I recently did a presentation for an Introduction to Management Information Systems class at the University of Manitoba Asper School of Business.  Students in this class are just starting to look at how IT and business are interrelated. One of the students asked me for advice on getting into the IT industry and this content grew out of that.

I suppose the more polite way to phrase it would be:
  • So, you'd like to work in the IT industry?

Areas of IT

One of the things that surprises many people looking at IT is that wide range of job roles. When you haven't been working in the industry, you tend to think that there is just the one role of computer geek. And your impression is likely that the computer geek does all computer related stuff including physically repairing computers.

In actuality, there are multiple job roles in IT. And, the more you learn about IT, the more you realize that you understand only your little corner of the world. The more you learn, the more you realize how little you actually know. Don't be disheartened as you go through that process. Nobody knows all of it.

Some of the job roles  are:
  • Help Desk - Takes support calls from users when computers or applications are not working correctly.
  • Desktop Support - Manages desktop computers which includes software deployment, repairing software problems, and repairing hardware problems.
  • Server/System Administration - Responsible for implementing and maintaining servers. This includes the server hardware and operating systems, Active Directory, and potentially some additional software that runs on servers such as SQL server.
  • Application Support - Responsible for configuring and maintaining specific business applications. For advanced troubleshooting, they act as an interface for interacting with the application vendor for support.
  • Database Administrator - A specialist that is responsible for managing and maintaining databases that are used by applications. This role troubleshoots database performance issues and implements the requirements specified for individual applications.
  • Network Administrator - Responsible for configuring switches, routers, firewalls, and other network specific devices.
  • Programmer - Builds and maintains customized software used internally. Programmers can also perform customizations for off-the-shelf software. Web development is also in this category.
  • System/Business Analyst - Responsible for helping bridge the gap between business units and the technical side by translating business requirements into technical requirements that can be implemented.
  • System Architect/Designer - This role is responsible for understanding how systems work and a high level and ensuring that any new applications/solutions work within the framework already developed for existing systems.
It's important to realize that not every organizations has all of these roles. Smaller organizations tend to combine these roles together. For example a small business may have 1 or 2 IT staff that effectively fill all of these roles.

If you want get into IT, you need to understand which role you're hoping to fill. The education requirements and career progression for each role is different.

Educational Requirements

When I started in this industry in the 1990s, many of us were self-taught and didn't have any formal computer training. That is not typical today. In most cases, you need to have formal related training in order to be considered for a position.

Help desk and desktop support are often thought of as entry level positions. The education requirement for these roles is usually a one or two year program that includes content on configuring desktop computers and some information about managing servers.

In larger organizations, desktop support can be an area of specialization rather than just a starting point. There is opportunity to move up within desktop support and have a wide scope of responsibility. For example, a large organization can have specialists that develop processes for deploying operating systems, applications, and configuring computers centrally.

Server/System administrators typically require at minimum the same one or two year program that is required for help desk and desktop support. However, this role is not entry level and you do require experience to obtain it. That on the job experience allows you to understand how all of the pieces really fit together and learn more technical details. In this role, you often have additional specialized technical training focused on specific products. Some organizations prefer a computer science degree for this role.

Application support can require a wide variety of technical skills. Depending on the organization, it may require a computer science degree or business degree. There will also be some element of training in the specific applications being supported. Some common applications such as Exchange Server for email may be taught as part of a formal education process. Other less common applications may be learned on the job or in training provided by the vendor.

Database administrator is a specialized role that requires specific education in database management. This can be a one or two year program or a computer science degree. There may also be training in how to use specific types of databases such as Microsoft SQL Server, Oracle, or MySQL.

Network administrators require specific training in how to configure network equipment. The most common way to show your knowledge in networking is to obtain industry certification from Cisco. Even if you don't use Cisco equipment in the job, having that certification shows you understand the general concepts that are required. Then you figure out the specific commands to implement what you need on equipment from a different vendor. Training for Cisco certification is provided in many one or two year technical courses.

You can get the training to be a programmer from technical colleges (2 year programs) or as part of a computer science degree. Generally speaking, a computer science degree will provide more theoretical knowledge that will help you advance more into design. A shorter program from a technical college will teach you programming, but less of the design aspects.

System/Business analyst is usually someone with broad business education and some technical knowledge. Often people in this role have a business degree with additional education or experience on the technical side.

A system architect/designer needs to have a broad range of technical experience, and years of it. In terms of formal education, it may be a business degree, computer science degree, or even an MBA. However, the real key here is that this is not an entry level position, it's something you work up to.

Industry Certifications

When you need to prove your knowledge of specific technologies, you'll most often end up obtaining industry certifications. Industry certification are exam-based certifications designed by the product vendors. I previously mentioned Cisco certification for networking, but many vendors offer certification for their products.

You do not need formal training in order to obtain most certifications. You can study on your own and then write the exam. Or, you can take short courses (often a week or less, but crazy expensive) that focus on the specific content related to that certification before writing the exam. Exams are available at testing centers throughout the world. Some certifications consist of multiple exams.

Here is information about some vendor certifications:
Some of the entry level certifications are included as part of formal training in technical schools. For example, you may get Cisco Certified Network Administrator (CCNA) or Microsoft Certified Professional (MCP) training. Another commonly included entry level certification is A+ certification for basic hardware and software configuration.

How Do I Decide?

If you're not already in the IT industry, it's pretty hard to figure out what you might want to do. I'm a firm believer in trying stuff out (or at least learning about it) to get a better understanding. It would be unfortunate to take a two-year programming course and then realize that you don't like programming at all.

The Internet is full of many resources on the technical details of help desk, desktop support, server administration, programming, and database administration. However, you may find it easier to start  learning about working in these roles by using content with some structure. Fortunately there is lots of that available for free on the Internet too.

The following resources are Microsoft-based because that's what I work with the most. There are many other worthwhile resources, but these are the ones I'm familiar with.

  • Microsoft Virtual Academy – Free online video training. This is no cost and Microsoft does it to spread knowledge about how to use their products. The IT Pros content is what I deal with, but you can also check out the developer (programmer) and data pro (database) content.
  • Channel 9 – Free online videos (typically 1 hour or less) about Microsoft products and features. Presentations from Microsoft conferences such as Microsoft Ignite are also hosted here (in the events section). Many people attend these conferences (at a cost of several thousand dollars), but I find it hard to justify when I can view the same information the day after for free.
  • TechNet Virtual Labs – Hands-on virtual labs that give you experience actually working with Microsoft products. Want to try out using Windows Server and creating SQL databases? This gives you access to virtual machines running that software completely free of charge. No need to setup your own test lab when they provide it for you. The labs includes specific activities for you to try or do your own thing.
  • Free eBooks from Microsoft Press - Most of these books tend to be introductory, almost marketing level content. They do a good job of describing features without some of the technical details. This makes them good for getting an overview of the products as someone looking at the industry for the first time.

Add Your Own Comments

If you have any additional suggestions for this content, please leave a comment below. This was written up in a couple of hours and I'm sure there are important and useful items that I've missed.

No comments:

Post a Comment