Author: Josh

Awesome Permission

Awesome Permission

One of the things we’ve noticed while mentoring is that some people suddenly take off like a rocket – they accept responsibility for more than they previously took on, and then they seek out more. They also handle this increase in responsibility very well, and they impress people who previously were at best neutral – along with people who were previously disappointed.

We’ve seen it happen, and we’ve been trying to figure out how to describe what the pieces are, because if a cool thing happens, you should explain how to reproduce it.

So, we began to think of it in terms of the process, the ingredients, and the result.

If a cool thing happens, you should try to figure out how to reproduce it.

Read More Read More

Technical Leadership Progression, part 2

Technical Leadership Progression, part 2

In Technical Leadership, part 1,  we talked about how someone grows into a technical leader aware of their team. In this post, we’ll continue on to describing a Tech Lead who takes ownership of their teams’ success, and then moves into the higher levels.

Read More Read More

Technical Leadership Progression, part 1

Technical Leadership Progression, part 1

We like patterns. Patterns are cool. Patterns apply to people, and groups, and organizations, and…everything, actually. (L: I could talk about patterns for hours, but I won’t. You’re welcome.)

As we’ve each mentored people into technical leadership and tried to understand how people grow as their leadership role and ability grows, we noticed a pattern with several distinct steps. Because patterns are cool, and because we learn by writing and talking, we put words to the pattern we were seeing.

Before we get too far in, let’s define technical leadership:

Technical leadership is providing knowledge, guidance, support, and strategy to developers, systems, and especially the intersection of the two.

To be clear, it is not project management (although sometimes that’s included) or people/HR management (although sometimes those roles are combined too). 

We’re going to break down what we’ve seen with some diagrams and then some explanation of what each stage looks like. We’ll split the explanation into two posts, because there’s a lot to talk about. This was the reasonable-length version, we promise.

The Progression – the Diagrams

As people gain knowledge in Technical Things, that knowledge tends to reflect these levels – self (as in, “my tasks”), single team and system, multi-team/multi-system, and finally, the enterprise/company as a whole.


People also tend to move from awareness of something – for instance, awareness that their team could use their help on something outside of their usual duties – to ownership of it – like, deciding in their soul places to help their team be awesome.


However, fun fact, the basic pattern we noticed was that people move across these at the same time. So really, it looks a little bit like this, assuming they start at the bottom and hop up the levels as they go:

People move from self-awareness to self-ownership, and then they become aware of their team. Eventually they move toward accepting ownership of their team, etc (don’t worry, we’re going to explain these in detail!). However, this diagram is super complicated, so…


TADA! As people progress through technical leadership, they do…well, this. ☝ Self-awareness to enterprise ownership.

The Progression – the Stages

Self -> Awareness

Ever worked with a baby programmer, or remember when you were a baby programmer? Someone brand new, out of school, who hasn’t quite figured out how to like… understand things and also talk to people? Or, cooperate on a professional team? Yeah. Mastering the basics is vital to all that comes after it. Also to adulting well, which is another skill baby programmers usually need to learn.

Self -> Ownership

The true first step to being a technical leader is to build a reputation for being reliable in the eyes of your team – and that means executing your development tasks well. A wise person once told Josh, “be good where you are.” Get things done on time, ask amazing questions, and learn to love and understand the system you’re wrangling.

