No matter which IT field you're working in, there are several skills that are useful for every IT professional to know. Here, seven experienced IT professionals working in the networking, programming, project management, and security fields, share what they believe are the most important skills that every IT pro should have.
Even if your job doesn't require software development, it's useful to understand how applications are built because everything we do -- from following Twitter feeds to filling out expense forms -- is enabled by software. IT professionals with an academic background in computer science will likely have done some programming as part of their education. For others, there are many ways of learning programming.
Martin Harvey, PMP, managing consultant at Coroware, says, "The language I'd recommend learning would be any C-based language. It's a fairly common language that can be found in Microsoft and Java platforms, but it's not trivial. At the other end of the spectrum there are more interpretive languages such as Visual Basic and Python. It's easy to mess around with Visual Basic and Excel macros on your PC. You'll learn about the fundamentals of programming and the logic of how data is stored."
2. Learning from the book The Mythical Man-Month
Publisher Addison-Wesley Professional describes the book The Mythical Man-Month as "influential and timeless." Originally published in 1975, author Fred Brooks shares his experiences as project manager for IBM System/360 computer family and then for OS/360, its massive software system. Brooks made several mistakes including adding more workers to a project falling behind schedule, and underestimating the time it would take to complete a project. The book was republished in 1995 with new thoughts and advice from Brooks. Harvey says: "It's like 100 things your mother told you. I still made some of the mistakes after reading it. But if you read the book, maybe you won't make the mistakes or you will recognize that you are making them and know when to duck."
3. Understanding the basics of networking
"The network is how everything connects and every IT pro should know how that happens," says George Morton, a dual CCIE (Cisco Certified Internetwork Expert). Morton says IT pros should study and understand the following:
- Who is Cisco, Juniper, etc., and what do they offer. "Knowing that Dell makes switches won't get you to the top of the game," says Morton.
- TCP/IP and IP addressing
- Network Address Translation and Port Address Translation
- IPv6. "It is coming and the sooner you get on board the better for your career," Morton says.
- IP telephony: packet vs. switched
- What are routers, switches, and firewalls?
- Basic Access-List configuration for Cisco
- To be able to read a Cisco IOS running configuration; not so you administer the router but just understand what it is or isn't doing for you.
- Be familiar with guidance from the National Security Agency's Information Assurance for securing your network.
Morton recommends several books:
- Cisco Networking Simplified - A first-class introduction to networking
- Cisco IOS Cookbook, Second Edition - This book should be on every IT manager's desk. I use it to build some of the world's most complex networks. Why? It's easy to read, creates standards for the client, and covers almost everything I need.
- JUNOS Cookbook and ScreenOS Cookbook
4. Know security best practices within your IT discipline
Given that businesses are moving or have moved aggressively toward relying on online digital resources to conduct their day-to-day operations, it is critical that those resources stay highly available and secure. Jamey Heary, CCIE, a security consulting systems engineer at Cisco, explains: "Without exception, the IT discipline that you choose will have security risks associated with it. To be successful at your discipline you must be aware of what those risks are and what the best practices are to lower those risks. You must understand the risk/benefit trade offs as well so you can make the right business decisions and apply the proper amount of security controls. Too much security is just as bad as too little. With too much security it is likely that your users will view your IT services as unusable. With too little security you open yourself up to attack and risk great damage to the company, customers, and the brand name you work for. Security is a balancing act that you need to understand (at least at a high level) for your specific job role.
"For network security you can implement security controls like firewalls, Virtual Private Networks (VPNs), intrusion detection/prevention systems (IDS/IPS), etc. For Windows Server security, you can implement controls like strong passwords, expiring passwords, disk encryption, antivirus, etc. For e-mail security you can implement antispam, antivirus, antimalware engines that scrub the mail before delivery. Every IT discipline will have its own set of security best practices that should be adopted to decrease your risk of being compromised by a hacker."
5. The benefits and caveats of capital expenditures
IT is a capital-intensive business and all IT people should understand the process of capital investments, says Michael Morris, CCIE, CCDE (Cisco Certified Design Expert), a communications engineering manager at a $3 billion high-tech company.
He says: "IT makes huge capital investments. Capital investments are purchases (servers, network gear, software applications) that are bought with cash, but are categorized as assets. The actual "cost" of these purchases is not incurred immediately. Instead, this cost is expensed in the form of depreciation, generally over three years. This provides the IT organization the ability to buy equipment now, but doesn't cause a huge impact to the company's bottom line. This is good, because companies can get what they need immediately.
"The problem is that these costs (depreciation) are now "fixed costs" and cannot be avoided. Every quarter, a portion of the cost of that new server you bought a year ago will hit the books (both the IT budget and the company's expenses). If the economy gets worse (sound familiar?), these costs cannot be avoided so companies must find other costs to cut. These other costs - called "variable" costs - include employees, who are often the first to go.
"Capital spending is a balancing act. It is needed and provides a great way to spread out costs, but can lead to sticky situations when hard choices have to be made."
6. IP addressing
At the root of almost all online communications today is the Internet Protocol (IP). At the heart of IP communications is IP addressing. Jamey Heary explains: "Knowing how IP addressing works is crucial knowledge for any IT professional. Every host, server, router, firewall, and network device must have at least one IP address assigned to it in order to communicate with other network hosts/devices. If you assign IP addresses incorrectly not only will the device not be able to 'talk' on the network, but you could also do harm to existing network devices.
"An IP address is a numerical 32-bit numbering scheme used by the IP protocol for identifying where something is. In many ways, an IP address is analogous to your house address. For example, to send a letter to someone I first put my return address on the envelope and second I put their house address on the envelope. The source IP address field in an IP packet is just like the return address on an envelope. It defines who sent or is sending the data packet. The destination IP address field in an IP packet is just like the house address on an envelope. It defines to whom I want the data packet to go.
"An IP address is represented in dotted decimal notation; four numbers from 0-255 that are separated by a decimal point (172.16.1.200). The IP address itself is broken up into two parts, the network address and the host address. The network address is very much like a zip code on an envelope; it provides the general area to deliver the message to. The host address portion of an IP address is very much like the house number and street address on an envelope, it defines exactly what location to deliver the message to.
The post office will quickly sort mail based on zip code, and send it to a local zip code post office where the street number, etc., are then parsed and given to the correct postman for delivery to the right house. In IP, the post office job is done by IP routing. It looks at the network portion (also called a subnet) of the IP address and delivers the data packet to the general location or subnet.
Once at the subnet a switch takes over (acting as the postman) and delivers the data packet to the host using the host portion of the IP address. Host IP addresses must be unique for every device in a given subnetwork. For the same reasons you can't have two "12 East Lane Rd, Tinytown, NY 22121," addresses, you also can't have duplicate IP addresses. If you did, there would be no way to uniquely identify who to deliver a message to.
Note: There is a thing called Network Address Translation in IP that helps with this problem, but that is for another discussion.
7. Perl and Tcl
Jimmy Ray Purser, network engineer at Cisco and technical co-host for Cisco's TechWise and BizWise TV, believes all IT pros should understand and be able to write a simple Perl or Tcl script. "The entire world of networking opens up to an IT pro who can write even the most basic of scripts." It is easier to learn than IP subnetting, and there are many great free resources on the Internet to learn it," he says. He points to two useful resources: Perl scripting 101 and Tcl scripting 101.
8. Using the OSI model for network troubleshooting
Networks are built on the OSI (Open Systems Interconnection) reference model, a seven-layer stack where control is passed from one layer to the next. Having an understanding of the model will enable you to better troubleshoot networking problems, as Michael Patterson, co-founder of network monitoring company Plixer International explains. Below, Patterson maps the seven layers to their related troubleshooting questions.
- Physical layer: Do you understand the topology? Is the user plugged into the network?
- Data Link layer: Can the technician use a packet analyzer like Wireshark?
- Network layer: Does the tech understand IP logic and subnet masks? How is a packet routed on the businesses network?
- Transport layer: How does TCP (Transmission Control Protocol) operate Vs. UDP (User Datagram Protocol)? Is it an ARP (Address Resolution Protocol) packet or an IP Frame?
- Session layer: Can the user connect to or ping the server? What is the time out for idle connections?
- Presentation layer: Does the tech understand basic HTML code, SNMP, and ASN.1?
- Application layer: The tech may not understand the application, but he or she should understand how applications can impact the network.
The technician should also be able to set up NetFlow on Cisco equipment or the industry standard sFlow to capture traffic data for analytical purposes.
9. Packet sniffing
Before you even use a packet sniffer - a network monitoring tool for network troubleshooting - understand how to set it up. "This means understanding the impact of the NIC (network interface controller) on accuracy and performance; when to use a SPAN (Switched Port Analyzer) port over a TAP (test access point) and vice-versa; and when to TCPDump/Tethereal over Wireshark," says Jimmy Ray Purser. You'll need to understand the various start-up options and how to configure Berkeley Packet Filters to clean up your packet stream, he adds.
10. Google is your friend
IT infrastructure expert Rocco (he didn't want his full name revealed) says: "Don't be afraid to ask for help." Oftentimes, Google is your best friend. Rocco says: "I have a real tough time remembering acronyms. A quick link to a current list is always helpful (Google it!). For example, I've been working on Web infrastructure a long time; I know all the components. A business development guy asked me to set up a LAMP server for testing. This is how I remember the definition of LAMP:
"L - Linux. I don't set up Windows servers anymore so of course it will be Linux
A- Apache. Come on get real. Is there really an alternative to Apache?
M - MySQL. Well duh! I'm not paying for Oracle unless I really need to.
P - PHP. It's been a long, long time since I setup Apache without PHP."
Rocco adds: "He could have asked me to set up a Web server and database and receive an instant answer, but instead he threw out acronyms he probably didn't understand."
11. Create a good PowerPoint presentation
All IT professionals - from VPs to individual engineers - need to be able to construct a logical and visually appealing PowerPoint presentation to communicate to other people, suggests Michael Morris. And don't think you can get away with black-and-white PPTs with page after page of bullets. "Use of a slide master template along with proper logos and colors are a minimum," Morris says. "Proper use of charts, models, and diagrams will also enhance your message and engage the audience." And remember, when presenting to anyone more than two positions above you (like the CIO), you need to condense your presentation down to three slides. "If you can't get it into three slides, it's too confusing and too much for an executive. Consider yourself a PPT expert when you can create a visually engaging presentation with proper corporate logos and colors using a variety of tables, charts, and models in only three slides."
12. Keep your e-mail under control
It's easy to be overwhelmed by your e-mail inbox, but being 2,000 e-mails behind is just not acceptable these days, says Michael Morris. "For most companies, e-mail is the primary communications medium between people and especially groups. Being 2,000 e-mails behind and complaining you can't catch up is a poor excuse. Today there are filters, organizers, alerts, webmail, and this new thingy call BlackBerry. Stay on top of your e-mail. No excuses."
13. Know why network delay is bad
Almost all traffic that runs across networks today - including the Internet - uses Transmission Control Protocol (TCP). TCP requires an acknowledgement (ACK) from time to time during a data transfer session. When TCP reaches a point where it determines an ACK is needed, it stops sending traffic and waits for an ACK from the other end of the TCP session. Only after an ACK is received does the data transfer start again.
Michael Morris explains: "In this setup, when the user and the server are right next to each other (let's say in the same building), the ACK arrives in very, very short time (under 1 ms). This creates a very short pause in the data transfer session. The TCP algorithm can then ramp up the data transfer rate to near 1Gbps.
"However, when the distance between user and server is great, it can take a while for an ACK to reach the server. It could take 300 ms to go from the U.S. to India over a WAN (300 times longer than when user and server are in the same building). Thus, the data transfer pause is much longer. TCP's algorithms then can only send traffic at a much slower rate, which impacts user performance.
"All IT people should understand this simple paradigm. As network delay increases, data transfer rate will fall, precipitously. Remember this when your users in Germany are saying the server in California is slow in the morning."
This is by no means an exhaustive list of all the skills that IT pros need to know. We would like your thoughts on what other skills you feel are essential today.
Guest Author: Linda Leung