Unthinkability

Scott Fletcher – Saying unthinkable and sundry things.

Archive for June, 2008

Jun
30

Interview Talking Points: Once again, with passion.

Posted under A Geek Dad's Life, Blog Posts, Healthcare I.T., Software Design

I’ve had a number of phone intervieiws with potential employers, bosses, partners, and entrepeneurs.  It’s been a long time since I last had to promote myself over the phone, so my first phone interview with a CIO was a bit of a train wreck; my thoughts were clumsy, disjointed, and confused.  After that phone call, I discovered that I did not remember how to communicate “who I am.” 

Speaking with prospective employers is a lot like speaking with the press; you have a finite amount of time to communicate your message.  You need to convey your strengths, admit your weaknesses, and communicate your passions.  It can be difficult to remember all of the tidbits during a phone call with a total stranger that controls [a portion of] your future, so you need a list of talking points to guide your thoughts and to remind you of your core values and ideals.  Here’s my list:

On SLDC, Methodologies, and Passion:

  • Companies with good people creating good products will do well.
  • SLDC methodlogies are frameworks to help talented people work together.
  • No amount of ‘methodology’ will compensate for a lack of talent and passion.
  • Passion drives innovation and performance.
  • Passion without experience and direction leads to chaos and burn-out.
  • Managers need to direct the passion of new developers to deliver on-time.
  • Managers can rekindle the passion of old developers by re-investing in their vision and experience.

On Projects:

  • Every project needs a person who owns and internalizes the vision.
  • Constantly protect against over-engineering, focus on near-term deliverables.
  • Capture the small design elements that give the users pleasure.
  • Communicate frequently, avoid snowball e-mails with multiple paragraphs

 On Management:

  • Lead by example, lead by doing.
  • Know more about what your developers are working on than they do, but not necessarily more about how to get it done.
  • Ask questions that show that you share their passions.
  • Give all the credit, take all the blame, and fix problems fast and head-on.
  • Hire developers that can communicate directly with the customers. 
  • “Back-room coders” are a waste or money if they operate in a vaccuum.
  • You don’t regret the people that you fire, you regret the ones you don’t.

I built this list over the last several years of personal experience with failures and successes, and it has changed only slightly over time.  These are some of my talking points, and I keep them with me during my interviews.

What are your core values, and can you communicate them within an “elevator speech?”

Jun
29

Unemployment is hard work.

Posted under Blog Posts

I am busier that a one-legged man at a… whatever.  Still, this is the first real vacation that I have taken in 14 years.  I am on the phone a lot and have been visiting offices, talking with business folks about “this and that,” but I feel a freedom that is difficult to describe.  I am acutely  aware that this ‘freedom’ is really ‘opportunity’ that must be siezed in a timely manner, but I am at peace with the world.

I have never been unemployed, so this is a new experience for me; My “next” job has always started before the previous one ended.  I had never been fired or ‘let go’ from a company until last week when my recent employer so abruptly closed its doors.  That sucked, and I am gaining a respect for others who have been layed off without notice.  I am lucky enough to have opportunities, but I frequently imagine “what if?”  What if my skills were no longer required or desired.  What if my talents were readilly available at cheaper rates somewhere else.  That scares the crap out of me.  It motivates me to keep learning, to keep absorbing, and to continue building upon my experience to remain valuable. 

Fear can be constructive motivation.  This fear forces us developers to plan our evolution.  Long gone are the days when we could just ‘dig ditches’ to earn a living.  We must constantly stretch our skills beyond our own expectations.  I keep this discomfort close to me as a reminder to keep moving.  As an aging code warrior, I have been hunted by the younger code warriors for several years, and they will always move faster.  I learned this “secret” several years ago: The only way to survive is to be their commander and shepherd the young coders into the future.

Another bit of advice that I got recently that really sums up my beliefs on being satisfied with any work environment: “Be yourself, but with more enthusiasm.”

Jun
24

Scott Fletcher is now “on the market” in Peoria, IL

Posted under A Geek Dad's Life, Blog Posts, Clinical Food Services, Healthcare I.T.

I am currently “on the market” in Peoria, IL as a developer, designer, and Director of Technology and Software Engineering.

How did I become available?  Our company’s owners decided to [close the company] instead of continuing to support this promising spin-off company.  Myself and over 20 other people had nurtured this company with passion and unrelenting commitment over the last 18 months, and we were poised to really drink our competition’s milkshakes.  Alas, our owners chose to [close the company].  Such is their prerogative. We should have [done things differently] for this product to [prevent what happened], but hindsight is 20/20.

Even if the decision makes sense from the owners’ perspective, it makes zero sense from our employees’ and customers’ perspectives.  It is/was a killer product with long, sexy legs and a growing fan base.  If we do not find a way to keep the product going, I will miss it deeply. Our pending installations and existing customers will miss it, too. They really like it.  The damn thing fits like a glove.  Also of note: The 800-pound gorillas that had previously dominated that market space were getting very nervous as we plucked customers away from them.

