Tuesday, May 24, 2016

Mid-year reviews

Most companies have a very formal process for performing reviews, usually once or twice a year. I will admit to shirking this duty (the formal review) during my tenure as a Director of Technology. The circumstances were really to avoid the pay discussion since we were in a pay freeze, and I regularly met with my employees to ensure they were being coached and mentored. Not to make an excuse, only to provide an explanation. 
So now my company is into the mid-year review season. I don't have to do these being an individual contributor (meaning I have no direct reports).  But I have seen some of the suggested metrics for our IT partners, specifically software developers. I think they're ridiculously silly and not applicable to today's modern developer. What do you think?
Metric Title
  1. Achieve _____ % bug-free code for delivery to production.
  2. Decrease defect rate by _____% by (date)
  3. Document 100% of coding changes
  4. Identify application development process improvement ideas by (date)
  5. Increase code production rate to ___(#) lines of code per (unit of time) by (date)
  6. Increase mean time to failure __% by (date)
  7. Learn __(#) new programming languages by (date)
  8. Provide work estimates for programming tasks that are accurate within ___% of actuals
  9. Recommend new programming languages for inclusion in toolkit by (date)
  10. Reduce mean time to repair failures ___% by (date)
  11. Reduce rate of errors per lines of code ___% by (date)
Now that you've read the list, please comment! 
I'll start - at first glance, I think there is only ONE valid metric. ALL of the others are either things you should be doing NOW at 100%, things that have ZERO impact on quality or performance (like #5), or are so dependent on environment and others as to be easily gamed (#6) 
Which one is my personal favorite? #8 - Accurate estimates will reward you, your manager, and your team beyond expectations! Why? The credibility gained for being honest, accurate, and reasonable 100% of the time is extremely valuable to your clients - internal or otherwise. It means you know what you are doing, have architected an intelligent design and that you fully understand everything associated with providing a great product! It means that your clients can plan for (and count on) your delivery!
What do you think? Ready? GO! 

 

Thursday, May 12, 2016

Interviews...

I completed a degree with honors in software engineering recently. Normally, a new college graduate would be interviewing for that first job, but I am (very) gainfully employed and besides, 25 years of experience means I've already had my first job. and second, and third...
Over the years, I've interviewed folks and been interviewed many times. I was thinking about a couple of silly incidents that show there are some real challenges out there. The "real world" is not always "real" as you'll see!
The estimate: A middle-level supervisor once asked me to estimate a fairly significant enhancement to a commercial banking software package. I knew exactly what was required, and could even pseudo code most of it in my head being very intimate with the code. And, knowing that this request would likely be implemented, had begun to stub out some of the requirements in the code just to make sure I had things under control. I confidently replied that it would take "6 weeks" including testing, and that it would be flawless.  The supervisor (who I've known since high school) laughed and said "You've got two weeks, that's what I told the bank!" with a smile.
Have you ever been there? I asked him what he based his estimate on and took my 6 weeks and even the bank was happy with the results.  Sometime we don't have the luxury to do things properly, but somehow, especially in the big corporate world of IT, we always have time to do it over, and over, and, well, you get the picture.
The job:  I was asked to interview for an IT Director position at a call center. The owners were very enthusiastic about my experience and what I would bring to the company. Until this question: "This job will probably take you about 70-80 hours a week. How do you feel about that?"
(Think really hard about how you would answer such a blatant disregard for personal time)
I replied "It sounds like you have TWO openings!"   Well that pretty much ended the interview. Even if I had said OK, it would have NOT been ok. Personal time is for rejuvenation in order to be productive when you are at work. 70-80 hours would have quickly ended in a disaster for everyone.
I'm glad I don't have to deal with such silliness anymore - BUT wait!  There's more....for the next post....
Happy hunting everyone!