Conf42 DevSecOps 2022 - Online

Humans are hard, code is easy

Video size:

Abstract

Are you a frustrated developer who feels like they know enough. However, the success you thought you would have is out of reach. You see others who make better strides but why? Come learn how to set yourself apart as a developer and learn the skills of influence and collaboration.

Summary

  • Tom Henricksen: Why don't people understand me? He says to gain respect, we need to know the technology. He says a leader shared how he was failing delegation. John said he wanted his team to be more like bank tellers and financial planners. Each change John made made his team better.
  • Coding skills got you the job, influence will get you the career. Developers are focusing on technology skills only if we truly want to set ourselves apart. We need to know how to influence and collaboration with teams.
  • Software development can be a bit like trending song sales on iTunes. We need to be good at our work and get along with our team. The first skills I had to master as a developer were debugging. If we put our sole focus on these skills, our careers will falter.
  • Getting fired gives us good chance to reflect. What did we do wrong? How could this have been avoided? The second lesson I learned was the importance of relationship management. Even in something as trying as getting fired can be a moment for learning.
  • Communication, relationships, and influence are the three core soft skills. L-U-C and K listen, understand their interest, connect and apply the knowledge. With luck you can find influence. They can change your career.

Transcript

This transcript was autogenerated. To make changes, submit a PR.
Hi, this is Tom Henricksen and humans are hard, code is easy. Here's a string of thoughts that ran across my mind early in my programming career. Why can't people just leave me alone and I can do my work? I can figure this stuff out myself. I don't need others help or any input to turn this thing around. Why don't people understand me? I think it must be they're just dumb. They don't recognize genius when they see it. Perhaps you've been there too, a frustrated developer who feels like they know enough. However, the success you thought you'd have is out of reach. You see others who make better strides, but why is it a skills gap? I want to share with you how I learned about my skills gap. Java check. Linux check. Sql check. Humans what humans are hard code is easy. So I focused on the technology. One of my first mentors was a database administrator named Doyle. He really knew his stuff but didn't say much. That can make learning challenging. One thing Doyle would do is fix the problem for me. Doyle would fix it so quickly and then leave. What did you do? He was already gone. Working with Doyle gave me some insight. Technical people hate explaining basic stuff. Ask them a simple question and they will flip the bozo bit on you. What is the bozo bit? You say? A few years after working with Doyle, I got to work with a software architect named Corey. He had many interesting observations. One thing he would do if you asked him a stupid know the basic question you could have figured out by doing some research on your own. He wouldn't answer your questions or work with you. That, my friends, is the bozo. But bozo, of course, refers to bozo the clown. The bit in reference to computer bit or binary storage code was pretty extreme, but many developers can be that way. To gain respect from those developers, we need to know the technology. Humans are hard, code is easy. So I focused on the coding. I learned new technologies. I kept my head down and tried to avoid getting the bozo, but flipped on me. A few years later, I transitioned into a new role, technical lead. One year, during my annual evaluation, my leader said to me, tom, we think you have solid credentials. Coding skills got you the job, but we need you to develop other skills. My leader shared with me where I was failing delegation. He shared how I wasn't delegating work to my teammates. Case in point, there was an upgrade that needed to be done. I did the work in 10 minutes or so. To explain that would take a couple of minutes, 10 minutes or more. Another trap I fell into with delegation is the belief in our values. We can convince ourselves that we are worth more when others can't do the same work as us. I remember working with Jamie the first time. I wasn't quite sure he understood what we were doing. He was always done quickly. Then I finally asked him here. He had created a script to deploy changes and update dependencies. I was doing all this work manually. I had to figure out a way to do this better. I could have figured this out better myself, but sometimes you make these mistakes. A few years later, I got to work with a leader named John. We knew each other through a mutual friend. I had begun to coach individuals and teams. John wanted an outside resource to help him change his team's mindset. He shared how most it people work with others in a transactional fashion. We get the requirements and we solve the issue. John said, tom, my team is like bank tellers. They get asked to fix something and they do. Just like a teller gets a check and deposits the check. I want my team to be more like financial planners. A financial planner builds a relationship, then they can anticipate needs. So you're saying, john, you want your team to have better relationships with their customers? John said, tom, if they have better relationships, they will be. But to build relationships and empathy and understanding relationships. Understanding and. Huh. That won't work. That's what I thought at the time, but I was wrong. John's team. John knew his team needed to understand and develop empathy. Each change John made helped his team understand. The community directors had many things on their plate. These conversations also worked the other way too. The community directors began to give John's team space. If something went wrong, they trusted them to resolve it. John proved me wrong. He overcame his deficit by being curious and empathetic. He was able to change the way his team interacted with the organization, so much so that he has since been given additional responsibilities. From bank tellers to financial planners, he remained the image of his it team. This brings me to my main idea. Coding skills got you the job, influence will get you the career. Coding skills got you the job, influence will get you the career. What do I mean? Developers are focusing on technology skills only if we truly want to set ourselves apart. We need to know how to influence and collaboration with teams. Gone are the days when we could just send in the requirements with pizza and out pops. Code organizations are looking for more from their developers. The problem? My problem was I was terrible at relationships. I had confirmation. I had proof. Although I didn't start out as a developer, though, my first stop, my professional career was quite different. My first job out of college. It seems like yesterday I started at Wallace. What is Wallace, you say? Well, we sold business forms and office supplies in Des Moines, Iowa, kind of like Dunder Mifflin. Armed with a business management degree and no real idea, I had three job options when I graduated from college. I could sell insurance, or I could sell life insurance, or I could sell business forms. So I did what any sane person would do. I sold business forms. Who wants to call on our friend's parents for insurance? Anyways, did I mention that Des Moines is the insurance capital of the world? Back to my first day at Wallace. Can you believe I had to make a few cold calls before lunch? Let me remind you, in college, the only time I called my friends was when we were having a kegger. Getting people to buy business forms is a bit more difficult than getting college students to drink beer. Now, I really didn't want to make those calls, but lunch was getting close. I was given three prospects from another sales representative to call on. Hello, is Mike Huff available? Sure. Can you tell him that Tom Henricksen called? Yeah, I'm from Wallace. Click. Hello, this is Tom Hendrickson, your new Wallace representative. Oh, sorry, Mr. Hegna. I apologize. If our labels fall off your product. Click. Whoa. I guess we got disconnected there. Okay, just one more and we can go to lunch. What do we call on gentlemen's clubs? My coworkers all die laughing. Turns out this is their way of initiating new sales representatives. My sales career went down in flames pretty quickly. Similar to Tommy boy, my sales techniques were not appreciated. Soon after my first day in sales, I started to realize something. This wasn't going anywhere. A friend of mine from high school shared with me the opportunity in technology. So I began to pursue a different path and get a new degree. I left my job in sales and began work as a developer. Now, working as a developer is quite a bit different than working in sales. The sales office I worked in was always full of people talking. They would be talking on the phones to customers or talking to each other. The developers I worked with, well, they were a quiet bunch on the whole. Friday afternoon in the sales office, the newest rep had to go get beer for everyone. Friday afternoon for the developers was quiet, just like the rest of the week. Now perhaps it's starting to sound like I didn't want to make this change, but that was not the case. I slowly began to realize I was more spock than Jimmy Fallon. The quiet, contemplative work of a developer suited me more as my technology career began, I started to work with lots of different tools and technologies, but I wanted to move into something more current. I started to hear a lot of buzz around the Java language in my free time and nights and weekends, I would read and work through tutorials. All this work paid off a few months later when a company leader came to me and said, tom, would you be able to help Dave with a new application? It turned out they needed someone who could write an application using Java. I, of course, agreed. Like Luke beginning to use the force. I was starting with some basics. As my java skills began to improve from experience, I learned a few other things, too. I began to work with someone who was quite sharp from a technical perspective. But Eric wasn't easy to get along with. He would yell at people he worked with. You might say he was a complete jerk. Sometimes the managers and team allowed this to happen, in large part because he was productive. Now, I can still see it. Now when I closed my eyes, Eric was a smoker and he was trying to quit. This made Eric even testier. Eric and Sri were working together on some files when I came walking down a row of cubes, and Eric was in Sri's cube yelling, you know how people get mad and their veins look like they're going to pop out of their head? Eric's veins were about ready to explode. Then he ran out the door. I guess he needed the smoke. I asked Sree if he was okay. He looked at me and said he was okay, but that no one should have to put up with him. Sri couldn't have been more correct. Eric was a tyrant who ran around like Darth Vader, intimidating people. But we all put up with his terrible treatment just because he was able to code a lot. Even though many developers act like Spock, we have feelings, too. I would like to tell you that Eric was let go and the team was able to move on. The company did nothing to him. His behavior was left unhandled. Learning how to be a good team player doesn't come naturally to some. We need to learn the basics to understand how to make the team thrive. Eric wasn't a team player. He was but for himself. If you work with a coding hero like Eric, they might take all the tough work and make it easier for others. But this can stunt the overall growth of the group. If you work with a coding hero and they take vacation, things can fall apart. Let me tell you a story about a leader who dealt with a similar issue. Now, Ben was a leader that I worked with, and he had a coding hero. We'll call him Dave now. Dave would code solutions that were more complex than others could understand. Dave was coming up on a milestone birthday. To celebrate, he was going to bike across multiple states with all his gear. So he took off, three weeks. Now, Ben knew this was going to be an issue, so he met with the team and they discussed the challenges. The team decided to begin to have knowledge transfer sessions with Dave. Ben helped foster this collaboration with the team. This enabled the team to slowly chip away at the knowledge gap, and the team became more resilient. At my next stop, I began to master my skills in Java. I was responsible for an application that required me to learn some new technologies. Software development can be a bit like trending song sales on iTunes. One day something's hot, the next day it's out of date. During this time in my career, many open source tools became popular. Mastery for Luke Skywalker came after a battle with Darth Vader. Programming is a lot like writing. As the author Stephen Pressfield says, the amateur tweets the pro works. Professional programmers show up every day and slay small demons. The first skills I had to master as a developer was debugging. Of course, today the tools are much more mature. One of the first applications I had to debug didn't have any such tools. I was armed with print statements and a log file, quite primitive by today's standards. All right, let's see here. Where does that value get set? Here, let's add a print statement recompile. Oh, compile. Error. Forgot the semicolon. Okay, let's add that semicolon recompile. Run the report. No, the database isn't separate. Okay, let me update that table. Run the report. Table up. Now that looks better. Of course, debugging is so much easier today, but we still need to use the old beam. As Steve McConnell points out in his book, Code Complete, we need to learn the types of mistakes we make. Early in my Java career, I made the same mistake time and again. I would forget to initialize my variables. I can still hear my coworker Ken laughing at me when he would look at my code and point out my obvious error. We need to think about our errors and think about how we can make them better and learn from them. We need to periodically take a step back and reflect. How can I or we do this better. Think, apply, reflect. Software developers like to impress each other. I had to use the singleton pattern to fix that. Don't worry, most developers don't know what that means either. There are many esoteric topics we can talk about for hours in essentialism, the disciplined pursuit of less. Greg McEwen shares how important editing is to journalism. Now the journalists bring the stories and the editor. The journalists bring the stories and write up the ideas. However, the editor has the important job. They review the piece and rework it. Over my years, I've mentored many developers. One in particular sticks out. He began reading about code basics. This made him add unnecessary code from time to time. I remember debugging an error he was getting together. When I asked him, why is this loop here? He looked at me, unsure, and said, I don't know. I thought it would help. He thought it would help. Once we removed his unnecessary loop, we resolved his error. Adding code is easy. Knowing what to keep is hard. Now, it's not that I'm saying computer science basics are not important. We need to master these too. However, if we put our sole focus on them, though, our careers will falter. I spoke before, but Eric. He had mastered computer science. His teammates, though, couldn't stand him. We need to be good at our work and get along with our team. If we do just one of these, we aren't doing our job. As I learned more about soft skills, my career progressed. Starting out as a developer. Then I moved into a senior developer role. Next I was a technical lead, and then finally I moved into manager of software development. This point I was feeling really good about my career progression. I remember it like it was yesterday. It was a Friday morning in May. I took my kids to school and came into the office at my normal time, a little before 08:00 a.m. Oddly enough though, my boss was in. He usually came in at nine or after. I sat down and unpacked my things. And then Scott, my boss, came to my desk and said, tom, can I talk with you? I said, sure, and I followed him to his office. Although when we came to his office, he took a right. Hmm, that's strange. As I thought, as I followed Scott down the hallway. Then he took a left into Sandy's office. Who is Sandy, you ask? Well, she was the director of human resources. We sat down and then Scott looked at me and said, tom, this is your last day here. If you've ever had that said to you at work or in a relationship, you know what it feels like. The rest was strange as I felt a calm come over me. I knew something was going to happen, although as I looked across the table, I could tell Scott and Sandy felt terrible. They discussed the next steps. I packed my things and left. Getting fired gives us good chance to reflect. What did we do wrong? How could this have been avoided? As I looked back, I realized one lesson. First. What led to this was a lack of clarity. I needed to ask better questions. Therefore, the team I led did not execute accordingly. Processing this, though, took times. At first, we can get frustrated and want to blame others. However, we need to own our mistakes. That helped me move forward. The second lesson I learned was the importance of relationship management. As John taught us earlier, we need to continually foster our connections. I began to reach out to my network, and the opportunities were plentiful. So even in something as trying as getting fired can be, a moment for learning. If we take time to unpack the wisdom, mastering basic skills requires guidance. Early in my career, I worked with Wei. He instilled in me a systemic approach that I still use today. Software development is essentially problem solving, and Wei began to notice. Oftentimes I was trying to solve five different things at once. Wei's guidance was brought clear to me a few years later when I attended a seminar at Michael Hyatt's best year ever conference. He discussed goal setting. Michael said, detailed plans are great if you're building a nuclear submarine. He continued, for everything else, just focus on the next step. Wei and Michael agreed on this point. Don't overthink it. In Proverbs, it is said in the multitude of counselors, there is safety. Luke's journey first brought him to Obi Wan Kenobi, where he learned some basics similar to what I learned from Wei. He kept learning, and so have I. Reflection doesn't come easy for me. I want to move on to the next thing. In David Marquis'book leadership is language. He details the red work, the doing, and the blue work, the thinking. In the book, David discusses how important they both are to making progress. He walks us through the industrial revolution, where the workers did the red work and the managers did the blue work. Today, us knowledge workers must do both. A simple pause can give us a chance to step back and reflect. How can I, or we do this better. Think, apply, reflect. By now you're starting to think, Tom, I'm a developer. I don't need no stinking soft skills. Of course, if you don't want your career to get better, keep on keeping on. My career path has changed dramatically as I've learned the importance of communication, relationships, and influence. Let's explore the three core soft skills. These will set the stage for a career transformation. So remember, coding skills got you the job. Influence will get you the career at the code of communication is listening. We need to listen to what is being said, make eye contact and observe their body language, ask good questions and seek clarity. Developers who do this write better code. They don't assume they know the answer. In the book, the pragmatic programmer Andy Hunt and Dave Thomas talk about the importance of digging for requirements. We need to look between the lines. Number two at the core of relationships is understanding their interests. A few years ago, as we were potty training our daughter, we were trying to get her to stay focused. Although she was easily distracted, she would peek her head out the door as she wanted to watch Elmo, or as she called him, Melmo. Then I realized something. If I tilted the television a little bit, we didn't have the problem. She could see the tv and see Elmo. A subtle change helped us both get what we wanted. Sesame street was her focus. So both of us were able to get what we wanted. At the code of influence is connecting with someone at a personal level. Ted is a tight lipped project manager. Nobody on the team can get a good read on him. We both joined the Zoom meeting early on a Friday morning. When I ask him, good morning, Ted. Any plans for the weekend? He hesitates and then says, yes. In fact, I do. I'm going to show my welsh springer spaniel at the dog show this weekend. I ask a few follow up questions and Ted starts to share more. This short interchange helps us begin to connect. Bonus time. We have the three core soft skills. K is for knowledge. We need to apply this knowledge. L-U-C and K listen, understand their interest, connect and apply the knowledge. Lu C K. Remember, with luck you can find influence. These are the three code soft skills. They can change your career. In my first role as a manager, I tried to get to know the team. This can help build trust and influence with them. Perhaps you're starting to think, Tom, this won't work for me. AJ was a strong developer, but he rarely talked. He worked in a slow, methodical fashion, kept his emotions in check. Over time, his teammates became irritated with his style. I tried to get to know him. For instance. We connected on a few things. AJ traveled to Germany to pick up his new bmw. He was quite excited about that. Still, his unwillingness to communicate with others and with the product owner was wearing thin. That's when my manager came to me and said, tom, it is time for AJ to decide if he wants to be part of the team. My manager asked me to put AJ on a pip or performance improvement plan. I had 60 days to help him improve or else. Despite his strong coding skills, his career was on a downward trajectory. When I met with AJ and explained the situation, he began yelling at me and said, I'm the best developer you got and stormed right out of the meeting. The first two weeks after this incident were really shaky. AJ wouldn't talk to me or anyone. I kept checking in with him daily. I knew he was an introvert. He needed his space and time. Eventually, AJ and I sat down and discussed the pip and how it made him feel. That's when I got AJ to agree to try some experiments. We met as a team and created some working agreements. These clarified everyone's role. Also, it stated how we would work together. I got the product owner to give him one final shot. In the end, we were able to give AJ the space he needed. Along with coaching him and his teammates, we were able to work through it. I was able to communicate and influence the team using the three code soft skills and AJ was able to develop the soft skills he needed to change his career direction. I learned how to help AJ, myself and others. You can do this too. Coding is important, but it's not enough. We can keep our head down and Bozo at our career, but that won't get us where we want to go. Relationships matter. Empathy and understanding matter. Communication matters. Practicing these soft skills can give you more influence, which leads to more success.
...

Tom Henricksen

Human Skill Enabler @ Code is Easy

Tom Henricksen's LinkedIn account Tom Henricksen's twitter account



Awesome tech events for

Priority access to all content

Video hallway track

Community chat

Exclusive promotions and giveaways