Rusty Divine

Live, Love, Learn, Teach

Hedgehog Concept

Reposted from codesnipers.com

Do you feel a little bite of insecurity when reading a post about a new (to you) technology subject?

It seems everyone knows all about Ruby on Rails already, but I only just heard of it after becoming a Codesniper. I am quite curious about this new paradigm, and am woefully behind my peers. Isn't that just typical?

Doesn't Eric Sink say that to improve your career, you need to focus on the first derivative of Cluefulness - Learning? Shouldn't I find the next Ruby on Rails conference and take a long weekend to go learn all about it?

For my career, becoming proficient with Ruby on Rails probably wont benefit me as much as say, spending the same amount of time learning from that design patterns book that I've been using as a coaster. Oh, I listened to the Ruby on Rails 15 min. promotional video narrated by someone who sounded a lot like Emo Phillips, and I'll keep tabs on Ruby; I'll never grok it though.

My ambition is to have a truly great career, and I'll tell you how I am going to do it; that is, as soon as I figure out my Hedgehog Concept. Jim Collins wrote a #1 best seller, Good to Great, that examines companies that really kicked-ass over a long duration compared to similar companies that languished. His team found that the really great companies had many traits in common, one being that they had a crystal clear Hedgehog Concept.

The Hedgehog Concept is based on a Greek parable. The lesson goes that a quick and very cunning fox comes across this hedgehog every day that is lumbering down the middle of a forest path. The fox thinks that today he is finally going to make a meal of this dumpy little creature; the hedgehog thinks, "Here we go again." So, as the fox approaches, the hedgehog rolls up into a ball of needle sharp quills that stymies the fox who soon gives up and moves along. The lesson being that although the fox is a formidable predator, the hedgehog is very good at doing one very simple thing - defending himself.

Jim says you can develop a hedgehog concept for your business or yourself by considering the intersection of three principles:

  • What can you be the best in the world at?
  • What are you deeply passionate about?
  • What drives your economic engine?

It is important to find the intersection of all three in order to be truly great; although, you can still be wildly successful by finding the intersection of the second and third.

<Example>
Joel Spolsky has a Hedgehog Concept: To have the best (informational, entertaining) site on the web for discussing the art and science of software.

  • Joel on Software is arguably the best site for learning about good software and draws tens of thousands of visitors to read and discuss ideas.
  • Joel is passionate about improving software from soup to nuts; from concept, specification, development, user interface, deployment, marketing, and maintaining.
  • Joel profits by the exposure his site gets and as more people come to trust him, more people try out and purchase his software. His economic engine could be defined in terms of profit per unique visitor to Joel on Software.

</Example>

Instead of taking a shotgun approach to professional development, we should narrow our focus to our own Hedgehog Concept. Figure out what drives you, what you can be better than anybody at, and how to leverage both to rev your economic engine. If your resume has a paragraph of jargoned technologies, some that you've only read about, replace that list with the three or four concepts you really know. Instead of listing HTML, JavaScript, CSS, ASP, DHTML, XML, Web Services, IIS, etc. put "Web Developer".

Why should you develop your Hedgehog Concept? Well, as Joel explains, when the economy is doing well, it doesn't matter as much, but when it turns to muck, you'll be able stand out from the crowd.

Myers-Briggs Personality Types and Coping with Coworkers

Reposted from codesnipers.com

Do you have any coworkers that you just can’t relate to? Maybe Jim in Marketing, you know the one with a diamond stud in his ear, who plays solitaire while gabbing away for hours on the speakerphone? Or Janice, the DBA you try to avoid at all costs because of her propensity to start an argument over the most trivial of details, “Did you say detach! You better have meant backup and restore, buster! There will be no detaching around here, period.” Or how about Curt, who handles all the Flash animations, but can’t take constructive criticism about his work?

I was surprised and relieved to find insight into why people act the way they do when I stumbled onto the Myers-Briggs personality Type Indicators (MBTI). The MBTI are sixteen categories of personality types driven by psychological preferences, and knowing and understanding a persons MBTI can help you relate to why they act/react the way they do. When you see what drives a person, you can empathize with their position, and you can avoid their trigger points.

Your MBTI is a generalization, a best-fit, and is analogous to handedness – i.e. even if you are right-handed, you can learn to switch hit, much like if your natural tendency is to be quiet during meetings you can learn to take a more active role. When you are under stress, however, the tendency is to fall back on your psychological preference for coping.

