Certifiable
Posted on Friday, June 13, 2008 ( Ergology | Software Development )

MCP LogoMy mother has been telling me this for as long as I can remember, but now Microsoft has joined the ranks of those who believe that I am "certifiable". How do I know? Well, like most of my posts, it's a painfully long story.

Throughout my career I've had opportunities to work directly and indirectly with a number of very impressive developers and developer managers. Of course, along the way there have also been those who were; well, less impressive. One thing that seemed surprising to me at first was that the possession of a certification did not appear in practice to be a good indicator of whether someone would fit best in the very impressive or less impressive category. That realization was my first clue that perhaps this certification business was just that, business, and had little to do with actual development skill or quality of experience.

Skepticism comes easily to me, so that bit of anecdotal evidence was enough to turn me off of certifications entirely. More recently it began to negatively skew my evaluation of job applicants who have multiple certifications due to suspicion that they spend more time reading and memorizing than they do applying what they've read. That suspicion plays off an assumption that certification exams only do one thing: evaluate how well a person has memorized the study material targeted for the exam. Here's the problem, without having ever studied for or taken one of these exams, that was a pretty big assumption to make.

Enter Tech•Ed. As recently mentioned, I was given the opportunity by my employer to attend this year's Microsoft Tech•Ed Developers conference. All in all it was a very enjoyable and personally beneficial experience. What's interesting for this story is that included in the materials emailed to me in preparation for the conference was a coupon to take a Microsoft Certification exam on site for only $50. Normally those exams will set you back $125 so that's a 60% discount. Definitely a good deal, if you're into that kind of thing.

At first I just archived the message (perhaps there's a future post in me on why I've stopped deleting) and ignored it. A few days later, though, as I was trying to think of things I could do on airplanes and in airports while traveling just about as far across the continental United States as you can travel, I remembered that email. "Hey, I could study for an exam on the plane, then take the exam at the conference." But if I thought those certifications were so silly, why bother taking an exam?

Simple, really. I needed to validate my assumptions. It has never sat right with me that I criticize certifications while knowing that I don't have any first hand experience at trying to earn one. From everything I had heard, the tests were quite difficult - and I believed it. So the only thing I needed to validate was that they don't prove anything beyond your ability to memorize (short-term) the specific subject material on the exam. Beyond that, it also gave me a specific goal for my time on the plane which I knew would be needed or I'd fall into my typical trap of reading valueless articles in whatever magazines I happened to bring along (seriously, when am I ever going to build new storage under my stairs? Our house doesn't even have stairs! Thank you, Popular Mechanics.)

Off to Microsoft.com I went to decide which test I should take. Then off to Buy.com to purchase the study kit. I did study on the plane for a few hours (though I underestimated how challenging that would be) and for a few more hours Monday and Tuesday evening after the conference sessions ended. In total, though, I would guess it was no more than 6 hours studying and some of that was likely through osmosis while my head lay prone on the open book.

The test I took (and passed) was 70-536: Microsoft .NET Framework, Application Development Foundation. It took me a little over an hour, and it was fairly challenging. What does passing that test get me? In day-to-day tangible items: absolutely nothing. In grander terms, it indicates that I'm eligible to pursue a variety of MCTS certifications by taking any number of additional exams (e.g. becoming a "MCTS: .NET Framework 3.5, Windows Presentation Foundation Applications" requires that I also take and pass 70-502.) Since I'm not actually certified without taking more exams, when someone asks me "what do you get for passing the test?" My best answer is, "it means I'm certifiable!"

Now that I've actually gone through the experience of studying (sort of), taking, and passing a Microsoft Certification exam, I feel better about applying my biases toward the program. There were some positive takeaways, though, such as the realization that in preparation for the test I studied a very broad array of topics (within the specific subject matter of the exam.) So although I still believe these certifications only prove a person's ability to memorize (short-term) the study material, at least I know that the material has exposed them to a fairly wide range of information. Whether or not I think they can effectively apply that knowledge in a real world environment, however, will remain strictly on a "show me" basis.

Helmut Bakaitis
Posted on Friday, February 29, 2008 ( Ergology | Software Development )

If you've never heard the name Helmut Bakaitis before, I'm not surprised. Until a few minutes ago, I hadn't either. In fact it wasn't until I decided to look up the actor who played one of the most pivotal characters in The Matrix trilogy that I stumbled upon his name. I also discovered that even though Helmut is an actor, outside of his performance in The Matrix he's not particularly well known.

Neo meets The Architect

This isn't really a post about an obscure actor, though. In fact, it's not even really about his character. Oh, that! I almost forgot. Yes, the pivotal character I mentioned but failed to name before is, of course, "The Architect" who reveals himself to Neo in the second film as the creator of the Matrix. "Creator" - now that word has a nice ring to it, don't you think? I have another related word, though. One which I prefer to apply to my work: designer.

