Post

On Leadership & Staying Technical

Avoiding the Middle Management Trap 💀

When I once again left the individual contributor (IC) track to lead Trail of Bits’ Application Security Assurance practice, I made a commitment to myself that I wouldn’t let my technical skills become dull from disuse. You see, the last time I pursued a career in leadership I was a Top 100 security researcher on Bugcrowd (#64) — and over the course of three and a half years in leadership my technical skills had languished.

By the time I realized I’d become a middle manager — albeit with solid writing, presentation, and business strategy skills — I felt practically useless when challenged with hands-on-keyboard tasks. To make matters worse, when it came time to move onto my next career opportunity, I very nearly floundered on technical assessments. Since then I’ve made a habit of continuously developing and honing my technical skills so as to avoid the anxiety I felt at that moment in my career.

In this post I’ll share some wisdom acquired from years of rebuilding the technical sharpness I once had. And while I was not starting over from zero — it has been by no means an easy journey to get back to the level I’m at now.

An image of three stages in a person's career: Early, Mid, and Late. In the "Late" career stage there is a red box shortly after a fork in a straight line going from left to right where the fork starts at the end of the "mid career" section. There is an arrow with the words "danger zone" pointing to the red box in the first half of the "Late Career" stage. Credit: Shachar Meir’s “Career Danger Zone” post on LinkedIn

Staying Technical is a Smart Career Move 🧠

If you’re looking for a good reason to stay technical as you move into leadership, I can sum it up for you in two words: Career Security.

Simply put, there are more individual contributor roles available on the job market than there are management positions needing to be filled. Moreover — barring changes to executive leadership within a company — management roles tend to be filled by senior IC’s familiar with the internal workings of a business. Building and maintaining technical skills will afford you flexibility in those moments when you get passed over for promotion, or denied new opportunities by your current leadership. Your technical skills will keep you from being pigeon-holed into a specific role, or stuck working at a particular company.

Likewise, maintaining your technical skills after moving into a leadership role offers a number of benefits - not the least of which being that you’ll be a more respectable leader for the people who report to you. One of the fastest ways to build trust with a team is to show them that you can nerd out on technical topics with them. Executive leadership will also take notice of your technical abilities, as these skills will set you apart from other leaders who have fallen into the middle management trap.

In terms of additional leadership benefits, being technical makes it easier for you to estimate the level of difficulty for technical projects and initiatives. Your ability to ask intelligent questions about the implementation challenges your team is facing — as well as your ability to provide insights into technical areas the team is less familiar with — makes you a credible source in the eyes of both your team and your peers in leadership.

A Never Ending Journey 🐉

Developing and maintaining technical skill is not a destination that you reach — but a journey that will continue throughout your entire career. There are four stages to the journey that you will traverse repeatedly. Getting comfortable with each stage in the process will allow you to deepen the knowledge you gain along the way.

Studying 📚

When it comes to learning new skills, your first consideration should be the depth of knowledge you want to pursue. A number of psychological studies and educational materials suggest that observational learning (such as watching videos) provides a shallower depth of understanding than what is gained from reading and critically thinking about a given subject. At first, imitation (which comes from observational learning) might be enough to get past initial hurdles that prevent you from moving on to the next stage (”Doing”). But imitation rarely produces the deep understanding required for real technical expertise.

So if your goal is to simply move onto the next stage of your learning journey, by all means watch that YouTube video. But if you’re in a situation where you need to deeply understand the nuance of why certain actions produce specific outcomes, you’re going to need to get comfortable with reading about the subject. Many of the best security researchers and well-known hackers out there have mastered the basic skill of reading technical documentation and critically thinking about a given subject — which I suspect is why they uncover such fantastic vulnerabilities 😈

Doing 💻

The real difference between someone who is knowledgeable about a subject — and someone who is capable of taking action related to that subject — comes from actually performing hands-on-keyboard activities. As I’ve written previously, there is no substitute for hands-on-keyboard practice. Whether it be participating in Capture the Flag (CTF) events, spending time on a HackTheBox lab machine, or challenging yourself with an Offensive Security Proving Grounds box, you’re bound to pick up tangential knowledge that builds a fabric of understanding.

And let’s face it — when it really matters, someone who has practical hands-on-keyboard experience is far more valuable as a security professional than someone who simply possesses knowledge in a given subject matter. A surefire way to find yourself falling into the middle management trap is to forego this stage of the learning journey. To quote my friend and sensei Jason Haddix, Do The Thing ™️.

Teaching 🧑‍🏫

A frequently overlooked stage of the learning journey comes in the form of sharing your knowledge with others. Not only does the practice of teaching reinforce your own understanding in a given subject — it forces you to go deeper with that subject than you might otherwise intend. Teaching sharpens one’s understanding because the difference between knowing a subject — and explaining that subject to someone who doesn’t already have that knowledge — requires breaking down information into its component parts.

It is through knowing these components and how they fit together that you achieve mastery of a subject — and a great way to force oneself to this level of understanding comes through the practice of teaching. But, in order to achieve this level of understanding, you first have to build an understanding of the core components through Studying and the related components through Doing.

This is perhaps why the word “sensei” is often said with such reverence in Japanese culture: it means both “teacher” and “master” — as in one who has mastered a given practice or technique. That mastery is achieved through studying, doing, and then teaching disciples a practice or technique in order to deepen one’s own understanding.

Sacrificing ❤️‍🔥

Accomplishing all of this requires time and attention. You only have around sixteen usable hours in a day — and eight of those are usually going to be spent working on non-technical leadership tasks. When considering your budget for the remaining eight hours in a day, you’re probably spending something like 90 minutes eating, 30 minutes on physical fitness, another 30 minutes preparing for the day, and so on and so forth. These remaining eight hours will slip through the cracks if you’re not intentional about how to spend it.

By my estimation, unless you’re still an individual contributor, you probably have just two hours a day where you can really dive into the practice of technical skill development. If you have young children in the household you probably have even less time available than this. It’s important to be mindful when asking yourself: what am I willing to sacrifice to stay technical?

I would strongly discourage you from sacrificing sleep, as it’s required to maintain mental sharpness when absorbing new information. This means you’ll probably have to give up other things like socializing, video games, or other hobbies to make time for learning — and giving up things that help you relax will almost certainly lead to burnout.

So how do you avoid burning out while striving to maintain your technical skills? Well, I think the first requirement is to make a habit of setting aside five to six days a week where you timebox your effort solely for highly focused technical skill development. No notifications, no emails, no Slack, No Discord, no social media doomscrolling — just learning. And while this might sound easy, trust me when I say it’s not.

You will feel a strong mental resistance to sitting down and learning for quite a while until the habit sets in. And even after you’ve turned learning into a habit, your mind will still try other tactics like coming up with excuses not to practice, such as: “I’m tired”, or “I’ve had a stressful day at work”, or “I’m just not feeling it tonight”. You need to fight this mentality in order to maintain your technical skills. The only advice I can offer here is the mantra I say to myself when my mind makes up these excuses:

Do it while you’re tired; Do it when you’ve had a stressful day; Do it even when you’re not feeling it.

Your future self with be grateful to the version of you today who wins this mental battle.

Once you’ve developed a habit where you’ve scheduled time for technical skill development, and follow-through on that personal commitment, you can guiltlessly spend open time on getting together with friends and family — or playing video games, doomscrolling your favorite social media site, binging Netflix, etc.

And before I forget, there’s also a trick for easing into the habit of learning — which is to leverage the Pomodoro technique. Working in twenty-five minute increments with five minute breaks between focused effort will allow you to get more done and fend off the “but I’ve been doing this for hours” mentality. When that timer tells you that you’ve only been at it for 15 minutes, it’s a little easier to resist the urge to pick up your phone and start doomscrolling. I’ve found that using a non-phone based timer is key — and honestly I’d probably still be using hourglass timers, but I have cats 🐈‍⬛

Learn as if You Were to Live Forever ♾️

Even with as little as two hours a day you’ll notice yourself building and maintaining skills that other leaders start to lose. Let me share with you a small amount of simple math to explain why this happens.

Say that you spend two hours a day, just five days a week, on technical skill building — meaning you end up spending 10 hours on technical skill development each week. Now let’s say that you do this for forty-eight weeks out of the year (because everybody needs to take a break now and then). Now you’re up to four hundred and eighty hours of technical skill development across an entire year. If you were doing skill development like an individual contributor — spending eight hours a day, five days a week on the subject — from only two hours a day for five days a week, you’ll spend twelve weeks a year on technical skill development!

In this way, small, incremental growth compounds over time such that the knowledge you’ve acquired starts to build upon itself. After you’ve settled into a learning habit, the hard part becomes resisting the temptation to chase that next shiny concept. It becomes really easy to go an inch deep on something, and then let your mind trick you into a state of boredom so that you end-up pursuing something new before really building technical expertise. I don’t have a lot of advice to offer here except that training courses make it easier to stay the course (pun intended 😜).

Even developing basic habits like technical reading and critical thinking will take you far in your career. You can make this skill development even more valuable by writing about what you’ve learned on your own website, as Troy Hunt has shared on a number of occasions.

Finally, it’s important to find some joy in the learning process. While Cal Newport would remind us all that skills are more important than passion, that doesn’t mean you need to hate every minute of the learning process to make it feel like you’re putting in the work. Personally, I enjoy throwing on some music while I practice — and since it’s the only time I really listen to music, it’s something I look forward to.

To quote some fortune cookie wisdom I received years ago:

There are dreamers, and there are achievers — the difference between the two is action.

So, what technical skills are you currently working on?


If you found this post useful or interesting, I invite you to support my content through Patreon — and thank you once again for stopping by 😊 While taking some time to prepare my next blog post, you can git checkout other (usually off-topic) content I’m reading over at Instapaper.

And until next time, remember to git commit && stay classy!

Cheers,

Keith

This post is licensed under CC BY 4.0 by the author.