Regardless… no worries on the home-front.  I am updating my resume as we speak.  Look for a new page on this site soon listing my creds.  I started this product from scratch, and I can do it again.  I am in the business of creating something from nothing, and I can certainly do it again with equal or greater passion.

[edited 2008-06-25 for additional detail and tone]
[edited 2008-07-15 for detail]

Jun
22

Vote for Scott Fletcher in ’08

Posted under A Geek Dad's Life, Blog Posts

I saw this at Scott Johnon’s website, so I had to see it for myself.  Sure enough, I has no idea that I was so popular:

I am counting on your vote!

Jun
16

Official Comic Schedule (until I change it, or forget, or get too busy).

Posted under A Geek Dad's Life, Blog Posts, Uncategorized

Now that I am settling into a rhythm with the comic, Wednesdays are the official “new comic” days. I like posting/scheduling the new comics on Wednesdays because it lets me have the weekend with the kids and it gives me Monday night and Tuesday night to sit in front of the TV with the Wacom tablet.  I’m trying to stay a week or two ahead of my self-imposed schedule, and that has made it easier.  The minute this darn thing starts to feel like a burden, I’m going to shelve it until I lighten up.  That’s my promise to myself.  Will I break it?

Jun
15

Fathers Day = RC Helicopter

Posted under A Geek Dad's Life, Blog Posts

Awesome day with the kids, fun at the park, and… oh yeah… an RC Helicopter.  My wife rocks.  She hid it over at a neighbor’s house overnight to charge the battery.  Here is a video of someone else who also got one just like mine. (We took some video today, but it is not nearly as good as this.  So, this is NOT ME in the video.) 

  

You can pick up your own for about $25.  It’s certainly not a precision flying machine, but each 4-hour charge of the battery will give you approx 6-8 minutes of fun punctuated with moments of shear terror.  TIP: Fly it in a BIG open area with no children or small animals around.  It’s definitely a must if you have $25 to burn on a frivilous toy.

Jun
12

History is effortless

Posted under A Geek Dad's Life, Blog Posts, Uncategorized

My wife and I share the bedtime responsibilities in the house.  Every alternating evening, I read stories to my kids, turn off the lights, and have some quiet/quality time with them before they go to sleep.  This is my chance to recap the day, resolve the day’s happenings, and answer the “daddy questions” like “who made up all of the languages on the Earth?

So tonight, I described linguistic divergence (i.e. romance languages), and other forms of linguistic speciation to my 7 year-old.  It took all of 20 seconds, and my daughter totally grok’d it.  Then, she asked me what “history” was.

I told her:

“History is tonight.  History is 20 years from now when you’ll be telling your friends about June 12th, 2008, the night you asked your dad ‘who made up all of the languages on the Earth?’”

“You are making history just by being here.  Imagine what kind of history you could make if you tried.”

Jun
10

When complexity sounds like absurdity.

Posted under A Geek Dad's Life, Blog Posts

image If you string enough “project names” together, an odd series of events will occur. 

First, the speaker will sound brilliant and well-schooled in the latest and best practices. 

Second [and shortly after the first step], the speaker will sound like a stark-raving mad lunatic babbling incoherently. 

Try it.  It’s fun… unless it is you doing the speaking.

 

 

 

 

 

 

Jun
06

Wundermap is amazing

Posted under A Geek Dad's Life, Blog Posts, Uncategorized

You might know that I was a weatherman in Billings, Montana for a number of years (1989-1994?) at the NBC affiliate.  I was just a dumb college kid with a good voice and a decent on-screen presence, and I certainly didn’t know anything about weather (or “climatology” as the elitists would call it).  I did know how to wear a sport coat and tie, and to rip paper off of the printer and draw pretty pictures on the “Amiga Weather Graphics System” that we used to create and display the TV maps.  (Special thanks to the world-famous Mark Peterson for showing me the ropes.) 

I remember showing up 2 hours before the news cast to prepare the information for my 4 minutes of on-air time.  I ripped the forecasts off of the AP printer, filled out a XEROX form, drew some maps on the Amiga, and typed some text into the CG machine.  Oh, and we did not have radar so much of my “current conditions” information was hopelessly out of date.  I knew the temperature, and I knew the cloud cover percentage, but I couldn’t tell you where it was going to rain if it wasn’t already raining when the AP printer spat out the ‘current conditions’ sheet for the major cities.

It was standard protocol for the weathermen at our station to step outside and look at the sky right before the weather segment.  Even though we could see 5-15 miles of sky from the front door, it was not a fool-proof method of assessing the current weather conditions.  I remember saying on the air that “It’s a nice night with no rain in sight” while a violent rain and hail storm was raging 5 miles from the TV studio.  It was a glorious moment for my reputation. 