Software architecture in its pure form is a very cerebral exercise. Essentially you are the person responsible for taking the overall goals and coming up with the plans or blue-prints which the implementers will use to build a solution. In that (overly simplistic) model, one person writes no code and another person does nothing but write code. Obviously the reality is something far less delineated in most environments, including mine.

However, I have noticed something which relates back to a post I made recently with regard to my productivity. What I noticed is that I seem to have far less issue with productivity when my work on any given day is balanced between architecture and coding. While in that mode I don't consider myself an architect nor a programmer, but rather a designer. It's that sweet spot wherein I'm able to take some time thinking heavily about my next steps and then immediately move to implement the plan I've devised, all the while identifying areas where the design may be weak or could be improved and quickly able to adjust the plans or completely re-architect them as needed. When I get into these cycles, those are the days when I'm most likely to get a call from Crystal saying "are you coming home tonight, or just sleeping there?" Even more telling is that I have to consider the options before responding...

It's one thing to identify these types of motivators, but I think the harder task is to find ways to use them for gain. For instance, having realized this about myself I've considered that rather than cramming all of my design-oriented work into one or two days, I may be better off to try spreading that work over several days or weeks if the task is large enough. In some cases that won't really be feasible, but I think the majority of the time it should be possible.

Determining whether or not this tactic actually produces a noticeable improvement in productivity would be difficult without some sort of metrics. That, of course, leads right back into my afore-mentioned post and the oh-so-loveable NPT form.

What do NPT and TPS have in common?
Posted on Monday, January 21, 2008 ( Ergology )

As I've mentioned previously, my first professional job was for LP which began in earnest in 2001. During my three year stint there I received a fairly thorough introduction into the world of corporate Human Resources (HR). That was partly because I frequently worked with the department while supporting and building applications they used, but also because LP was a fortune 500 company and you simply can't be a giant public company without a significant HR presence.

Unfortunately, like most HR departments LP's spent a lot of time assuring us meager employees that their goal was to make our jobs and lives better; while their actions showed that they primarily wanted our managers (and thus, their managers) to be happy. To that end, many a form was devised and unleashed upon us, which we were instructed how and when to fill out and (of course) made to believe would make our jobs and/or lives better. They had one particularly interesting form called the "Non-Productive Time" or "NPT" form.Personal productivity?

Now, I don't know about you, but filling out a form and submitting it to my manager and then to HR which is designed to track my "non-productive time" just doesn't sound like a good idea. The only times I ever remember actually using that form were to report vacation hours. However, I remember many more times that would likely qualify as non-productive, at least from LP's perspective, which were never recorded.

I bring this up now, over three years after leaving LP, because I find myself spending a significant amount of time at work feeling rather unproductive. It isn't because I don't want to work. I love what I do and am exceedingly happy with my employer and coworkers. Nonetheless, there are times when I eagerly head to work, excited about the day to come, only to find myself without any desire to work on the tasks at hand.

This isn't the first time, either. Days like these have come and gone throughout my whole career. I suspect it is a cyclical thing - such that if I kept track with enough detail and context, I could eventually identify a pattern. That's what I was thinking about when I remembered the good ol' NPT form.

Then it occurred to me: tracking my productivity sounds like a dangerous proposition. What if my employer found the data and saw that only a certain (surprisingly low) percentage of the time I spend at work is actually productive? On one hand, I'm a salaried employee so my pay isn't directly tied to the number of hours I work, but still - that data is probably not going to help me at my next annual review!

At this point I probably better answer the obvious next question, "What in the world do you do with all that non-productive time?" It actually varies quite a bit, but the short answer is that virtually all of my time is spent doing something that is productive in someway for someone. While I'm at work but not "working", I tend to do a lot of reading and research online. Some of it is entirely unrelated to my job, like looking at product reviews for lawn mowers and home theater equipment, but the majority of it is work-related either directly or indirectly.

I read a lot of tech blogs from which I often learn new things that benefit me professionally and ultimately benefit my employer. I also dig around for new software that's interesting or potentially useful. Occasionally I'll take some time to help a family member with their web page. That may not sound like it's work related, but if my boss decides someday that he needs me to start work on a web-based application it will be quite helpful that I've kept my skills up in that area. There are a few forums and an IRC channel that I frequent as well. Those are more social in nature, but it's amazing how a little inter-disciplinary networking can provide access to very useful information when I need it most.

