Categories
Monocategorized

20 Lessons in 20 Years Part Three of Four

So we are halfway to twenty lessons learned now, and getting into the really deep topics. I hope you are sitting down for these, possibly in possession of safety harnesses and airbags. Most of the things in today’s list are difficult to do because sometimes it feels like you are going backward while still moving forward.

Invest Time In People

Somewhere along the way you will focus less on what you are doing directly, and focus more on empowering other people to do things for you. This is the proverbial “will it scale?” meme that delights us all. It is worthwhile to empower junior developers, through creating software frameworks, providing training, or doing code reviews. Honestly, you should probably be doing all three. This is around the time that people will start to tend towards “managing people” or “managing codebases”. Do not treat this split as a set of plate-spinning exercises. If you are better at managing codebases, just focus on that. Similarly, if your chops are in people-management, then hand off maintaining the codebase to someone else. This is a great time to train up people and give them more responsibility. I generally invest some amount of my time in keeping up both sets of skills; however, you should be aware that it is okay to dive deeply into one and have other people be responsible for the other.

You should develop tools to help younger people be successful on your teams. Having talent-assessment exercises, codebase-ramping tasks, and talent-development tasks are all great things to have in your tool chest. If you are at a decade of professional software engineering experience and these words sound alien to you, you should probably take a long hard look at your five-year plan.

Do Not “Just Become Older”

This one is a favorite! I have started many companies as a bootstrapping entrepreneur. There is something exciting about that first milestone check, and eventually that final milestone check! As you build your career and your business, it is worth it to critically examine the outcome of all of your projects.

At Mofactor, my business partner and I would regularly discuss the outcomes of our projects. Sometimes we did service contracts to pay the bills, and would re-invest the margins into our own intellectual property. Of course, software development is hard, and sometimes unavoidable changes or unexpected software issues will erode those margins and we will wind up getting to the end of a project with a very thin return on investment. When we did projects that took four months or eight months and left us exactly where we started, I began to realize that the opportunity-cost of those projects were devastating. We kept the lights on during that time, sure, but also we lost significant time. I began to refer to the outcome of those projects simply as “This made us older”.

This is a powerful statement. Certainly we did not perish in the aforementioned projectswhich would be bad, and that does happenbut becoming older means we are still moving forward, but we have less time. Being neutral after a project is a mild net negative and it is worthwhile to identify what things “make you older” so you can do less of them.

Always Be Recruiting 

It is time for me to give away one of my Super Secrets. Get your pens and notepads out, this is probably one worth writing down, especially if you creeped me on linkedin and found this article because I am going to be interviewing you in a few days.

I am always recruiting. I have big ideas and a large appetite to do audacious things. I have been blessed with meeting an extremely large number of talented people and I generally do a good job of helping find and fit people to their level of expertise and desired career goals. If you are in the business of making software, you should always be working towards building your ideal team. Even after people have moved on to new teams, or even new jobs, you should invest time in staying connected with them.

I spend equal amounts of time meeting new people, and maintaining connections to talented people. It is harder now than ever for me, largely due to being blessed with so many talented friends, but I still spend time maintaining it. Do not feel weird about keeping in touch with your best team members. Feel less weird about asking them to come and work with you again when you start something new.

Develop tools for recruiting as you go along. I think I waited too long to write mine down formally, but I continue to improve and refine them. Share them with other people at work. Try new things to see if you can improve them.

There are a series of questions I ask people when I am recruiting for leadership roles that help me understand if you appreciate the value of teams and your best contributors. If you are in a leadership role I will often ask you to describe the best person you ever worked with. It is interesting to see if people have just one person, or if they have many to choose from.

The follow-up question to me is equally importantI ask if they still currently talk to the best person they ever worked with. I will confess that I enjoy people’s various reactions to this question. Sometimes people realize that if they are looking for a leadership role, that this is something they did not do and ought to start. You can see it on their faces. The reaction is visceral. Sometimes people have already realized this and have an answer because they know this is important. And then, there is a third group that shrugs and does not answer the question, nor do they see its relevance. Here is that Super Secret I mentioned earlier. If you are in that third group of people, I will put this in the “areas of concern” column for me.

