i had an interesting conversation with a fellow engineer tonight. Let me say that the guy i talked to is absolutely brilliant. He has an absolute genius at grasping and solving complex algorithms efficiently, and i am exceedingly fortunate to work with him.
Unfortunately, we tend to get in arguments a lot because his unparalleled focus on details and analytics tend to result in him kinda missing the larger point, and that’s when it sort of hit me. i really needed to take a step back and consider a few things, but mostly i needed to remember my personal “Golden Rules”.
What are these “Golden Rules”? Glad you asked.
1) Solve the Problem.
Sounds simple, huh? Well, honestly, it is. The surprising thing is that quite often, it’s even easier to solve a totally unrelated problem. This point was kind of the basis of the argument i had tonight. i had brought up a bit of advice i’d gotten a long time ago from a Systems Design course i took. It was in the very first class and it immediately garnered my respect for the prof (who had a long and very notable history). He stood up and told us. “There will come a time in your career where you’ll walk into a business and see that they’re working with index cards and shoe boxes. After you talk with them, and see how they work, you may come to realize that index cards and shoe boxes are the best way to solve that problem. If it is, walk away.”
My colleague immediately started arguing that index card data could be replicated in a relational database where the information could be queried for trending data and how that data could be analyzed and mined for…
Suffice to say, he missed the point. Yeah, index cards don’t always work. Neither do computers. The point is, know what the problem your trying to solve is and solve that problem. Don’t try to solve problems that don’t exist or you think might come up, because they don’t exist and may never come up. If you need to solve those problems in the future, that’s when you should solve them. Otherwise, they’d still be prototyping the wheel.
Don’t just hear, listen. Ask questions, engage in conversation, but listen to what the person talking to you is saying.
By the way, most people are horrible communicators. i like to think of it as personal autism. Often they know precisely what they want or what they’re trying to do, but simply lack the ability to convey that thought to you. It’s frustrating, and can be even worse when you start making up words like “broadband”, “parallelism” and “colo”. They don’t know what “solution scalability” means, and frankly don’t care. What they do care about is making sure that the damn thing works when they open up those branch offices next year. (A point they may not even think of telling you until you ask them about what they think of being in their office on Van Ness.)
3) State the Obvious
Ok, not the “too obvious” like “The sky is blue” or “That haircut looks horrible” but the things that bother you and seem to be obvious. Quite often, you’ll be amazed by how few people thought that it would work better if you put a button there instead of over there, or if you juggled stuff around a little, or if you just did this one thing. Other people, aren’t you. They don’t have your experiences, your “life lessons” and associated medical bills, your point of view. They’ve got theirs. It may well be that they’re so focused on a different problem that, no, they’ve never noticed the one you did. Tell them.
The worst they can say is “no”.
4) Know You’re Not A Genius
You may be brilliant. You may have multiple degrees. i guarantee you that in any particular room, there will be someone else that will know far more than you do about some topic and you will be the idiot they have no time to deal with. Use that to your advantage. Listen to them, ask them about what they think about, have them state the obvious, and find out the problem you need to solve.
Obviously, there are a lot more life rules you ought to follow, (“Don’t stomp kittens”, “Brush regularly”, “Flush”, etc.) but those are for another time, and frankly, if you haven’t learned those yet, i wouldn’t worry about remembering these.
Still, hopefully they might be useful.
So, did i miss anything?