Friday, August 28, 2015

10 Things I Learned As An IT Consultant

  1. Common Sense
 Kind of obvious, right? But really, basic troubleshooting requires common sense. You have to be able to logically go from one problem to another and systematically isolate the problem and test your theories. If there is anything I had to do repetitively in any of the jobs I worked there, this is it. Use common sense as you isolate and test using objective reasoning to come to an unbiased conclusion about the problem. This applies to just about any area of life, but I am also learning that it is exactly the same process for fixing bugs in code, too!

  1. Computers are tools
Maybe it's just me, but I thought that once you grew up, computers where little more than a necessary evil required to run your accounting software. Not so! Adults use them for all kinds of things! Seriously, though, I thought all geeks kind of grew out of it after a certain age, but I worked with people much older than myself who knew far more about computers than I did, and that was a humbling experience, after I had come to think of myself as such a technological wiz-kid!

In addition to being made for "grown-ups," I also learned that because computers are tools, people can use them to make a living. Much of the time, I associated them as being toys, or simply a device you use to play a video game. But, especially now as I learn how to program, I am seeing some of the real potential they have for making a real living and solving real-world problems.

  1. Breathing is required
I'm one of those guys who sometimes forgets to breath. When things get stressful, I sometimes find myself holding my breath for no good reason! At the IT Consultant job, Mike was the guy who kept emphasizing the importance of taking a break and staying relaxed. While it is important to plan ahead for the future, there really isn't any benefit to worrying! It is also important to step back from work (especially true in programming, I am learning) just take a break--regularly. Let the brain catch up and give your eyes a rest. It's easy to forget that.

  1. Confidence
This one was difficult for me. When a customer needs you to fix it right now and you don't know how to help them, do you want to know what keeps everybody from giving up? Confidence. I have been in the situation countless times: somebody feels like they should watch your every move as you troubleshoot their Internet connection, and you're stuck. If you let off that you're stuck, they start to get up tight. Then you start to get up tight. Instead, you look at the situation with an air of confidence. You aren't stuck, you're still working on the solution to a difficult problem. Give it some time, take a break for a bit, look at things a different way, or call a co-worker--just don't let yourself feel defeated. That hurts you and the person you're working for.

I also noticed the way Mike handled requests to do something we had never done before: unless it was something we knew for sure wasn't logically or logistically possible, Mike just said "yes, we can do that." There was never some excuse: "That's too difficult." "Too much time/work." He just said yes, and we would figure out how to make it happen, even if it meant creating our own tools from scratch! (Which we did, fairly often.)

  1. You can't fail
I had to have a double-take on this one. In a sense, yes, you can fail, like you can fail a test, or like I failed to help an angry customer find a solution and had to defer to a more experienced technician.

But I'm talking about the way that you treat those experiences. Often, it is easy to look down on difficulties of the past. But if we learn from those experiences so we can do better the next time we come to the same problem, is it really such a bad thing? I look at the day I couldn't help that angry customer, and remember how the other guys handled it and what they did that was different from my approach. As much as I wish I could have worked it out alone, I now have an experience I have learned from, and that's what I remember about the situation.

  1. Question the copyright
This concept took me out of my comfort zone, and I still feel I do not have the perfect understanding of it. Perhaps this is part of the reason I am such an open-source enthusiast anymore, but here goes: what can a person copyright? Work, ideas, information? I believe some things just can't be truly patented--take the square with rounded corners, for example. That's a shape. You can't own a shape. Sorry!

But how far does the concept go? Music, programs, books, they are all products made of smaller pieces (notes, logical concepts, words) that cannot be owned by any one person, so at what point can you claim something as yours?

Anyway, questions like these come up a lot in a business that utilizes both proprietary and open-source products. I have been able to watch how the proprietary mindset behind things as simple as an updating tool affect the way it works, and how when a product is produced with open values in mind, it can succeed in ways that cannot be competed with by the proprietary alternatives.

  1. Don't become a fanboy
When I first started working with the IT guys, I was really into a couple "systems." I had just recently purchased a Windows 8 License for my old laptop and was trying to figure out if I should keep my data on Google Drive, Evernote or SkyDrive (then OneDrive). The problem here is that I was so enamored with the corporations building the devices and applications that I no longer cared if they were the right tool for the job. I just wanted it to be a Google or Microsoft product. On the other hand, I was also very biased against Apple products, and while I still don't use them very often, I now understand where they can excel and where they fall short.

My reasons for using the tools I did were challenged in many ways, and I have since learned that the best application, software language, operating system or device is the one that solves your problem. It's really that simple! Nowadays, one of my biggest concerns is that what I use should be open source. While this is generally a good rule to live by (both for the wallet and the underlying philosophy), I notice that I still sometimes use the wrong tool for the job. However, anymore that's usually because I am advocating an open source product with less features instead of a proprietary product with years of support!

  1. Go the extra mile
This is what people notice! When you do the job that is required, then show them how you are going to prevent it from happening again, and fix a few problems on the side, you have their attention. I know I took some time out for specific people before, just because I wanted to know they were happy with a job I did. It was worth it. In addition, it gave me the opportunity to learn more about a problem, if it was new to me.

  1. Stay up late
I have learned that when I get excited about a worthwhile project, it usually pays to stay late at work or stay up late at home to pursue it. There were whole weeks when I would be excited about coming to work because I knew I would get to learn more about Linux or get to add features to one of my programs. My family thought I was crazy, but I would come home bubbling with information from the day. It was a lot of fun. If I feel momentum and excitement building for something I know is going to benefit my future, I try to take full advantage of it--even if that means getting to bed at 2 AM.

  1. It's about people.
For all the fun that computers and coding and solving problems can be, it would not be the same without other people. We get our inspiration from others. We get feedback and criticism from others. And when multiple people team up to solve a common problem, it's one of the coolest things in the world! I have come to understand this about the whole digital era. So many of the technologies we use today are made to make communication easier, and I think this is because we need to learn from others so that we can stand on the shoulders of giants and do something of our own with it, and then give it back so someone else can use it. That's a huge part of the whole draw toward computing.

And when we get tired of computers and code and the Internet, we can always get busy solving the really hard puzzles: people.

That's it! Hope you find some of these principles useful. Whether you do or not, I know I have, and it's good to have them somewhere I can find them in the future!

1 comment: