Answer for:

Hate programming, but interested in IT

Message 9 of 9

View entire thread
3 Votes

Allow me to suggest a few thoughts for you to consider between IT and programming. Allow, also, my apologies for a lengthy post.

IT is essentially programming using different "language" and syntax. Where the more low-level you get to the hardware (resistors, capacitors, IC's, etc. that make up the computers that are complex base2 calculators.), the more specific a problem and it's solution will be. The higher level you get the more that the details are hidden from the solution-space. From OOP to klugier methodologies like scripting multiple programs together with heavy parameters, all the way up to device connectivity like router-to-computer to so-on, you're building relationships with components.

Whether you code or not, a device's (or even programming language library's) specification is all you have to rely on for it's function. You need to know why you're using something if you're going to use it - not just use a device because "that's the way it's done." .. at least not if you want to go far.

In IT you may make a decision to use a 100mb switch instead of 1000mb, and not really tell the difference. Consider (given the choice) if you have something like 20 machines on a network leg that only needs basic networking to tell a program on the server that a user logged on, etc, you can manage to get away with deploying 100mb switches. However, if you have a separate media room that will be throwing around streaming video and other large file transfers, you'll want the 1gb switcher to avoid choking bandwidth and collisions. Now also consider, you may have put all of your 1000mb switches on the floor already for the less needy machines, and you only have the 100mb switches left when its decided to setup the media room. This may be where knowing about data types and packet sizes can be handy when planning or deploying your network. - (that and don't buy 100mb-only switches!! Why do they even sell them now-a-days?!?)

In IT you don't necessarily need to know things like variable primitives and other data types, or how to structure if/then statements and loops in order to splice and crimp rj45 or configure IP and machine names. You don't even need to know how programming objects work or how a compiler assigns memory allocation - but things like that can provide insight for IT situations ranging from designing the infrastructure, to load balancing and other traffic issues, and especially security and transport protocols. - knowing what is needed to be supported on your network.

Object-oriented design is a recurring theme in all aspects of modern computers, however if your school offers a class in logic, take it to learn it. That could single-handed-ly boost your approach to not just computer related decisions, but problem solving in general. I found that most of my fellow students in my programming class that were struggling (and that I've actually spoken to) did so because of logical errors in their approach to grasp key concepts. Computers are unforgivingly obedient. Step 1 must be done. Then step 2. Then step 3, so-on.

There was a student that was constantly stumped. After I explained what the professor already explained, he kept asking the same questions that would be answered if he did 'step 1,' which was to read the documentation that came with the assignment. It got very annoying, but fortunately he dropped and I could focus again. (i did patiently explain to the best i could.)

My point is that after one learns to ask the right questions, one must learn to be an effective troubleshooter and pursue to get even better at it - which requires attention to logic and emptying one's mind of what they think they know so one can accept and take in what they don't know.

For example, we use idiomatic expressions all the time in western culture - even expressions to mean yet more expressions - but when these expressions are broken down, they make no sense. I.e.: "You see what I'm saying?" ... it is impossible to visually sense, or "see" acoustic energy. One can see the effects of acoustic energy, such as water vibrations and so on. Even so, a computer couldn't comprehend the connotations of "do you understand?" it will simply carry out a "true" state, errors and all.

In IT (as well as programming) one must concisely use logic to follow the causality of potential solution paths when solving a problem. The approach cannot afford assumptions in the actual implementation, or the world will end. .. .... yeah... To make this long post less long, I will attempt a summary: IT is still programming. Only the tools used are bigger and bulkier.

Essentially, IT involves moving, setting up, and configuring computers, routers, firewalls, servers, clients, cabling, printers, taping, etc. Making them all communicate to each other and work according to a system admin's drooling daydream; the tools are (mostly) pre-defined. At many IT jobs, a monkey can be trained to do a bulk of the work.. unless you get into management (even then I'm not so sure you can get rid of the monkey). With programming, you *make* the necessary, abstract tools needed to solve a dynamic problem. They are, IMHO, two POV's to the same thing, and the two fields complement each other as the other posters have suggested.

Since you're in business school, either may help you - programming can help by getting you used to abstracting complex problems, and IT would help you to get your office in order without hiring out for simple things - it just depends on your interests and the role you want to take on.. If IT lures you more, go for it - you can always buy a "Head First" book for different programming languages (which may actually be more fun than courses).