Brian Gilham

Engineering leader, husband, and father

people-skills

Not Too Philosophical

I recently got an email from a Monday Mailer subscriber, complimenting me on an article I’d written. They liked the piece and told me to,“keep them coming.” I love hearing from readers, particularly when something I’ve written has helped them in some way. But it was a comment at the end of the email that caught my eye.  “Not too philosophical, though” I wasn’t quite sure how to respond, to be honest.

I recently got an email from a Monday Mailer subscriber, complimenting me on an article I’d written.

They liked the piece and told me to,“keep them coming.” I love hearing from readers, particularly when something I’ve written has helped them in some way. But it was a comment at the end of the email that caught my eye. 

“Not too philosophical, though”

I wasn’t quite sure how to respond, to be honest. I just replied, “Heh. Thanks.”

I’ve heard variations on that comment before, and it confuses me every time. Side projects involve a lot of technical topics, to be sure. It’s rare not to have to think, at least a little, about things like database structure, deployment, programming language, and hosting. 

But, when it comes to creating something new and sharing it with the world, there’s something else you need to deal with: the space between your ears.

When I sent out the Monday Mailer survey, I asked, “What’s the biggest challenge, when it comes to your work?” The majority of the answers were related to time management, motivation, focus, and prioritization. In fact, less than 3% of the responses involved coding at all.

I think I’m different from many programmers. I’ve always been interested in technical topics, but programming has always been a means to an end for me. I’m not interested in knowing every nook and cranny of a particular language or framework. I’m interested in solving problems for real people, using technology. Programming is just what it takes to get there.

If you asked some people, they’d say that makes me less of a programmer. To them, you aren’t worth much unless you know how to find the minimum depth of a binary tree, or can recite how to do a Heap Sort from memory. 

I realized a long time ago I was never going to appeal to those people. It isn’t that I couldn’t pick up the skills necessary — I just don’t care. If you’re plugging away on sophisticated algorithms at Facebook or Google, I salute you. But I’ll never be you.

I deal with a lot of technical issues all day, at work. When it comes to my writing, I want to explore other topics. The kind of themes that aren’t discussed very often, in most programming circles. Topics like, “What do I do when I’m falling behind the rest of my team?” or, “How do I get over my fear of shipping?”

Those are thorny problems. And they’re problems most of us face, from time to time. Technical skills can be taught relatively quickly, assuming you’re a willing student. You can buy an online course or a book. You can listen to podcasts, or hang out in Slack channels. If all you care about is writing pretty code, there’s plenty of ways to fulfill that goal.

But if you want to become more confident in your skills, get over your fears, learn how to ship your work, or get better at working with other people? That’s alot harder to do, particularly in a field full of people reluctant to think about the non-technical. It requires support from other people and maybe, just maybe, some honest writing from people who have been there.

The Monday Mailer won’t always be about motivation, or fear, or other “soft” skills. I’ll always write about how to promote your work, be more productive, get better at consistently shipping, and brainstorming new ideas. But it won’t be what I write about exclusively.

Until next week,

-Brian


Learning to Communicate

When you work with someone else, even someone you like, it can sometimes feel like you’re speaking two different languages. There’s a disconnect happening; you’re on separate wavelengths. You might agree on the goal you’re trying to accomplish, but be at odds on how to get there. It isn’t anyone’s fault, necessarily. You’re both skilled, hardworking people. You’re just approaching your work, and the world, from completely different mindsets. Sometimes the person you’re struggling to communicate with is your boss, compounding the problem.

When you work with someone else, even someone you like, it can sometimes feel like you’re speaking two different languages. There’s a disconnect happening; you’re on separate wavelengths. You might agree on the goal you’re trying to accomplish, but be at odds on how to get there. It isn’t anyone’s fault, necessarily. You’re both skilled, hardworking people. You’re just approaching your work, and the world, from completely different mindsets. Sometimes the person you’re struggling to communicate with is your boss, compounding the problem.

You can try to hash it out as long as you like; one of you will always leave the conversation more frustrated than when it started. When that happens, you need to accept that your usual approach to conversations just isn’t going to work.

I’ve been reading about this topic a lot lately. It’s opened my eyes to how different thinking and communication styles can be from one person to the next. Frustratingly, it’s often contextual. You get along fine one day and struggle the next. You just get sidetracked, somehow.

When communication starts to break down, it’s helpful to focus on listening intently and empathizing with the other person — a skill I’m constantly working on. As I’ve been reading, I’ve learned that people primarily fall into one of two ways of approaching life & problem solving: compartmentalization or connection.

People who compartmentalize are skilled at assigning the disparate parts of their life into different mental boxes. They have one box for work, another for their relationship, and another for their hobby or side project. These folks can jump from one box to another, but they’re always occupying one box at a time. This is the style I most identify with. If you start talking to me about a project at work, my brain jumps into that box. Want to talk about something else? Give me a second, my brain has to move to that box.

The ability to compartmentalize is important for a programmer. You need to consider how different parts of your code interact, sure. But you spend a lot of time working through one component at a time. Heck, they teach it in school. I tend to jump into one box, solve any problems I find, and move on to the next. As I’ve gotten older and more experienced, my ability to jump between boxes — and notice connections between them — has improved. But I’m still at my most comfortable when I can settle into one until I feel like I’m done.

On the other side of the spectrum — and it is a spectrum — there are people who primarily approach life by identifying and thinking about the connections between different issues. For these folks, life is full of connections just waiting to be explored. They see how one issue affects another. And another. And another. They’re naturally skilled multitaskers, rapidly jumping from one topic of conversation to another. They’re still solving problems, but they take a different approach. In exploring connections, they find the bigger picture.

“Compartmentalizers” feel overwhelmed, unable to jump between boxes quickly enough to keep up. “Connectors” get frustrated, unable to understand why others don’t see the connections they do. Neither style is right or wrong. Different situations call for different skill sets and approaches. You can even find one person embodying both styles, at times. I often switch from one to the other — though I struggle to do so in every aspect of my life.

Next time you’re struggling, at a fundamental level, to communicate with someone else, try to think about how their brain is working in that moment. Are they trying to focus on just one problem and solve it? Are they bounding from one thing to another, trying to grasp the bigger picture?

Thankfully, both situations can be improved with the same approach: working to understand where the other person is coming from.

If you’re working with someone who leans toward compartmentalization, take a breath and recognize their need to focus on a single topic for a while. You’re going to want to take the conversation in 100 different directions. Resist the urge. Once you’ve worked through the topic at hand, you’ll find a more receptive audience for your next thought. 

If you’re talking to someone who works by exploring connections, you might feel overwhelmed with information. That’s okay. Realize that talking through those connections is how they’re going to process their thoughts. Go along for the ride, with patience and understanding. Eventually, they’ll reach a point where things start to feel actionable.

Dealing with different personalities in the workplace — andlife, really — can be challenging. But programming is a team sport, much of the time. You can certainly try to put your head in the sand and hide at your desk. But you’ll advance more quickly — and learn more — if you take the time to improve how you interact with other people.

Until next time,

-Brian