Tag Archives: People Centric

The Power of a New Voice

TL; DR

Too often the person with the least experience is ignored. This is a shame because they are often the person who can lead us to the most significant insights. They will see things we overlook or have become accustomed to. They can help us question the things we have started to not question. They are a powerful voice for improvement.

A new perspective can help us question the things we have started to not question. Click To Tweet

Question Everything

Like @WoodyZuil says: “Any method or practice we use without question should be questioned.” https://twitter.com/WoodyZuill/status/881711076089384964

The problem is if we are practicing something without question, we can often be blind to the fact that we are practicing it without question. A new set of eyes can see these things, but we must encourage them to point them out. If not, we risk that they too will become accustomed before we have gained benefit from their newness.

Intimidation

The problem with capturing input from someone who is new, is that most people do not feel comfortable giving feedback while they are new. This means that we must be extra careful to foster that feedback. It is something that must be intentional.

The first step is listening. When a new person offers input, listen. Use both Active Listening and Comprehensive Listening. Do not interrupt, and take a moment before replying. This shows respect for what they have to say, and consideration of their point.

The next is to treat the comment and question as if it is valid, and wanted feedback. They may not understand all the context to the thing they are questioning. That is the point. Do not explain to them how they are wrong, instead explain to them how they are right. That does not mean that you do not explain your context, but instead use it understand what they offer.

What if they are wrong?

They will often be wrong. The suggestion, or question, will be wrongly worded. They will most likely not understand what it is that made them feel the way they felt. Don’t let the fact that what they say is wrong stop you from learning. Instead, examine the situation. There will be truth there, and that truth will lead to improvement.

At the worst case, if they are utterly wrong then you will have provided the opportunity to learn in a way that makes them feel appreciated. This learning will be retained longer. It will encourage them to voice more, and thereby learn more. Eventually they will teach you something, because they are willing to voice what they don’t understand.

The Warning of a Silent Voice

Pay attention to what is happening regarding the new voice. If that voice is silent, this is a waring. It means that there is something that is causing that person to fall silent. It means that the team is not welcoming that person’s insights, and not listening and accepting of what the new voice offers.

This is the loudest indicator you will often get to small problems on a team. These problems can- not always, but definitely often enough- grow into big noisy, and explosive problems if not handled at this point.

In Closing

It is hard to listen to the point of view of a new person. That person may not know the social norms, or the current environment. It is easy to just brush off what they say, as they do not know better. However, when we do ignore the “new voice” we lose a lot of valuable insight.

Listening to the new perspective is not always natural but it is crucial. Click To Tweet

Greatness

I have been thinking about great teams and teamwork lately. Greatness is not something easily attained or held, but easily lost.

What does it take to be part of a great team? Click To Tweet

TL; DR

Greatness slips from our fingers at every moment, we must actively pursue it and not compromise for less. We must strive to ensure all voices are heard, that quality is maintained, and room to experiment is held. Anything less defeats greatness.

Acceptance

To ensure a great team, there must be an agreement of acceptance. All proposals must be met with a “yes and…” mentality. People’s views, emotions, concerns, and ideas need to be welcomed. Without this welcoming safety is destroyed.

Without that safety new ideas are killed before voiced. Trust degrades, and people fall into old habits. Greatness is lost, because innovation stagnates.

Acceptance can be achieved as long a few people are willing to champion it.

Uncomfortableness

The feeling of being uncomfortable signals the greatest chance for improvement. When the team “leans into” uncomfort and addresses the smallest things trust and acceptance grow. It is true that you need a seed of acceptance before this can happen; however, facing the feeling of being uncomfortable grows acceptance beyond its normal bounds.

Facing uncomfort, is very tenuous. Where acceptance can grow with a few champions, the ability to face things that make us uncomfortable can crumble with one criticism. This must be protected, and defended or the things that erode trust will remain hidden.

