Tuesday, July 23, 2024

New Coding Problems = Old Coding Problems?


Late last year and into this year (2024) I needed to take time off to recover from surgery. As my mind started to clear but my body was still healing, I started poking around some code. At the time I was playing Pokémon Go (PG) and wanted to build my own mapping application. Well not actually from scratch but build it using a bunch of Python that others had assembled. I was not successful, and it the reason why got me thinking about libraries vs. binaries. 

Library vs. Binary reuse is one of those problems that has been around as long as I can remember. The first time I ran into it was when coding in C (pre-C++) and considering an #inlcude file (.h), a library (.LIB), or a dynamic link library (.DLL). I don't plan on rehashing that thinking now because we all know the right answer and so we can just move on.

The Python code / repositories I was trying to assemble for this purpose suffered greatly from the conflicting version problem. Where code in the same namespace was dependent on different versions of the same library. This creates a Gordian Knot of mixed versions that is very difficult to work out. I am no Python expert, but my understanding from those that are is that this can be a common thing in the world of Python.

Not to give Python a bad name, I know it would happen in Java too. Yes, there are ways to work around this, but I was more focused on getting the solution running that having to unravel dependency tree conflicts.

It was a walk down memory lane that got me thinking that a lot of the old problems I had as a developer are still around. I know the tools have gotten better at helping us manage these and lessen the pain of the problem, but the problem still exists.

Monday, July 22, 2024

Be a Student of Management

My experience is being a manager is hard. More specifically it's hard to do well. In my career I have tried being a manager and decided it was not for me and gone back to being an individual contributor. I liked the idea of being a manager but could tell I was not ready to be a good manager.

It wasn't until I became a manager where I was also considered an officer of the company and the company enrolled me in a year-long training. Oh wait, there is training for this? This is when I became a student of management. The assumption that the skills that made me a great individual contributor were the same as the ones I needed to be an equally great manager were quickly dispelled. I needed to grow some new muscles.

I am a naturally curious person, so this was something I wanted to learn more about. That is after I swallowed a little humility. I started off reading a handful of books recommended as part of the development program. These were helpful and gave me a foundation for the type of manager I wanted to be. But it was only through trying (and at times failing) that I learned where my weaknesses were. The biggest one was to not try and control the outcomes of using my technical expertise. This is where I came up with the pattern I called controlled failure - a topic for another post.

The key for me has been to acknowledge that as good of a manager I am, that I need to remain humble. There is always something new to learn. I have learned things at the best and worst of times. My goal is never stop learning how to be the best manager I can be - to always be a student.

Adam Grant is someone I have learned a bunch from. 

Sunday, May 12, 2024

Kindness Factor

Kindness is something that has been on my mind lately. What does kindness look like at work? I was thinking on this and believe kindness starts with myself then extends to others. 

Am I the only one that has an easier time extending kindness to others than myself? Self analysis aside, I can't help but smile when being kind to others. Either way, it's me expressing the kindness - I am "in control".

The challenge is - I am not in control when looking to receive kindness. It's not something I can simply request. But it is something that when it's missing, I know it. I learned a long time ago that it's foolish to think that by modeling kindness - something will change. If it does, great, but it's not likely.

Kindness at work is happiness. Satisfaction. Feeling appreciated. All sound like good things to have in the work place - right? So why do I get the sense that there are others that see this idea as foreign / incompatible with the workplace? How about you - do you see kindness where you work? 

Monday, April 29, 2024

Two Things to Avoid - Politics and Religion

I was having a discussion with a peer today and this topic came up - only a couple hours later that I realized that it did.

They say two topics to avoid at work politics and religion. Taking religion out of this discussion lets talk politics - team politics.

Power Struggles. Favoritism and Bias. Toxic Work Environments. 

I wish I had a formula for dealing with or avoiding work politics. I don't. I think I do the next best thing - model what it looks like to work with respect, empathy, and communication. In short - integrity.

We hung up the phone agreeing that work politics suck.

Monday, April 8, 2024

Feed Tuna Fish Mayonnaise

Classic voice tape recorder

