00:00:08.330
So I'll stay here, I guess left is the audience. Okay, we could do this. I'll kind of wander. First of all, I want to tell you that this is a crazy screen to stand in front of. The perspective right here is a mess. We're going to be talking about making better decisions, and this wasn't coordinated at all, but Katrina's talk this morning actually covered some of the really cool scientific background of some of the things we're going to get into.
00:00:22.769
My name is Marty Haught, and most of you might know me because I help run or I became the organizer of a conference called RailsConf. I also help run a Ruby conference in Boulder called Rocky Mountain Ruby. They also helped organize the Mountain West Conference back in the day. So, it's been nine years of conference organizing, and I just now got back into speaking, which is great.
00:01:10.140
So, who has read a Choose Your Own Adventure book? Alright! Looks like we're good to go. We're going to do a little Choose Your Own Adventure story today, and this one is called "Hiring Your Next Developer." So, your boss loves you and says you're going to be on the interview team. And you're like, "Okay!" So you join the interview team with a round of eclectic but lovable individuals.
00:01:20.450
Now, you're given a stack of resumes, and this is your first time doing this, by the way. You're feeling cool; like, "I got this!" You start going through the resumes, and one stands out to you. His name is Steve, and he has pretty much what you want to see in a resume. However, you decide that’s good enough, and you choose not to look any further at the resume. At this point, you say, "Let's go ahead and interview Steve." He shows up, and he matches pretty much what you expected, looking like a typical developer.
00:02:06.090
Now, his answers are a bit short but they're correct. There are times when the others on the panel start talking about tacos and other things and you want to build a little more discussion into some of the questions. But if the other team is ready to move on, you go ahead and ask how it fits into their current processes. However, things aren't quite right. It turns out he takes a while to get onboard, which is not unusual. But after a few weeks, some of the skills that you expected him to have are a little bit lacking.
00:02:41.670
So, you've got this situation: you must make a decision. What do you choose to do? Do you address the skills deficiency directly? Or do you take a different approach? It turns out that Steve is not really a developer, but rather a benevolent older gentleman. But unfortunately, you've chosen poorly.
00:03:29.300
Now, let's back up for a second. Yep, this is you. You're probably wondering how you ended up in this situation. To really explore this, we have to dive into how we make decisions. There's a concept known as the two systems of thinking when it comes to decision-making. If you’ve already touched on some of this, we have the instinctive part and the rational part.
00:04:04.709
The instinctive part of our brains is fast, intuitive, and automatic. For example, if someone threw a ball or some object hurtling at you, you would react instinctively. Depending on your experiences, you would either catch it or duck. This is your instinctive mind at work. If Cthulhu showed up and they brought some strange object, your reaction would be instinctive. You wouldn’t stop to think.
00:04:21.720
What's really neat about the instinctive way of thinking is that it’s incredibly powerful and necessary and is responsible for most of what we do, say, and believe. Katrina already covered a lot of it earlier, so I won’t go into detail. The rational part, however, is what we usually consider when we make decisions. This involves logical thinking, takes effort, like analyzing data and spending a lot of time to come to a conclusion.
00:05:05.949
Both of these modes of thinking are powerful, but they have cognitive biases that can get in the way. Cognitive biases are these mental shortcuts we've developed over time. They were advantageous at one point but can also lead to terrible decisions. For example, if people understand how these biases work, they can manipulate you without you even knowing it. There are so many of these biases that an infographic could categorize over a hundred of them.
00:05:43.380
It's important to know these biases because they affect how we make decisions. We're going to look at a few that played into our hiring decision earlier. The first bias is confirmation bias. In our example, when we looked at Steve's resume, it matched a lot of preconceived notions about what developers should look like and what they should know. Once we saw these things lined up with what we expected, we didn't feel the need to look further, assuming everything was correct.
00:06:31.660
This happens quite a bit and affects our thought processes regularly. The next bias is stereotyping, which is a more familiar bias to many. This pairs quite well with confirmation bias as well. When Steve came in, he looked the part of a typical developer. With the assumptions we made from the information we had, we didn't feel the need to dive any deeper.
00:07:10.890
Lastly, there's the bandwagon effect. If the others on the interview team were comfortable with how things were going, you might have not felt comfortable raising any objections. This is important because, while you can prevent making poor choices, it requires being aware of these issues.
00:07:57.950
So, what do we do about these biases? Thankfully, there are things we can do. What I suggest is that we train ourselves through deliberate practice to become aware of these biases. We can also direct our experiences to improve our skills and intuition for making better decisions.
00:08:36.640
Experience is really key. We use it as a foundation for our decisions, but the quality of experience matters. So, ensuring you have the right experiences is crucial. For instance, when I started programming in the 90s, I worked with teams where the developers just went through the motions.
00:09:01.320
I would have liked to get better, but I was surrounded by people who only cared about a paycheck. However, when I joined a team focused on extreme programming, I learned more in six months than I had in five years of traditional corporate IT experience.
00:09:52.790
It's one of the reasons I started Hot Code Works—because I wanted to work where people truly cared about the process and making things better. Three years ago, I began an apprenticeship program at my company. We've had six apprentices go through, and much of what I will present to you today is based on my experiences and what I've guided them to do.
00:10:29.420
So, we have eight tricks for making better decisions. Trick number one is to learn about cognitive biases. There’s so much more to explore in this area. A great book to start with is "Thinking, Fast and Slow" by Daniel Kahneman.
00:11:00.030
If you’re not ready to read that, I recommend starting with four other resources, especially on anchoring and availability heuristic principles as they greatly affect the work we do. Remember to employ a deliberate process for making high-value decisions.
00:11:47.750
Additionally, don’t put a glass of water on a tilted surface. This refers to a five-step decision-making process you can use for making both small and big decisions. You can use it individually or as a team. The first step is to find the goal. Determine what you are trying to accomplish. Ask yourself why it's important, what value it brings, and identify any constraints.
00:12:41.680
It's critical that you have these answers because they form the compass for how you will proceed in making decisions. Step number two is to identify your options. Start with a list of potential approaches, whether they be clear-cut or unconventional and creative.
00:13:08.790
If you find yourself lacking options, there are many ways to research and broaden your potential approaches, such as looking on Stack Overflow or talking to peers. Alternatively, brainstorming can yield valuable ideas, but remember to collect them all before proceeding.
00:13:52.390
Step three is to qualify your options. Go through each of them and collect data. Ask about the likelihood of meeting your goals, potential risks, and required time and cost. It's essential to evaluate each option equally so you can compare, understanding how each stands against the others.
00:14:39.150
Step four is to choose the best option. Before you make that final decision, outline the essential factors meant to weigh against the choices available. These could be time, cost, or other criteria relevant to your particular dilemma.
00:15:18.670
After establishing those important criteria, refine your options to maybe three or five to analyze closely. If a clear choice doesn't stand out, consider seeking feedback from others involved or expanding the discussion to create clarity.
00:16:01.750
The fifth and crucial step is reflection. This is a step many organizations neglect. Reflecting after a process helps you learn lessons, identify areas needing improvement, and maximize overall learning. This retrospective step should be as simple as a few minutes to weeks based on the situation's scale.
00:17:03.440
Trick number three is to know your context. Context matters significantly in decision-making. For instance, knowing the technology stack, the stakeholders’ priorities, and the risks involved can provide beneficial insights to center your decision-making process.
00:17:44.740
Trick number four is to maintain a journal. This is particularly helpful even for experienced developers. I encourage keeping a task-centric journal where you jot down objective information on projects.
00:18:38.325
This approach enhances your ability to track your progress as you reflect on what you've learned and how you approached various challenges.
00:19:17.180
Trick number five is to practice estimating tasks. Break down tasks into smaller components and measure how long you expect them to take. Periodically review the actual time spent against your estimates to refine your future estimations.
00:19:56.640
Trick number six involves engaging in intentional practice. Work deliberately towards specific goals. This practice should be independent when building skills, rather than solely through pair programming.
00:20:43.757
Trick number seven captures the idea of embracing failure. Encourage yourself and others to experience controlled failure situations to learn adaptability and resilience.
00:21:47.550
Finally, trick number eight is to seek feedback. Actively seeking feedback from peers and stakeholders enriches your learning experience and prepares you for continuous improvement.
00:22:35.000
Ultimately, making better decisions comes down to deliberate practice and mindfulness. The aim is to be independent, consistent, and trustworthy. Achieving this is the foundation of making good decisions.
00:23:20.000
So remember, it's not about achieving perfection, but rather about growing and utilizing resources wisely. Thank you.