The most powerful and useful conversations happen when we solve real problems. If we cannot bring up those problems greatness dies.

Excellence

Once we have acceptance and the ability to face what makes us uncomfortable, then we need excellence. Excellence is the constant striving to do better than we are currently. This includes technical excellence, process excellence, teamwork excellence, and communication excellence; along with many other forms of excellence.

Excellence ensures quality of what we do, and constant improvement. It allows for us to make mistakes and learn. It allows us to revisit and revise old decisions. Excellence measures greatness, but by paradox excellence cannot be accomplished without the other things I mention here.

Experimentation

We don’t know how to improve, even if we do, the context will change. We cannot achieve excellence without the ability to experiment. The ability to make a judgement and be wrong.

Experimentation feels natural on the tongue, but we tend to subtly resist it. To be an experiment, four things must be true.

  1. There must be a possibility that the hypothesis is wrong.
  2. There must be a defined end for the experiment.
  3. Success and fail criteria must be known.
  4. The actions of the experiment must be defined.

In Short

Who does not want to be part of a great team? Greatness is simple to achieve but in no way easy. It requires acceptance of all ideas, the ability to face all uncomfortableness, a strive for excellence and continual improvement, and a willingness to experiment.

Greatness is simple to achieve but in no way easy. Click To Tweet

Without all these things, we cannot be great. With them we will always be traveling toward greatness.

A healing work environment

A healthy work environment means a healing work environment. Click To Tweet

TL; DR

To be healthy, a work environment needs to be a place of healing, not only a place where no further harm is done. Healing is not always easy or comfortable, but always rewarding. We should build a place of healing and reap the rewards.

Healthy

What does it mean to have healthy work place?

I think we first must ask what does it mean to be healthy.

Healthy: (Merriam-Webster)

  1. Free from disease or pain
  2. Showing physical, mental, or emotional well-being
  3. Beneficial to one’s physical mental, or emotional state

Healing

Each of these definitions show a common thread. Health is a good state, or the absence of a bad state.

So, what does it mean to have a healthy work environment?

A healthy place promotes health.

On the surface, it means to have a work pace that is in a good state or very least without a bad state. This definition is simple and compact. There is a lot of meaning behind it that is easy to gloss over. I want to unpack it slightly.

To be healthy you must be free of disease or pain. If you have disease or pain you must first heal to be healthy. A healthy environment encourages your healing. That means a healthy job will encourage you to heal.

To be healthy you will show physical, mental, or emotional well-being. A healthy work place will promote those signs of health. It will be a place where a person can grow in one or more of each of these healthy states. The more growth possible the healthier a place is.

To be healthy something must be beneficial to one’s physical, mental, or emotional state. This is really what I have been driving at. Beneficial is not just doing no harm, it is allowing for improvement. It is helpful.

When we think of a “Healthy Work Place” we should think of something bigger than simply a place where no harm is done. We should strive for a place where people can heal from past hurts, and improve the quality of their life.

Uncomfortable

However, healing past injuries is not comfortable. The worse the injury the more invasive healing can feel. People can be sore, and irritable. People can have trust issues that can degrade communication. Fear can cause people to see past wrongs in healthy and helpful actions.

For a work place to be a place of healing, not only does the company need to embrace it, so do the employees that are undergoing healing. This is scary, tiring, sometimes painful, but worth it.

I have worked in these environments. Whenever I do, I learn more about myself, and my work than in any other circumstances.

Thoughts

During our working lives, we will spend 24% of those lives at work (approximately 37% of our waking lives); assuming no overtime. We should strive to make that more then something we do to survive. We should strive to build environments where others heal; where we heal if we need to.

A Better Interview

As interviewing is the first impression a company has of a candidate and the first impression a candidate has of the company, it is important to get right. My goal with this article is to start an open discussion about interviewing and how we can improve it. As a community we need feedback, debate and understanding to create something better. The place I work currently has the best interview process I have ever seen in my 17 plus years in this field. By examining what they do and why, the discussion can open with a solid foundation. We can build upon this to achieve something greater.

Where do we Start

The Hunter Software Development Group is built off of three core rules, and those rules permeate everything we do, including the interview process:

  1. Show everyone kindness.
  2. Show everyone consideration.
  3. Show everyone respect.

These are our foundations upon which we build everything. We believe every facet of an interview process should be executed with these in mind.

Our Objectives

When you consider kindness, consideration and respect as the foundation for an interview, your goals change shape. Yes, you need to know if the candidate is right for the job, but how you determine that changes subtly as your focus changes.

There are three conditions for an interview being considered successful:

  1. The candidate leaves feeling fairly assessed.
  2. We know if the candidate will be a good fit for the team and company.
  3. The candidate knows if the team and company is a good fit for them.

Achieving those Objectives

Each objective is achieved through very intentional means. We examine our process after every interview. We look for any place where the process can be polished, or someone can be better trained. We focus on each objective to better our process and make the interview successful for both the candidate and the company.

The candidate leaves feeling fairly assessed.

It is difficult to judge the capabilities of an individual within a small time frame. It is harder to do that in a way that feels fair and just. We try our best to accomplish this goal by tackling the idea from a number of sides. In order to talk about how a candidate is assessed, it is important to know what they are assessed for.

The traits that we are trying to assess are:

  1. How much emotional intelligence has the candidate acquired so far?
  2. What unique technical background and skills does the candidate bring?
  3. What part of programming does the candidate shine in?
  4. How much does the candidate know about Extreme Programming?

The first thing that happens is the candidate is given an explanation of the interview process. They are told what will happen, what they are evaluated on and why. It is important to eliminate surprise wherever possible. We believe this level of transparency is essential to the accomplishing our three goals.

Once the interview has been explained, there are a number of programming problems that the candidate is asked to work through. Each problem is straightforward with no obscure programming knowledge required. There are no riddles or surprises. Each exercise allows candidates to demonstrate a host of different skills as they work toward different solutions.

As they work through the problems, they have the opportunity to be given help and advice by three to four programmers that have been designated as their team. The team will not give solutions, instead they will help with programming language knowledge and design advice. The team will also rotate into the interview, giving the candidate a chance to navigate, teach, and guide various people with different skill sets.

There is a proctor, a person who takes lead on the interview. The proctor works as a guide for the candidate, helping keep them on target, and moving smoothly through each problem. It is the proctor’s responsibility to ensure the candidate understands what is happening throughout the interview.

Lastly, the candidate is not expected to solve the problems. In most cases it is not possible to finish in the allotted time. The purpose of the exercises is not the solution, but the path taken. We are not focused on what the candidate does not know, but rather the unique experiences and strengths the candidate brings forward.

We know if the candidate will be a good fit for the team.

There is a lot to consider and understand when talking about team fit. The Hunter Software Development Group works very differently than any place I have ever worked. We use a practice called “Mob Programming” to do all of our daily tasks. This means that all production code is written in a highly collaborative environment.

The factors that are key for our work environment are:

  1. Can the candidate communicate collaboratively?
  2. How does the candidate research new information?
  3. Do they demonstrate kindness, consideration, and respect?

Being part of a collaborative team is essential for anyone working in a Mob Programming format. Candidates will be asked explain how to solve problems and sometimes navigate a member of their team through the process of solving a problem. This means that one of their team sits at the keyboard and the candidate is asked to tell the teammate what to do. The disconnect from the keyboard forces some form of communication between the team and the candidate. Each of the team members is at a different skill level for different sets of skills. Inevitably, the candidates will either guide someone that is currently more skilled than they are or a teammate who is less skilled than they are. The way the candidate handles these two situations provides invaluable insight into that person’s communication style. It is important that the candidate shows kindness, consideration and respect during the whole process.