My type is ISTP. Introverted, Sensing, Thinking, Perceiving, and although there is only about 5.4% of the population who fit in this category, my guess is that a large percentage of programmers are also ISTP.

A person with the ISTP type is an experiencer who values honesty, prefers action to conversation, is a bit impulsive at times, and covets their allotment of me-time. ISTPs are tool users who take pride in wielding the best, most honed tools of their trade. Many ISTPs are surgeons, engineers, and military personnel. They tend to lead the charge from the front of the pack, but are also comfortable taking orders. From Team Technology, “ISTPs direct their energy toward the inner world of thoughts (and, maybe, emotions). They analyze situations and come up with explanations of how things work. They prefer dealing with tangible problems and proven experience - they often enjoy solving organizational problems that need to be thought through.”

Remember Jim in Marketing? The guy with the diamond stud who can blab on and on to a until whoever is listening finally agrees with him, possibly out of being hypnotized by his voice? Well, your good buddy Jim just might be an ENTP; an extroverted, intuitive, thinking, perceiver. ENTPs are born leaders who almost can’t help but take control. They are very charismatic, and have a good understanding of the global picture and strategy. ENTPs love to take on challenges, but sometimes take on too many, and/or delegate the boring work to subordinates. ENTPs will win over clients, charm the suits, and will be a great power player if they are on your team.

What about Janice, the DBA who knows everything about the software and isn’t shy about asserting it? Janice might be an INTJ; an introverted, intuitive, thinking, judger. INTJs are Masters of the Universe – their quest is to understand their subject completely. An INTJ may not tolerate other people who make casual mistakes about details; calling something a Functional Specification when it is actually a Technical Specification will make an INTJ blurt out the correction in spite of being rude. INTJs strengths are in their domain knowledge – no one will know or understand more about the subject and all the myriad details than the INTJ.

So Curt, the guy who you told his blinking flash widget may be giving children epileptic seizures, and he took it so personally that he hasn’t said more than a grunted hello to you ever since, what is his type? Who knows? Curt probably just has the emotional IQ of a 10 year old. MBIT doesn’t explain everything, after all. I’d recommend just staying away from him; he’ll hang himself sooner or later and move on to a different job.

If you agree there is value in understanding what makes your coworkers tick, I encourage you to suggest a "Team Building" exercise where everyone takes 15 minutes to fill out an online form to find out what their type is. Later, you can all meet for a beer after work and have a good, friendly chuckle about each team member’s quirks. Even if you don’t want to take it that far, I suggest taking a look at the links below to see if you recognize your coworkers types; and certainly take the test yourself to find out more about you!

IT Death Match

Reposted from codesnipers.com

Today, I got a chance to put my money where my mouth is. I work in a small development division at a large consulting company that has a protectionist IT department. IT wants to protect us from everything, especially ourselves, which more often than not results in impeding billable workers from getting billable work done.

In the post linked above, I stated that IT divisions at consulting companies should be avoided whenever necessary. Have a project that needs a website? Don't post it on the company's web server, register a domain at Go Daddy and host it at Webhost4Life.

IT at any company that is not in business to do IT is like a 360 pound swamp creature complete with slime and tentacles that pulls you into the mire anytime you get within 39 feet of where it wallows. Why deal with that mucky mess when you could use a professional IT company like Webhost4Life that will treat you like a customer (not a hostage, intruder, villain, miscreant) and charge you a mere $10/month? (note: I have no affiliation with the linked professional IT companies, just direct experience with them.)

So, today I get a call from my customer. She has sent a link to the project website that is still on our internal web server to the reviewers, but the site has stopped serving all asp.net pages. Last week, we had set up an account at Webhost4Life to host the website on, but the FTP access wasn't working and I needed them to set up MS Index Server.

Let the death match begin! IT Swamp Thing vs. IT Pros

I called up our internal help desk, which goes by the acronym TAC (Total Assistance Center - ha!) to get the ball rolling there. The dude I talked to had never heard of an .aspx page - Bong! One point to IT Pro. After I told him that the customer was calling and was unhappy, he actually told me he was going to assign the issue the lowest priority - Bong! Two points for IT Pro! But I persuaded him to increase it one level, which insured I would get a call back the same day.