So it's been a few days now where I've been less motivated to accomplish my tasks and more inclined to dink around. My internal work-ethic-meter is telling me I need to make some changes and get back into the groove. The first step is to get more sleep as deprivation seems to have an obvious, observable correlation. The second step is to, well, just put my head down and get to work. It is amazing how getting one task finished can motivate me to push on to the next.

I'm curious, though. Have you ever tracked your "non-productive time"? Would you? If you did, would you report the results?

Dress coder
Posted on Saturday, October 13, 2007 ( Ergology | Sociology )

Our CTO commented today that, "there are no ties in technology." I think he was quoting somebody, but I'm not certain. Anyway, his statement was in reference to a QA Engineer candidate who showed up for his interview wearing (what I consider) business semi-formal attire. In other words, he wasn't wearing a suit, but he was wearing a collared shirt with a tie. The tie didn't bother me a bit - but it did stand out. It also got me thinking about how my career has steadily increased my professional responsibility while inversely affecting my attire.

As listed in my LinkedIn profile, I've had four professional software development jobs in my career. At Louisiana-Pacific (LP), I was just out of school and a very junior programmer. Our dress code was dress slacks and collared shirt. Some people wore ties, but most did not. Following that I went to work on the other side of town for Integra Telecom as a mid-level programmer. Their dress code was still very professional, but since IT had our own floor, we got away with a more relaxed appearance. I generally wore khaki pants and polo shirts, but on Fridays we'd go collar-less and sometimes blue jeans.

A few months after we moved to Newberg, I found a job with DAC working out of the bottom floor of a large house on a private vineyard. My responsibility increased a bit more as I was basically given sole responsibility for one of the major subsystems - but still carefully supervised by our chief architect. There were only five of us, and there were no clients and no big bosses, which meant we wore whatever we wanted. Typically I dressed up more than the rest, wearing jeans and polo shirts or nice tee-shirts. But in the warm months, I wore shorts.

Flash forward to today and I'm sitting at work wearing nothing ... just kidding. I'm still wearing jeans and polo shirts, but the dress code is no more formal than it was at DAC. Some of us wear tee-shirts, some wear slacks and polos, and some wear shorts. No one, however, wears a tie. My responsibility has grown even more as I'm now expected to operate with little to no oversight and will likely be directing others as our team grows. It's a challenge I'm really enjoying and I look forward to doing it - in my own style.

Oh, and in case you're wondering; no, the candidate didn't get the job. But it had nothing to do with his appearance...

Run away! Run away!
Posted on Tuesday, September 25, 2007 ( Epistemology | Ergology )

One of the greatest film achievements of all time is the movie Monty Python and the Holy Grail. That is not opinion; it is fact (and therefore need not be defended.) Within the script of this inimitable masterpiece is a wonderful collection of unforgettable quotes so vast that not even the IMDB can catalog them all (you would essentially have to reproduce the entire script, which has already been done.) However, one of those quotes is a scene near the end of the film wherein the Knights of the Round Table, lead by King Arthur, are .. well .. why don't you just read it for yourself (note, it's much funnier when read with a British accent):

KNIGHT:  There!  Look!
LAUNCELOT:  What does it say?
GALAHAD:  What language is that?
ARTHUR:  Brother Maynard, you're our scholar!
MAYNARD:  It's Aramaic!
GALAHAD:  Of course!  Joseph of Aramathea!
LAUNCELOT:  Course!
KNIGHT:  What does it say?
MAYNARD:  It reads, 'Here may be found the last words of Joseph of
    Aramathea.  He who is valiant and pure of spirit may find the Holy Grail
    in the Castle of uuggggggh'.
ARTHUR:  What?
MAYNARD: '... the Castle of uuggggggh'.
BEDEMIR:  What is that?
MAYNARD:  He must have died while carving it.
LAUNCELOT:  Oh, come on!
MAYNARD:  Well, that's what it says.
ARTHUR:  Look, if he was dying, he wouldn't bother to carve 'aaggggh'.
    He'd just say it!
MAYNARD:  Well, that's what's carved in the rock!
GALAHAD:  Perhaps he was dictating.
ARTHUR:  Oh, shut up.  Well, does it say anything else?
MAYNARD:  No.  Just, 'uuggggggh'.
LAUNCELOT:  Aauuggghhh.
KNIGHT:  Aaauggh.
BEDEMIR:  You don't suppose he meant the Camauuuugh?
KNIGHT:  Where's that?
BEDEMIR:  France, I think.
LAUNCELOT:  Isn't there a Saint Aauuuves in Cornwall?
ARTHUR:  No, that's Saint Ives.
LAUNCELOT:  Oh, yes.  Saint Iiiives.
SEVERAL:  Iiiiives.
BEDEMIR:  Oooohoohohooo!
LAUNCELOT:  No, no, aauuuuugh, at the back of the throat.  Aauuugh.
BEDEMIR:  No, no, no, oooooooh, in surprise and alarm.
LAUNCELOT:  Oh, you mean sort of a aaaagh!
BEDEMIR:  Yes, but I-- Aaaaagh!
KNIGHT:  Oooh!
KNIGHT:  Oh, no!
    [roar]