The processes of our everyday work environment puts highly collaborative teams into situations where they are acquiring new knowledge, usually as a result of having no foundational knowledge. The problems that the candidates are presented with are straightforward as for as core knowledge but ask questions that the candidate may not be familiar with. We look forward to web searches, text messages and anything else the candidate can use.

The candidate knows if the team/company is a good fit for them.

Letting someone know who you are is complicated process that can easily take the entire time of the interview. So how do you let someone know who you are within a couple of hours and still accomplish the other goals of the interview? This is one of the hardest questions we try to answer during our interview. We start by holding the interview in our open work environment. The candidate can just look around and see how other teams are working. They can hear the discussions, and see the excitement. A few feet away a team is working to solve problems and tackling goals.

Our interview process is part of our work. It is collaborative and social, designed to mimic the best parts of our work while still being an interview. Teammates take turns typing, helping, and guiding during the process, all of this helps give a feeling of what to expect.

If the candidate seems to be a good fit skill-wise, we then continue to a Lean Coffee session that lasts 45 minutes to an hour. This changes how the Q&A process for interviews goes as it starts by putting all questions and topics up front for all to see. Even if all topics are not discussed, the candidate and the team can see what was on each other’s mind.

A Lean Coffee format gives the candidate the chance in participating in the selection of questions and topics. Each person participating in the interview has three dots to vote on topics. These topics are then organized by number of votes. The topics with the most interest are then discussed first.

This gives the candidate a lot of agency in guiding the discussion. Their voice gets heard and they get a chance to have their questions addressed. It also allows them to focus on topics from the interviewer that they feel will make them sound better.

Each topic is given a five-minute window to be discussed. When the time is over, everyone votes on continuing or moving on. If even one person wishes to continue then the topic is continued, but only for two minutes. Then the voting cycle continues until everyone is done with the topic.

Each topic discussed is a topic not a question. Everyone is encouraged to reflect on the topic and address what it means for them. For instance, if the topic given by one of the interviewers is, “Describe a moment when you felt you really shined,” all members of the interview are encouraged to answer, not just the candidate.

This also means that topics brought up by the candidate will not only be addressed by the interviewers, but also by the candidate.

These discussions are the best way that we have found to truthfully let the candidate know who we are, what we do and why we do it.

In Summary

The Hunter Software Development Group has a very different approach to interviewing born out of a different perspective. We start with a foundation of kindness, consideration and respect and build from there.

We work to fairly assess the candidate based off of four types of skills. Emotional intelligence, unique experiences, what makes the candidate shine and what they know about Extreme Programming.

These methods have been very successful for us when hiring. We retrospect and adapt after every interview, so we are always improving. However, I would like to be part of a larger conversation. By discussing this with other professionals the community as a whole can gain insight from each other’s experiences that might not be seen any other way. Maybe the whole of the industry can improve and find yet to be discovered better ways. Mob Programming has led to better code quality. If we all huddle up and analyze how we interview who knows what will happen?

Toxicity is Abuse

Why I am writing this

This weekend I got into a lot of discussions about the responsibilities of a programmer.  I heard multiple times that a programmer cannot be held responsible if they are working in an environment that is toxic and forces bad behavior. While I do not advocate that someone threaten their ability to feed, clothe, or house themselves (or family) because of some theoretical responsibility, it is imperative to get out of a toxic environment.

This weekend I was in a conversation about a consultant that was described as abusive by the other employees and someone said: “They only fear for their jobs because they are too stupid to do the job right.” In other words, they deserved to be abused.

In another conversation, I mentioned that a programmer has a responsibility to do what is right. I was told that this was a pipe dream because of the toxicity of work environments. To me this translates as, “Offices can treat you any way they want because you are worthless.”

The funny thing is I have heard these statements before.

My mom married an advertising executive when I was 8. It turns out that he was a drug user who slowly revealed his nasty temper. I was often backhanded hard enough to knock me from my feet, and I got to watch as the same thing happened to my mom.