You may not have heard this line from a movie before; but you certainly have heard of Michael Keaton, the actor who said it. Quickly, the context is that Michael Keaton plays a goofy character who carries a mini voice recorder with him all the time so that he can record his ideas and not forget them. He is an "idea man". One of his ideas is to feed tuna fish mayonnaise so that tuna fish salad sandwich is that much quicker to make. Not funny? Guess you had to be there.

I never carried a voice recorder around with me. I have tried Post-It notes, a journal, OneNote, and Notepad. But remembering my ideas isn't the hard part. It's the execution. For instance, I have been a part of starting up two companies. It was a lot of work, took considerable money, and came with considerable risk. But the biggest barrier was fear.

Reminds me of Elizabeth Gilbert's book Big Magic. I went to see her talk a few years back (pre-COVID) here in Seattle and she talked at length on working with the fear to ensure the ideas keep coming. I remember that fear. Losing my savings, quitting my job, and don't forget just failing. Failure, ugh. That is a biggie. I wish I had some wisdom or smart sounding to say about fear - I don't. We all just have to figure out our own way. Me? I'm a big thinker. I try to outsmart my fears. When that doesn't work I try ignoring them. Enter Dr. Phill - and how's that working for you?

I don't want to count the number of ideas I've had that I was too afraid to do something about. That didn't have to mean going all the way. Even if I just flushed them out a little more.


Wednesday, March 20, 2024

Public vs. Private

I am a big Ted Lasso fan. I didn't want to be at first, I thought it was going to be a goofy sports based show. I could not have been more wrong and found myself laughing harder than I had in a long while. Over the last few months I have been reminded of this episode where Roy Kent gives an example of not knowing what is going on each other's lives.

Roy Kent at Press Conference

[...] And none of us know what is going on in each other's lives. So for Isaac to do what he did today, even though it was wrong... I give him love. And as for why he did what he did... that's none of my f?cking business. [...]

If you don't know this one, please check out the link above with this scene. It's a great story.

Recently I found myself thinking about this - we don't know what is going on in each other's lives. I think the way this manifests is when observing another's behavior we fill in their story with our own story about what must be going on for that person. Like most stories, we tend to create them from our past experiences; many times assuming the worst.

I bet you have created a story to explain someone else's behavior; parents, colleagues, friends, direct reports, strangers. And how many times was the story a "negative" one? As much as I try not to, I know I have. This is where another Ted Lasso lesson pops for me. When Ted is playing darts with Rupert (Mannion not Giles) and shares "Be curios, not judgmental" as part of a story he is relating. My experience is that my stories are often close my judgement and therefore short circuit my curiosity. It's just about treating others as people, with respect and compassion. That doesn't mean that we shouldn't hold them accountable. But it may change the way you hold them accountable or whether you hold them accountable at all. 

I like to write these down as something for myself to continue to be mindful of as opposed to expecting anyone else to benefit from them. If you do, then great, love that.

Friday, March 15, 2024

The Easy Fallacy

easy key on keyboard enter key

I was talking to one of the younger engineers at work recently and he said that he appreciated my experience. After I realized that it wasn't one of those - your so old moments. I laughed and told him that is probably more true than he realized. For instance, we were talking about an a fix that he labeled as "easy". I told him that in my experience easy changes can be a fallacy. I could see in his expression that he knew what I saying but he didn't know what I was saying.

I can't count the number of times when me, my colleagues, and/or team fell for this one. It looks something like - the change is a small one, often innocuous - like a configuration change. If you're nodding you're head right now, then you too have fallen or been witness to this one.

This happened recently a couple of times. One looked like a change that when merged to to the main branch, inadvertently picked up an unrelated change. This change was not something that was caught until it was promoted to production and resulted in a performance impact. As a result we had a week delay two weeks before the larger launch because we had to do even more work to earn trust that it would not happen a second time.

A contributor to falling for this fallacy is that making simple changes in a complex system isn't about how small the change is - it's about everything else after the change.

Which begs the question, how do you not fall for this one? I feel like this one hurts the most when your under a time crunch and your belief in the fallacy convinces you that you should make "easy" last minute changes. Ouch. Or that you let your guard down on the "easy" change and miss something. The answer for these two is - don't do this. I am sure you have your version of this. 

Mad Skills - New Claude Feature