I love IT. Here's where I write about it. Mainly about packet communications, but some purely philosophical posts as well.
Monday, November 26, 2012
20121127 Everything Packet: Where do you start? Build a Chair.
I'm sure, if you take a look at the last post, and this post, it probably looks like I forgot about the blog for a long period of time. Honestly, I didn't. It's just one of those things where you sit and look at it and ask yourself "Why?". I don't expect alot of people to be interested in the finer details of packet handling on a communications network, so I'm not sure why I would invest alot of time typing up all of my thoughts on networking to put on the Internet so that very few people would read it.
But, then I take a look at the embarrassingly huge amount of time I've spent on other pursuits that had even less productive potential (WoW anyone?). So, it's meaningless if this is a waste of time. So, "Why" isn't a problem.
The other problem is a serious one. Where to start. Really. I mean it.
I've been doing computers as long as I could remember. It's not something I do for work. It's who I am. Even when I'm having fun, it usually has something to do with computers. Nowdays, that's easy to say, 30 years ago, not so much.
I've built up more than my fair share of opinions on what is wrong with Computing (big C) over that time. They cover the entire gamut. Anything from the "Big Idea" things, all the way down to the "Nit Picky" details.
Where do you start? When you take a look at everything wrong with the world, where you could literally start in on any section and just rip it to shreds, how do you decide what to tackle first?
I guess we'll start with how to describe the problems with a particular chair.
The problem with this analogy is that everyone knows what a chair is. Or they think they do. With technology (or any suitably advanced subject, like Nuclear Science or such), most people don't know what a "chair" is. And those that should know what a "chair" is, probably don't. Those people who actually know what a "chair" is, had to find out the hard way, and most are so filled with self doubt (because they've trialed-and-erred their way to this knowledge) that they don't volunteer the fact that they know what a "chair" is, just in case they haven't learned everything there is to know about "chairs".
So, when the subject about "chairs" comes up, you find that the information about "chairs" is primarily dominated by people who, by personality, are the ones that are most willing to stand up and say what a "chair" is, not by the ones that actually know "chairs". This leads to suffering on a wide-scale basis.
So, what I'm saying is, "chair" design is primarily documented and promoted by people that are type A personalities, not by the people who have the best overall understanding on how to design a good all-around "chair".
So, what does it take to understand a "chair"? You have to understand the Universe, Human Society, Human Government, Human History, Biochemistry, Biomechanics, Human Physiology, Mechanical Engineering, and Chemistry.... at the very least.
Do you really need to know about the Universe (which is a very big subject, to be sure) to understand how to build a chair? Not really. But, I will guarentee that you'll build a better chair, the more you understand the Universe.
And, the "Universe" here is really my term for a point of view. I could have just said "you'll need to understand several points of view to properly build a chair", but phrases like that cause the brain to shut off. No, one of the things you'll need to understand to properly build a chair is the Universe. I didn't say "Build the BEST chair", I just said build a chair.
The Chair exists as part of a room, which exists in a house or building, which is owned by someone, which sits on the ground in a country, controlled by a government, which is part of a group of nations that exist on a planet, which orbits a star, which is one of billions in a galaxy, which is one of the billions of galaxies that make up the known universe.
Is it really that important to know about the Universal context of something when building a "chair"? I don't know, what are you going to build the chair out of? Let's say you decide to make the frame of the chair out of osmiridium. Osmiridium is a fantastic material for building chairs out of as it's incredibly strong, very durable, and very corrosion resistant.
The problem with osmiridium is that it's very rare, and likely to stay that way. But, you'd only know that if you understood how osmiridium was created in the first place, and that takes a much bigger view than you'll ever see by just looking at a "chair". (On a side note: I think, if osmiridium ever becomes commonplace, you'll find all chairs frames being made of it.)
The same situation exists for every context of "chair" building. To build a proper chair, you have to know a great deal about "everything". Heck, all I need to do is say OSHA, and that should be enough.
So... if building a proper chair, building a chair properly, not even a good chair just a proper one, is so hard, What makes everyone think that everything in IT is so damn easy?
Yes. Why does everyone think that IT is somehow magic, and that people who have NO interest in it can, all of a sudden, sit down and make unbelievably broad statements on how IT systems are to work, and enforce standards that only make sense in the land of physics make believe?
-IT Systems are orders of magnitude more complex than a chair.
Documenting something as "simple" as network routing protocols has taken volumes of books and entire lifetimes of people to get right. Ask John Moy to explain OSPF in detail in less than 5 minutes. Now, try to explain a chair in detail, in less than 5 minutes. The chair could probably be done in less that 30 seconds, and most people would probably understand it. I don't know Mr. Moy, but I would guess that he could talk for 5 hours and 90% of people still wouldn't understand.
-IT Systems are conceptual in nature, chairs you can see.
Computer systems "work" in your head. When you ask UPS how they track your package, there's no machine to take apart to point at the little stick that turns the gear that makes the package tracker point to your package in downtown Duluth. It's all concepts, imagination put to productive use. Public school beats imagination OUT of kids, it's not a productive skill to have according to most bureaucrats. I hate to tell you this, but you CAN'T do IT without having a strong imagination. Troubleshooting, design, support. Imagination is king. Imagination is lacking in the human race as a whole, and I believe it exists at an even smaller ratio for people with a business major. I'm not saying people with business majors aren't smart. Some are wickedly smart. But, being technically minded, and having strong imaginations are not traits that are sought after in people with business degrees.
-IT Systems are unbelievably interwoven, chairs interact with the other furniture in your room.
A typical IT system will normally involve itself with every aspect of that business, and people and companies outside of that business. All I have to do is say "Financial systems, Logistics, Human Resources, Voice and Video communications, Ecommerce, Manufacturing, Facilities..." and that's just a start. Here's the fact, because of IT, every human being that works for a organization is directly tied to every other human being that works with that organization. And the complexity of those interconnects are directly reflected in the IT Systems design.
-IT Systems require a diverse group of people to design, build, and maintain. A chair takes one Amish carpenter.
I generally get the feeling that management feels that as time goes by, fewer people are required to maintain IT systems. History shows that the exact opposite is true. Remember the mainframe? Mainframes died, not because the mainframe concept was backwards or out of date. Mainframes died because they weren't supported, upgraded, and the knowledge of the people who built and supported those mainframes wasn't actively promoted through training of the next generations of IT people. Everything you are doing today in IT is doomed if you don't continuously update the technology, and update the people. And, let's face it, you can't pick just anyone to learn and love IT. Most people would rather play fantasy football than go home and build a mainframe in their basement.
So, if designing a chair is complex, and IT Systems are orders of magnitude more complex than building a chair, why does everyone think it's so easy to design IT?
Here's my checklist for designing and building IT systems.
1. You must love IT. You must do IT for fun on your spare time.
2. You must have at least 10 years of blood, sweat, and tears in IT before you can design the "smallest" IT production system which affects human lives.
3. You must own it after you build it. If it doesn't work right, it's your fault, don't avoid it.
4. You must find and teach anyone you can who loves IT as well. If you have a good design, you must share the idea with others.
Number 4 is why I'm doing this blog. Let's see how far I get.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment