Blog

  • Use Research Time To Improve Your Team

    Use Research Time To Improve Your Team

    The schedule of every IT team I have worked with is full.  There is always a steady stream of tasks to be done and technical debt to address.  This makes it easy for a manager or team lead to keep the whole team working at 100% (or more) day in and day out.  The problem with this full steam ahead approach is that it does not provide time for research of new technologies and skill development.

    Popular Example

    Google made news many years ago when they scheduled a day a week for employees to research and develop skills.  Their instincts were tapped to the tune of 20% of their time.  This is not a small investment in employees and the company itself.  As it turns out, Google has been a pretty successful company.  You can see all sorts of products that have come out of that investment in their employees.  Just take a little time and browse the Google labs projects.  Many of these came out of that time allotted for research.

    This example is a good one for us to consider in scheduling projects and workloads.  Google is known for their innovation and skilled workers.  Some of this success comes from the employees that have been hired, but some of the credit goes to management.  This success did not come overnight but what if your organization is considered world-class a few years from now?

    Running The Numbers

    I am not sure a 20% investment of time is going to pass most companies.  However, what is the cost of 10% of their time?  Specifically, consider the typical IT worker does not work forty hours per week.  Fifty or more is common.  That is a 25% increase in “typical” work week hours.  Therefore, you can look at the hours worked Monday through Thursday, and that often meets the typical forty-hour workweek.  Providing a “research on Fridays” benefit would effectively be doing so with “free” hours.

    The cost of blocking out half the day on Friday for research or personal projects would be easy to absorb by any organization.  It used to be built into a lot of consulting companies.  They had a little thing called “bench time” that was non-billable work while waiting on a contract.  That has disappeared from many companies as they try to improve margins and reduce costs.  However, that has a price.  I worked at a company that used their bench time to create commercial software products.  They could have turned those consultants loose as soon as the billable jobs ended.  Instead, they turned them into resources to create another revenue stream.

    Making It Work

    A program like this is not to be taken lightly.  There is plenty of room for abuse and missing the point.  I have found that a few ground rules and some structure will go a long way.  The first step is to build in some accountability.  This has a danger of becoming micromanaged, but it is too valuable to ignore.

    The level of accountability I am talking about is regular status and setting goals.  Since this is research work, then the goals can be flexible.  However, there must be something for the employees to aim for.  This can be a challenge for those that are not self-starters.  Help them lay out a plan for what they want to accomplish.  Just make sure that you push them to lead the discussion and work on something that appeals to them.

    When you have a team that is working for you and has a “bonus” each week of doing something to advance their career everyone wins.  The employees will get better while becoming more loyal to your organization.  There is a danger of employees growing to the point where they leave to start their own companies, but I would argue that as good publicity.  When you have an environment that fosters success, you will have a steady stream of people that want to fill those holes.

  • Hours, Effort, Completed Tasks and Measuring Developer Value

    Hours, Effort, Completed Tasks and Measuring Developer Value

    It may be the line of business I am in (consulting), but it seems like finding how to evaluate developers is a common challenge.  There are discussions and even arguments about developer value that impact employees, projects, and even companies.  Although I do not have some divine insight to provide, I do have some food for thought as you consider this obstacle.

    Developer Value Varies Geometrically

    The most significant challenge in finding the correct mix of skills and adequate compensation is that the growth from low to high developers is not a straight line.  The increase in productivity is geometric.  Thus, a senior developer is often more productive than junior developers splitting the same compensation.  That means that pure math is not going to help you compare resources.

    We see this in the way off-shore teams produce when compared to local resources.  Not all off-shore teams are lower skilled than local talent.  However, they often are.  The whole model of off-shore is based on quantity over quality so you can get a team of developers for the price of a local one.  The odds would imply that this will always be a better approach (more is better).  Unfortunately, that is not the case.  Those lower cost resources are not going to bring as much value to the table.  There are a few cases where this will work out better, but those are rare.

    Solving Problems Is The Key

    The thing to focus on when evaluating software developers is that they are problem-solvers more than skilled technicians.  The ability to write more code in less time has no value if the code does not provide needed solutions.  I often use the terms coder and developer to distinguish between these skills.

    Therefore, the real developer value is not in their ability to write code or even understand a language.  The value comes from their ability to analyze and solve problems.  This is why coding tests are rarely useful in evaluating prospects.  On the other hand, interviews and long-form discussions will go further in helping you choose the best candidate for your team.

    Hours or Tasks?

    Now that we have looked at what gives the most developer value, it is time to consider compensation and bonuses.  This gets far more tricky.  Although you can argue on both sides of this (hours spent or tasks completed), it turns out that both are flawed.  Sometimes it takes many hours to slug through a solution,  at other times your best developer can crank out a solution in a tenth of the time of lesser skilled ones.

    I hate to say it, but I find that honesty on both sides is the best answer.  This also requires patience and understanding.  Even the best developers will occasionally lose hours of time on a minor issue or misconfiguration.  If you want to punish them for those “lost” hours, then you need to provide a bonus when they stumble across a solution in far less time than expected.

    Ok, Hours Works Best

    When you balance out the good and bad luck that impacts developers (and dealing with the mistakes of others) then it seems that hourly pay works best.  That assumes these things balance out.  The good news is that it reduces the level of scrutiny needed.  Hours are easy to track.

    When you want to compare developers, you will need to track progress over multiple challenges or projects.  If you have a small number of comparison points, then it is easier to make a mistake.  This is no different from any other form of evaluation.  You need to focus on their overall body of work.  This includes customer reviews and references.

    If you only check a reference or two (or see only one or two reviews) then the odds of making a mistake increase considerably.  Take your time and gather enough information to accurately assign a value to your developers.  It will help you build and retain the best team.

  • Hiring For The Long Term

    Hiring For The Long Term

    The typical hiring process focuses on finding a person to fill a position.  This leads to the position being defined by the current needs of the team or company.  Thus, it usually gets simplified down to a list of desired skills. This occurs even in the modern world of IT.  There are hundreds of skills that are utilized every day.  However, we manage to find ways to reduce a position down to a set of skills.

    Short-Term Matches

    To be clear, this is a good approach when you are looking for a short-term employee or contractor. That is why a short-term match is going to be the candidate with the closest match in skills. When a candidate has a skill match, they should have little to no ramp-up time. Thus, the percentage of time where they are not productive is minimized.

    Long-Term Matches

    When we switch to looking at the best long-term employee match the importance of skills drop off. They do not become irrelevant but they should drop in priority. Instead, the fit for the team should be given more weight. Areas of this fit include items like personality, drive, work habits, etc. This is easily seen in professional sports. American football teams, for example, often will bring in players that they plan on growing into a position. This is done rather than trying to fill a position immediately. They have found that it tends to be too expensive to hire for the position directly. Resulting in cases where even a perfect match for skills may be a bad hire.

    Bad Fits

    This would be a case where the hire does not fit with the organization. The long-term approach should be used in hiring full-time employees. It provides a better approach to building a team, keeps staffing costs down, builds loyalty, and more. This approach fits employees for the job they will have tomorrow as well as the needs for today. Please note, you can always stay tactical and hire consultants or employees that you only care to keep for a short time. However, when you do this too often, the costs can become detrimental.

    The regular loss of intellectual property (IP) due to turnover is also a standard weakness of the tactical approach. This tends to cause a loss of quality as companies rely more on short-term resources than those that have more of a vested interest in the success of the company.

    Strategic Job Descriptions

    One of the first things to focus on with strategic hiring is how job descriptions are done. A focus should be placed on skills that are needed in the long term and not just the short term skill set. The short term skills should be considered “nice to have” as it will help the employee become productive sooner. Since we are looking at a long term investment, the skills that are needed in the long term should end up providing more value to the company. Thus they outweigh a slow start when the employee needs to learn those short term skills. Obviously, the applicant with a match of both short and long term skill sets will be the best.

    When putting together a job description that is more strategic it helps to look at where you see the ideal employee in one, three, five, or more years. What skills will they need to have for that role or position? Do they need to have those skills today? On the other hand, do they need to have a certain set of skills that will help them get to that position/role you envision for them?

    This approach teaches that it quickly becomes less about technical skills and more about soft skills. These include things like: the ability to learn, fit with the current team, ability to help build the team, work ethic. Also, do not forget skills and traits that will make the employee a fit in the company rather than just a fit for the job. The true benefits of a strategic hire may have nothing to do with the position they are hired for. The initial role may simply be a stepping stone to prepare the employee for a position where they will bring greater value to the company.

    The Interview

    In the hundreds of interviews I have done of technical candidates, I cannot think of a single one where the answer to a technical question did much to sway me on choosing them. You do need to use technical questions to properly vet candidates. However, when you have a pool of candidates that all pass the technical test, what is the next step? How do you differentiate among them to find the best candidate? If you are looking at a short term fit, then the answer is “who cares?” You just pick one and make an offer. They won’t be around long enough for you to notice anything beyond what they were tested on. A strategic hire is different. You can find the best technical skill set in an employee that ends up being poisonous to the company and does serious harm.

    The strategic interview needs to get the candidate talking. Ask them about their likes and dislikes, habits, goals, and anything else that can help you learn about them beyond their technical skills. You should be able to learn how they work and how they will fit (or not) into your team and/or group. Take a close look at the personality of your group and ask leading questions to see if the candidate will be a fit for that group personality and style.

    Environmental Conflicts

    For example, your office may tend to be very loud and full of conversations. If the candidate prefers a quiet and/or solitary sort of work environment, then they may not be effective, or may quickly become unhappy. Your team might often discuss ideas and avoids anyone feeling like they have personal ownership of a problem or solution. Bringing in someone that is happiest when they have some sort of ownership could cause friendly discussions to suddenly take on a personal aspect that stifles conversations.

    Strategic Questions

    I have found a great source of strategic questions come from those that are “too busy” to interview candidates. These are often high-level managers or executives that want to keep a finger on the pulse of their teams and hires. Unfortunately, they don’t have the time to get into the details of a position when evaluating a candidate. They may even start by saying they have no idea about the technical aspects of the job/role, but they want to get a measure of the type of person the candidate is.

    The questions will usually be open-ended. This is because the interviewer is looking for a style or direction in the response. How the answer is delivered helps point to whether the candidate is a good fit or not. When in doubt, ask one of these senior execs or even the CEO, if you can get their time, about how they see the company and its employees. Where do they see the company going and what sort of people are going to be needed to make that journey? What is the makeup of the “ideal” employee?

    The Bottom Line

    These are just a few thoughts, but hopefully, it has sparked some ideas for you. Your team should be viewed as a long-term investment in time and resources. Therefore, hire with the big picture in mind. It will save you a lot of time and the headaches caused by turnover.