imageNow, almost 20 years later, I don’t even watch the local weather on TV.  I visit one of three web sites with weather information:

Accuweather, Weather Underground, or The Weather Channel.

Recently, I stumbled upon Weather Underground’s new WunderMap.  Based on Google’s map service API, the WunderMap is brilliant.  It displays the current radar imaging for the entire U.S. in amazing detail, animated, and includes storm watch and warning zones, and current temps and wind speed/vectors.  Zoom in and out, pan, and click any weather monitoring station for historical observations.  Brilliant. 

So, I have found my new weather tool.  Even though I couldn’t have shown the web page images on TV without paying a license fee to the website owners, I could have used and redisseminated the information collected from a variety of weather webstes.  I could have been “that guy who said that it is hailing in Lockwood right now” instead of being “that jerk who doesn’t know what he’s talking about.”  It’s definitely a different world than it was 18 years ago.

Jun
05

"Kung Fu Panda" game – Rescued villagers run to their death.

Posted under A Geek Dad's Life, Blog Posts

Kung Fu Panda for Xbox 360I bought the XBOX 360 game “Kung Fu Panda” for my kids, and we’re having a good time playing it.  It’s a simple game with few/no mind-bending puzzles, and you can progress through much of the game on the “easy” setting by simply mashing on the buttons until the enemies finally succumb to your feverish melees.  It is a visually beautiful game, and the voice-over acting and script are well done.  I stayed up [way too] late on Tuesday night playing it for 5 hours and nearly finished the game. (I grew tired of the “hit the buttons in this order or die” gameplay of the boss battles.  Reminds me a lot of the old Dragon’s Lair, and I hated that game!)

Throughout the game, your missions often include “saving the villagers from the big-bad-mean-guys.”  After you defeat the bad guys, the villagers run up to you, say thank you in a mini cut-scene animation, and then run merrily on their way never to be seen again.  It’s cute.

Rather, it was cute until I found out exactly where the bunnies go after you rescue them;

The bunnies run into the nearest bush or shrub, fall over dead, and then blink out of existence. 

You are not supposed to watch them be ‘de-rezzed’ from the game, but the graphics in these modern game consoles are so good that you can actually see the bunnies through the branches in the shrubbery. 

Again, they say thank you, run into the bush, fall over dead, and then disappear.  It is both funny and sad, and then funny again.

I can understand why the Luxoflux built the game that way;  All programmers create objects (create bunnies) and need to dispose of those objects (destroy bunnies).  Many objects actually know what they need to do to clean up after themselves right before the are disposed, and they can execute their own program code right before they are disposed of by their owners (for instance, through the IDisposable interface in .NET). 

Here’s what I think happened: I’m sure that the ‘bunny’ objects already had their OnDispose() methods written, and that the “Die” method had code to notify the game world that the bunny was ready for disposal.  Rather than writing a separate “GracefullyExitThisWorld()” method to gently fade out the bunny in a pool of glorious light, the developers simply ran the bunny into the nearest shrub, disconnected the bunny’s audio triggers, and invoked the bunny’s “Die()” method (or less directly, set the bunny’s Health property to zero).  So sad.

I imagine that the game code looked a little something like this:

protected void OnAllEnemiesVanquished()
{

    if (zone.Villagers.AnyAlive())
    {

        //pick the nearest bunny to interact with hero
        Villager bunny = zone.Villagers.GetNearest(hero.Location);

        //queue up the thank-you and “run to its death” actions
        bunny.ActionQueue.Add(new object[]{
        bunny.Go(hero.Location),
        bunny.Say(zone.Villagers.Script.ThankHero),
        bunny.Go(zone.GetNearestKillSpot(bunny), MoveMode.HappyRun),
        bunny.DisableDeathScream(),
        bunny.Die()});

        //Execute the actions.
        bunny.ActionQueue.Execute();
    }

    else
    {
        //So sad.  All were dead already.
        //This player sucks, but might be a 4 year-old
        //so we can’t ridicule the player.  We should,�
        //however, warn all of the other bunnies in�
        //the game to run out and buy a firearm or
        //start taking Kung Fu lessons.
    }
}

This is not a bug, or a glitch, or even a defect in the game; it is just something that I noticed.  Otherwise, the game is beautiful, elegant, smooth and well-crafted…

Except for the infuriating checkpoint-save system that forgets to save your progress after finishing a level, or the New Game / Load Game menu screen  always asks you if you want to overwrite your hard-earned progress with a brand new blank game!!!  My 4 year-old has accidentally had to start over twice!  I finally moved the default save slot so that it wouldn’t happen again… I think. Not cool, Luxoflux.)

If you have kids, I strongly encourage you to buy “Kung Fu Panda!”  It’s a hoot.