If there’s success here, more challenging and complicated work will be offered. Also, interesting to note, most technical leaders never get entirely away from this step or the next. Solid technical skill (and troubleshooting, spoiler alertalways help a technical leader.


Single Team & System -> Awareness

This stage starts at troubleshooter – building a track record for solving tricky problems. This means taking on more frustrating and painful tasks than you strictly have to, and getting good at different kinds of problems.

Basically, this is getting really good at understanding the neuroses of a system, learning how to debug and fix it efficiently and effectively. It also requires a massive dose of stubbornly not quitting.

The better someone is at troubleshooting, the more likely that they’ll become the Help, I am Stuck and  You Know Stuff person – dedicating resources to helping other people. This shift means all kinds of patience – with technology, and with people. A lot of great technical people draw the line here, mostly because…well, they don’t enjoy people very much. That’s fine, people are a lot of work.

This step is where people typically stop doing as much of their own implementation – and that can be really frustrating for people who go into IT to write code. Instead of finding joy in implementation, though, they learn to find joy in other people’s successes. Again, a lot of people draw the line here because they love implementing technical solutions, so please stop talking to them and let them code stuff. 


Next up…

In part 2, we’ll talk about growing into taking ownership of the team’s success, and move on to awareness and ownership of multiple teams.

Building Reliability

Building Reliability

The definition of reliability for the purposes of this post: other people believing that you (or your team) will:

  1. do what you say you’ll do, and
  2. do what they expect you to do.

Reliability is other people believing that you will do what you say you will do and also what they expect you to do.

Why Reliability?

Reliability is vital to several areas of organizational success:

  1. Successful delegation
  2. Independent execution by teams
  3. Independent execution by individuals

Delegation

When you hand off a task, it’s ideal if you no longer need to think about it – and the more you reliable the person you’re handing the task to, the more likely this is. With reliable people and teams, the default assumption is that any delegated task will be completed. Wouldn’t that be amazing? Delegation backed by a perception of reliability actually clears brains of stress and cognitive dissonance. Basically, people can stop worrying and focus on the work they need to do.

This magical theory applies to teams as well – if a team does the work they own, and they believe other teams will do the work they own, then all teams can focus on their own work. Ultimately this eliminates time spent on “following up” (pestering), and lowers everyone’s stress.

Execution

Individuals and teams who are allowed to execute without being required to explain every step and justify every decision can focus more on doing actual things. Even in the awesome Utopian Land of Reliability, some checking in is necessary, for a lot of reasons – one of the best is to give the leader the opportunity to teach and to reinforce good judgement. However, guidance shouldn’t be a nuisance – it shouldn’t turn into oversight to the point of preventing productivity.

If brains are calm and hearts aren’t worried, people can more easily focus on their work, objectives, and goals – and they execute their tasks more cleanly. When each person or team believes that they can focus on their responsibilities rather than worrying about other people’s execution, this leads to overall organizational success.

Reliability seems awesome! Uh…now what?

Cool, you want to be thought of as reliable so you can do stuff. A key question now becomeshow do you build a reputation for reliability? Or maybe the question should be, can this be deliberately built? Nope! Blog post ends here. Thanks for reading!

Kidding.

Building a reputation for reliability is surprisingly simple. In any relationship, you start at the ground floor, with basically zero reliability. To increase the number of reliability points, it’s like a ramp – a slow and steady upward movement.

The super secrety secret to building a reputation for reliability: make a commitment. Fulfill the commitment. Repeat.

Reliability for Newbs

Start a meeting by saying, “I’ll make a recap.” End the meeting, re-iterating that you’ll make the recap. Then make the recap. Tada! You’ve done a useful thing that you promised to do. Congratulations, you now seem more reliable! People now know that you kept that commitment.

You can do this by doing anything useful – say you’ll do it, and then follow through. For bonus trust points, promise to do it by a certain date and then deliver on or before your deadline.

Reliability Level Up

To continue to build your new reputation for being reliable, continue to keep your commitments. Small commitments can build reliability only to a certain level –  but after keeping enough smaller commitments, people will begin to give you opportunities to keep larger commitments.

These larger commitments, once kept, will give you more reliability points – but they’ll also be more complicated, and take longer to complete. However, in order to build to a high level of reliability, the pattern is exactly the same: steadily fulfill commitments over time.

Team Reliability

Teams can do the same thing, for themselves and for the teams and people they work with. At any time, an individual on the team can step up and start keeping commitments on behalf of the team. This results in a team’s reliability points increasing. The individual can then teach the other team members to keep commitments on behalf of the team. Every commitment kept adds to the team’s reliability point total – and also helps boost overall team morale.

There’s also the team’s perception of the team’s reliability – when this is working correctly, it’s usually when people say things like, “it’s a good team to work on.” Goals are a great way to help build this – committing to goals has the added bonus of building unity, and then following through on those commitments builds reliability. Even if a goal is not achieved, the tasks necessary to attempt to fulfill the goal are completed, and those commitments are kept.

Uh…Whoops. I Broke It.

A reputation for being reliable can be broken. To break it, don’t keep your commitments. Promise things that you can’t or won’t do. You could also just stop doing the things already expected of you – because reliability is both the things you say you’ll do and the things people expect you to do.

Let’s say you fail to fulfill a commitment and you lose reliability points. It happens. People aren’t perfect – but that’s okay, because perfection isn’t necessary here. There are two things that can help repair this break and then allow you to go back to building reliability:

  1. Accept responsibility. Clearly. Be obvious that you accept responsibility for the failure. Hiding from a commitment, hoping no one notices it wasn’t fulfilled, does even more damage.
  2. Renegotiate the commitment. Make a reasonable judgment about re-committing to the task. Does the task still make sense to do? If so, what is a reasonable deadline for the commitment? If the commitment should still be fulfilled, fulfill it.

Ultimate Value

Being perceived as reliable lets people and teams believe that they can do increasingly harder and more awesome things. If we don’t truly believe that we can succeed, we don’t try. When we do believe that we can succeed, we start to watch for opportunities to do increasingly more awesome things.

Reliability lets teams believe in themselves.

Reliability also lets us focus on execution instead of worrying. We can focus more on tailored challenges and working hard, and less on trying to split our focus to all details of all things.

Basically…when we believe that we can succeed (more awesome things), and we can focus on execution (get things done), more awesome things get done. Reliability helps fulfills both of those requirements.

Reliability makes more awesome things get done.

The Illusion of Control

The Illusion of Control

You think you have control. You look around and take stock of your life, and, if it’s a good day, you high-five yourself and feel some measure of peace at how well you’re doing with…stuff. And also things. “My stuff and also my things are right on track!” you say to yourself, proud and pleased. If it’s a bad day, you beat yourself up and you tell yourself to get your act together, and to take control of your life.

But…unfortunately (or maybe fortunately, because we would all be awful at it), you don’t have control. Not really. At most, you have control over yourself and your choices and…even that, let’s face it, isn’t complete control.

Can you safeguard your breath, in the night while you sleep,
keep your heart beating steady and sure?

Thrice, Beggars

Control only belongs to God, and when people try to wrestle that away from him, it…doesn’t go great. Most of the time, we think other people are in control, and so we spend our time trying to wrestle control from each other. It…also doesn’t go great.

Read More Read More

Accountability and Responsibility

Accountability and Responsibility

Accountability and responsibility sound like the same thing. They definitely represent the same concept – ownership. 

  • “This thing is mine.”
  • “I got this.”
  • “I want this to be successful so hard that I will make sure it succeeds.”

In fact, the concepts of accountability and responsibility are very close. There’s one main difference, though: 

Accountability is ownership by an individual. Responsibility is ownership shared by a group.

Read More Read More

The Five Most Important Ingredients in Doing Technical Stuff ™

The Five Most Important Ingredients in Doing Technical Stuff ™

We were talking (arguing!) about the most important ingredients that are critical for executing technical work (aka doing Technical Stuff ™). Josh claimed there were four skills necessary, at which Laine scoffed and said that couldn’t possibly be true. Turns out, he was pretty much right – so we wrote that post. Then we realized there’s a fifth thing that’s not only necessary, but vital – but it isn’t a skill. So…we had to change the title. Usually in a list, three or four things is the right answer, but… not today, apparently.

And so, with no more ado, the ingredients critical for doing Technical Stuff are:

  1. Support
  2. Kitty Typing
  3. Experience
  4. Googling
  5. Determination

Read More Read More

Community: What is?

Community: What is?

We’re going to talk about community a lot. It is central, vital, to what we do and why, so we figured…hey, maybe explain what we’re talking about…

Why Community?

People gravitate toward each other. For support, and fun, and love, and joy. Marriages and families, friends who become family, people with matching pieces of their souls to share – in the best of circumstances, this natural pull of people to other people builds true community.

Read More Read More