You should always be recruiting.

Establish Your Successors

A great follow-up to recruiting is succession planning. If you are thinking about this in the first five or six years of your career, you should probably turn off the Game of Thrones. That is probably harsher than it ought to be, but it is the rare individual who accomplishes so much in the early part of their career that they should figure out how to set up and maintain their legacy or their business.

Having a successor is important. Some people fear it, and use it as a corporate toy. Many people will have someone who is “almost there” and will keep them on standby so they do not get made redundant by their boss. There is perhaps another type of person out there who has no real clear successor and thrives on collecting a ransom from their employer for being so special and important.

I do my best to find one or two people, in each team I manage, to whom I can give the keys to the car and then walk in the other direction and know that everything will be okay. I treat this person as a peer and I generally bring them very deep into the circle of trust.

Other people you work with may resent your successor, especially if you name them as such. I really do not have a good answer for this. Too bad maybe? I just know it is important to me and it is important to the business and it is an important thing to think about.

Establishing your successor is hard, by the way. I have fucked this up royally in the past. It is possible if you have three very talented people that you want them all to have the same level of experience that they turn on each other as some sort of whacky zero-sum game. I was guilty of creating this situation exactly once, and I feel ashamed for that to this day.

It is also possible for your successor to abuse this power. Be very careful here. One time I gave someone very clear and very explicit orders and they flipped the script and said I wanted something else. This is one of those times where I will get heavy-handed. If the chain of command and communication paths do not work, then this requires a heavy role alteration and I have had to demote people for this, or worse.

It is really easy to screw this up, especially the first few times that you try it. It will hurt people’s feelings, and some people will quit their jobs because of it. It is nonetheless very important.

Let People Fail… Carefully

Phew! Where do we go after that last one right? This one is a softball. As you get farther along in your career you will be doing error-correction on your people around the clock. You will listen to them and tell them “This idea is good”, or possibly “this implementation is bad”. The shareholder value will go up more and more, the more you can redirect people towards good outcomes.

There is a problem with that though. The problem is that people won’t know how to react when the shit hits the fan.

It is important to let people follow through on bad decisions sometimes. If they do not, they will not build the tissue and muscle memory to adapt when that is needed. Also, it helps if you can identify and mitigate these failures so that it does not cause a business catastrophe.

I see this as a struggle between growing people and growing revenue. As a leader you are likely charged with balancing these two decisions. It is entirely possible you may want to get in front of every runaway freight train and just stop all of the bad ideas in their tracks. This creates learned helplessness in your team, and also prevents people from growing. Sometimes you have to let people figure things out on their own and suffer through the consequences of their own decisions.

A few times, I have sat down with people to calibrate where they are professionally and examine what they need to do in order to achieve their next career-goal or promotion. What I have found is that many of them are iterating on talents inside of a very finite box and not being stretched or given opportunities to grow out of it in the direction they want.

How do you fix that inside of an organization? The answer is: Any way you can. If you do not give those learning moments to people, or those growth opportunities, they will probably leave you for another company or another project.

You have to give people projects that make them a little uncomfortable, even if it makes you a lot uncomfortable. It is better to manage some failures on purpose than to wait for the shit to hit the fan and then have to pick up the pieces if things unravel. There are businesses that capture and institutionalize this very well. There are also businesses that bury their heads in the sand and pretend it is not important.

So there you have it, these are meaty lessons learned, and some of them still have deep, deep impact. Some of the incidents described above were horrible lessons learned and I try my best to apologize when I make mistakes that are that egregious. I truly hope that these produce a solid path through the wilderness for any of you, either now or in the future, and I look forward to wrapping this up next week!

By jszeder

This space intentionally left blank.

Leave a Reply