Meanwhile, I had opened up an on line help session and was typing questions to Marina over at Webhost4Life to get the FTP problem cleared up and the Index Server configured. She couldn't get the FTP site to work with Filezilla, Bong! One point for IT Swamp Thing, but did set it up so that it would work through IE. Next, I sent here the setup configuration for the Index server, but she had me browse to a web page to enter a help ticket instead, and gave me an indefinite, "Someone will get back to you" answer Bong! One point for Swampy.

By the time I left work, both ITs were still tied two-to-two. Even with similar results from both help desks, going with IT Pro is still my best choice because they:

  1. Let me have a website that I can FTP into (IT Slime prohibits this)
  2. Monitor the websites 24/7 and have disaster recovery plans
  3. Let me build a .Net page that can upload any file type (IT Stinky prohibits anything Outlook wouldn't approve of)
  4. And treats me like a customer, not a renegade script monkey.

Whois Rusty Divine?

Reposted from codesnipers.com

One night while laying quietly in the top bunk at a medical testing facility and using a pen light to read the university's course manual, my aspirations to be a mechanical engineer like my half brother came to an end. If it wasn't for Dynamics, which I did finally pass after three attempts, but which I'm sure hexed my soul, I may be a mechanical engineer today.

And thank God I'm not, because I can't write one line of code without breaking the compile! Imagine the masses of innocent lives that would have been snuffed out by my bridges, cat walks, and handrails (in that order, as my career spiraled into oblivion) if I hadn't given up on that fateful night! It may be your life I saved.

So what did I discover in that course book? It actually was about as far away from computers as I could get (unintentionally; I have been a computer hobbyist since before puberty). I read about Geology. Man, after spending years in a stuffy engineering department where some of my professors didn't even have necks, the thought of hiking around mountains, camping, and hitting rocks with a steel hammer really appealed to me.

Maybe it was the Prozac talking; or maybe I was low on blood after the 43rd draw of the day, but switching majors turned out to be one of my better life decisions. I met my future wife in the Geology department and have followed her career to our current rookery in Seattle where we live with our two Greyhounds.

My first job after college; well, the week I spent mucking out a glorified stomach deemed "The Digester" for $7/hr that broke down salad dressing waste water in a sandy slurry of bacteria doesn't count (in fact, I try hard to repress that memory...especially the part about the dead rats..); was at an environmental engineering company. I quickly transitioned into the "Database Guy" role, and later the "ASP Web Guy". After that, I bought about 200 pounds of computer books and have spent evenings and weekends constructing electronic fortresses and exploring new territories.

I've worked at environmental consulting companies ever since, and have specialized in ASP.Net with SQL Server. I wear a lot of hats though, from project management, analysis, development, through completion.

I love working in consulting because every few months I get to start a new project where I learn a client's business process and then work to automate and improve it.

I also enjoy reading, writing and arithmetic (expect dynamic arithmetic) and I look forward to sharing my experiences in the consulting world and learning about your reactions and your world views.

IWAH

My good buddy K-Dog taught me a lot about consulting, but most of it was bad habbits! No one was better at working 10-3 with a 2 hour lunch than the Dog. He was a lot like The Kramer of Consulting, except a very bald version.
K-Dog always had a insightful quip, or an interesting opinion to share, which is where IWAH comes from; an acronym for I'm "Working" At Home today - with Working emphasized with a sleazy wink. Someone has gone IWAH when they call in to the office to say that they can't make it in, but to call them at home because they're working there today *nudge, nudge, say no more*.
I went IWAH once last week, but I was proud of myself for being about as productive as I am in the office. My excuse? My truck was in the shop; and when I picked it up, the Blue Angels were flying over the city so the Interstate was closed down because slack-jawed rubbernecks would be causing enormous pileups if the city didn't keep them off the roads. I cheated though because I left my house and went downtown to a meeting with a client - I can't swear that I would have been as productive if I had stayed at home all day.
What is it about being home that makes it so hard to concentrate on work? For me, it's the dogs, the bed, and the fridge (daytime TV sux). Being out of the office is great because there are far fewer interruptions - no phones ringing, no coworkers asking questions or just making noise. Being at home though is too relaxing. Working at home is probably about as bad of an idea as reading in bed, both mix activities that are meant to be kept separate (although I admit I like reading in bed and don't find it difficult to fall asleep on nights that I don't read in bed).
I think the happy medium would be to work somewhere not home, and not at work, where there aren't any interruptions from noise or motion. A library that had wi-fi and allowed coffee would be perfect. I bet if you infiltrated your local college campus, you could find a good library with all the right assets...as long as you could keep your eyes off the college women (or men) with the same.