I heard the whispers of neighbors and even friends.

They sounded a lot like how I now hear people talk about toxic work environments. The words are slightly different but the meanings are the same. The fault lies on the victims. If they are being abused, then they deserve it.

It takes more courage, stamina and risk to stand up to an abusive person or organization than most people know. That chapter, in the end, was a small chapter of my life. My mom left that man one night and never looked back.

When we speak down on those being abused or make excuses for the abuse we make it even harder to do what is right. I implore you to stop this destructive behavior. Instead of making excuses for toxic companies, let’s do something about them.

Your responsibility

Every software developer has some professional responsibilities, even when we are unable to perform them. These responsibilities include:

  • We have a responsibility to produce bug free code.
  • We have a responsibility to produce code that is inexpensive to maintain.
  • We have a responsibility to produce value that is greater than our cost.
  • We have a responsibility to help those starting in the profession to be better at what they do.
  • We have a responsibility to share what we learn to progress the industry.
  • We have a responsibility to understand our customer’s, company’s or client’s business well enough to make informed business decisions about the software we write.
  • We have a responsibility to say ‘No’ to our employers if we are asked to do something that endangers time, profit, relations, information, reputation or money of an individual, company, community or ourselves.
  • We have a responsibility to provide value well above our cost.
  • [UPDATED] We have the responsibility to support those in a toxic work environment find a better one.

Doing that will cost me my job!

If you are in an abusive relationship with your employer, one or more of those responsibilities become impossible to execute without being fired. That is a tough and scary place to be. I am not saying for you to risk your job, and risk being homeless.

What I am saying is that you do have a responsibility to leave. Don’t quit your job without a new one. Look for help within the community.

Then share what you learn. Help the community understand what you did to find a good place to work. This will give hope to those who are in similar situations.

We need to use economic power to stop abuse.

These abuses are not illegal. They are immoral, but that does not give us any legal ground to prevent them.

Companies need to make at least 3x their operating costs to be successful. That means that a company sees at least 3x profit from your pay. YOU ARE WORTH A LOT MORE THAN YOU ARE BEING PAID! We have value. In today’s economy custom software makes and breaks a company.

If a toxic company could not keep their employees or better yet not be able to hire then they will not be able to compete against non-toxic companies. The problem now is that programmers stay in toxic situations. This allows toxic companies to compete.

Let’s stop this. Leave those companies. Leave them as soon as you realize they are toxic. Abandon them, and move to companies that are doing it correctly.

[UPDATED]

Moreover, remember it is not the fault of those being abused that they are abused. It is the fault of the abusers. Show compassion to those in need. Help them move to somewhere that will appreciate them. Help people recognize abusive bosses, coworkers and companies before they are in the position to be abused. Recognize that even with warning circumstances might necessitate they go anyway. Be prepared to help them.

You are a Star

I believe I suffered from Imposter Syndrome for most of my career, and if there is one thing I can say I have definitely learned is that you are the star. No matter your experience level, language, or technology bent; the fact that you are out there producing code makes you a star.

If you are not producing code: do so. I can promise you one sure thing: No code you write will ever be as bad as some of the code I have personally put into production. I wrote some things when I was a junior programmer that would make the faint of heart faint. Trust me, I had to run a production application in debug because a variable would lose its value. To keep the program working I would have to edit the memory location and then hit continue.

But that is the beauty of code. It is so valuable that even the worst written application, if it meets its basic need, will be profitable. The application above was so successful that the company’s competitors would hire us to do the work under their name.

Code is value. As long as you are producing code you are producing value.

Now I am in no way saying to stop learning, or searching for a better way. However, I am saying that you should go and produce. Build something, either for yourself or someone else. When you are done, build something else.

Searching for perfection will not help you discover that you belong. It will, in fact, do the opposite. Only by cutting your teeth on code will you begin to see the value you bring to the community.