MAYNARD:  It's the legendary Black Beast of aaauuugh!
ARTHUR:  Run away!
ALL:  Run away!  Run away!
    [roar]
NARRATOR:  As the horrendous Black Beast lunged forward, escape
    for Arthur and his knights seemed hopeless.  When, suddenly, the
    animator suffered a fatal heart attack.  [ulk]  The cartoon peril
    was no more.  The Quest for the Holy Grail could continue.

See what I mean? Inimitable.

Anyway, all that was really just to explain where I came up with the title for this post - which actually has very little to do with the subject. And on that note, I suppose I better get to the point.

I was reading a random blog entry today that caused me to wonder if I need to schedule more time away from my "routine". In other words, I need to spend more time working on work stuff when I'm not actually at work, and more time working on home stuff when I'm not actually at home. The reason is, like most people, my daily routine typically involves a lot of distraction. Life is not "modal" - we are asked and often required to multi-task both at work and at home.

On the work front, as I have mentioned before I recently took a new job. This employer, much more so than any of my previous employers, strongly encourages us to pursue professional training and growth on an individual basis. Such that when I asked to attend the Microsoft Patterns and Practices Summit this November, I was given an enthusiastic green light. Look out, Redmond, here I come!

That's a pretty good start. It means that for one week, at least, I'll be holed up in a hotel room for five nights with very few distractions and during the daytime will be attending non-stop lectures and presentations. All of which is geared toward helping me be a better developer and software architect, which will help me be more proficient at my job.

In addition to work, however, I also mentioned spending more time working on "home stuff" when I'm not actually at home. For everyone that means something different, but for me it mostly means working on my various hobbies and projects. Two major hobbies and projects are currently pressing on me to have major attention soon. One is our little farm, which is supposed to be turning into a vineyard, but has been waiting on some upgrades to the property (specifically fencing). The other is a little company called DreamTest Software that my fraternity brother Leon and I formed together back in 2002.

DreamTest has made significant progress. In fact, we now have two Oregon companies using our software on a beta basis to help operate their businesses. However, it still needs a lot of work before we'll actually be able to release it for public consumption and, more importantly, for sale.

And now we've finally reached the whole point of this post. Which is, ultimately, to say "Leon, you and I need to spend some time together in a hotel." If I hadn't lead up to that with such a detailed explanation, someone might take that statement the wrong way. For the record, Leon and I are both happily married men.

Work retreats are not simple from a logistical standpoint, but I am certain that a "home retreat" is even more complicated. Both my wife and Leon's wife will have to be committed and supportive of our cause for it to be successful, and we will have to do our part to reduce the added stress on them due to our absence.

If I can get Leon and both our respective spouses to buy into this event, I intend to make it happen. Because sometimes, we just have to "run away" from our routines in order to get things done.

Natural Tranxition
Posted on Friday, August 17, 2007 ( Ergology )

It's official! My current employment is nearing an end and I have accepted an offer to go to work for software development company, Tranxition. My spell checker keeps trying to tell me that the name is incorrect, but I'm fairly certain I got it right.Tranxition Logo

 

I'll be working as of September 4th for a company I have never heard of before, in a location I have never worked at before, with people I have never met before, writing software I have never attempted before. A lot of it will be very familiar, however, in that I'll primarily be developing in the same .Net Windows Forms environment that has held my attention for the past three years. Working for a startup is also not new for me since DAC, the company I'm leaving, is also a young small business (albeit with a very different history and culture.)

While it's a bit of a scary move, so much about it just fits that I really didn't think turning it down was an option. This will be the first time in my professional career that I work on an application that doesn't fit neatly into the category of "database-driven business applications." And for that, I am rather excited. Since I started my full-time software career way back in 2001 it has always been a goal of mine to get into new product development for a retail software company. This will be taking that one step further, since in addition to working on a new product I will actually be a Senior Software Engineer with responsibility for design and implementation while mentoring and leading junior developers. Even better is that since the company is presently undergoing a "changing of the guard" I get to help select those lucky developers who will join our team!

That's really all I can say at this point. Partially because I haven't started yet, and partially because even after I do start, some of the projects in the pipe cannot be talked about in public due to confidentiality agreements. Suffice to say there is a lot of really cool stuff coming up for Tranxition and I am very excited about being part of it!

Feel free to send your prayers and well wishes my way as I venture off into the unknown...

All content © 2010, Shawn Hempel