Stop me if you heard this one before, you are working on a code project, and you really want to make this one perfect. You spend a ton of time brainstorming ideas to make this code “future proof”, this code is going to be elegant and perfect, and the code that will last forever.
Or here’s another one, you open up a project you worked on a long time ago, and when you look at the code it is just awful. I once saw a quote in a software comment that says, “When I wrote this, only God and I knew how it worked, now only God knows.”
Now both of these statements are extremely common among a lot of engineers I know and have worked with, and I’ve fallen into these traps myself (a lot), way more than I care to admit.
But over the past year, I’ve come to the conclusion, that these types of behaviors are fool’s errands.
I can’t tell you the number of times that I’ve seen this confirmed for, and that these type scenarios never lead to a positive outcome. And if we’re being honest, the past decade with the adoption of agile processes, in many ways addressed these same problems. Waterfall as a development methodology is built on this falsehood, so why do we continue to chase this “Holy Grail” that always turns out so poorly.
Realistically, I have found that these situations lead to either:
Setting unrealistic expectations and forcing additional stress on yourself to deliver.
Making it really easy to fall into imposter syndrome.
Now I’m not writing this and claiming to be some kind of psychology expert, all I wanted to do here is share my own thoughts and feelings on this, and honestly your mileage may vary, but this is based on my experience.
The simple fact I’ve come to realize is that Software Development is a temporal activity, like any act of creation. At the end of the day, all you are capable of doing is creating the best code that you can at the present moment. Period.
Any act of creation, whether it’s writing, art, architecture, etc, all have one thing in common, once you go through the process, they are frozen in time. Let’s face it, the Mona Lisa isn’t going to change, and any work being done on it is strictly to maintain it.
When you boil it down, at the project level, Agile focuses on this through the concept of “Definition of Done”, or a “just ship it” mentality.
But I would argue that this mindset needs to extend much further to help prevent ourselves from inflicting burnout upon ourselves. Carol Dweck talks about this in her growth mindset to a certain extent, specifically questioning the idea that talent is fixed, and pointing out that we as humans have the ability to grow in our ability to do the things we care about.
Let me give you an example, there are whole college courses that talk about the differences between Van Gough’s work over the course of his career. The simple fact is that every day we get better at our craft. So ultimately, it’s important to embrace that coding is no different.
My point in this post is this…it’s not worth putting the stress on yourself to build something that’s going to “stand the test of time.” Remember that at the end of the day, the best you can do is the intersection of these constraints:
Resources – The tools you have at your disposal.
Skill – Your ability to do the thing you are trying to do.
Knowledge – Your knowledge of the problem being addressed, or the environment your work will live in.
Time – How much time you have to create the thing.
Focus – The number of distractions getting in your way.
Desire – How much your heart is in the work.
These 6 pillars are ultimately the governing constraints that will determine the level of work your going to do.
I have been writing and re-writing this post for a while, but as we approach the end of 2021, I’m feeling reflective. My point is this, when you do your work, or build your solution you need to embrace the idea that you are not going to build the digital equivalent of the Great Wall of China, and your work is not going to stand the test of time. There will be new technologies, techniques, and even learnings you will be bringing back. So don’t put yourself through that pain, rather do the best job you can, within those 6 pillars, and move onto the next thing.
When you start to consider this, if you’re like me, you will realize that you are free to do the best you can, and not put that additional pressure on yourself.
The joke I tell people is this:
Past Kevin is an idiot who writes terrible code and makes bad choices. And he likes to procrastinate.
Future Kevin is a genius who can solve any problem in an elegant and amazing manner.
Present Kevin is stuck in the middle, doing the best he can, and trying to figure out how to get it done.
I wish you all the best in the coming year, and hope you have a great holidays.
So if you find me on LinkedIn, you know that I recently changed job at my current company. And changing roles is something that many of us have had to deal with several times in our careers. Even if you’ve been able to work at the same place for most of your career, it’s more than likely that you’ve had to change roles, or even teams at one point.
Now this time was a little different, mainly because it was in a pandemic. In previous roles, I would say I was a “mobile worker” and then a mix of “remote and mobile” (probably a blog post on the differences coming). But in all cases, I would go to an office for the initial transition, and at least meet people face to face. But thanks to COVID-19, that became impossible.
So this was the first time I’ve had to transition jobs in a completely remote position. And more than that I’ve noticed I’m not alone, having friends who are going through the exact same thing. Now through this experience, there were somethings I was able to do to help myself, and other things I learned for next time. And in this post I hope to capture both. So here are some tips and tricks to starting a new job in a 100% remote capacity.
Tip #1 – Make sure you fully transitioned
This is the first thing I will point out, and may not apply to everyone. If you are changing roles at your current company though, this can definitely be important. As you gear up to transition from one role to another, it’s especially important that you make sure you are able to close out your current responsibilities to prepare for your new roles responsibilities. This sounds like common sense, but I have seen in the past how this can go horribly wrong.
Because you are a remote worker, its easy for some manager or team mates to think that because you aren’t physically moving, or are still working for the same organization that you can be available after your start date at your new position. This is a slippery slope in my experience that should be avoided. The simple fact is this, its not fair to you, your previous team, or your new team for your attention to be divided. Now I’m not saying you should be a jerk about this, and it’s a scorched earth policy when you leave your old team. But I am seeing be cautious about taking on responsibilities after you start your new position.
Like it’s one thing, for some one your old team to reach out with questions or asking you for context on something. It’s another entirely for you to be working on key deliverables or attending meetings for your old team after you start date at the new position. Remember to be respectful of all sides, and I will say that for this to work, you need to respect this tip as well.
More than likely you gave a certain amount of notice, and I’ve seen way too many people take those 2 weeks as a “I’m just going to coast out and then pick up my new position.” This is absolutely the wrong behavior. You have a responsibility to your old team to do as much as you can in the two weeks to set them up for success in the transition. For example, doing the following actions:
Document everything you can about your current projects, things like:
State they are in
Why certain decisions were made
Key team members who were part of the conversations
where to find certain things
key concepts and processes
Setup meetings with your backfills early, and make sure they have time to consume everything and understand what is going on.
Communicate with team members and others as much as you can to make sure nothing gets dropped.
Document any processes you do to help them pick them up.
Tip #2 – Make sure you have a meeting with your new manager day 1
This one feels kind of obvious, but again, some people miss it. You really need to make sure you have a meeting with your new manager as soon as possible. This is going to be to set the foundation of your relationship with them.
You need to make sure you have this meeting as this is the time to make sure you focus on the following key areas:
Expectations on communication
Expectations on delivery and focus
Key objectives and things you can help with
How to engage with the team
What is their preference means of communication?
What are their working hours?
What is a reasonable response time?
What kind of regular cadence should you set up? And who defines the agenda?
Tip #3 – Make sure you talk about team culture
The above meeting with your manager is a great time to have this conversation. And this is one of those things everyone over looks, but is probably the most important. In a pre-COVID world, you would discover the nature of the team naturally. You would talk to your team mates, and find out how they work. And let’s be honest, some of these things could be taken for granted. But with the advent of remote work, all of the old assumptions are out of the window. So you need to take the time to figure out what the culture of Thea team is, and by that I. Mean things like this:
Are there regular cadence calls?
Do people prefer phone or face to face?
Is there a preference for camera use?
Tip #4 – Ask for an “onboarding buddy”
This is extremely important, Onboarding in a vacuum is completely impossible. And even the best manager in the world isn’t going to be able to talk about everything. And to be honest, even if they want to, team dynamics are always going to be different.
Let’s face it, people behave differently for their managers than they do for their other team members. Plus, most managers I’ve known are very busy people, and the demands of onboarding someone can be problematic.
So a good solution is to ask your manager for an “onboarding buddy,” and the idea is this is someone who you can check in with on a daily basis. The goal being that you can check in with on a daily basis to make sure things are going well and that you are aligning properly.
Tip #5 – Make sure you have explicit direction
I find too often, and I’m including myself in this, I am afraid to step back and say, I’m not entirely clear on what you are looking for. You don’t want to find yourself in a situation where you don’t have an understanding of your direction and next steps. Make sure you get explicit instructions from your new manager on what you’re priorities should be and what you are going to be working on.
Tip #6 – Make sure you are able to contribute early
Look for ways to dive in, I hate to say this, but most onboarding is fairly generic, and the best way to get to know the team is to roll up your sleeves and get to work. Find ways that you can help them with what they are working on right now.
Don’t be pushy about it but just ask “How can I help?” Or look for things you feel comfortable taking on early. The best way to get to know a team is by getting in a foxhole with them and showing value.
Tip #7 – Start in listening mode
One of the biggest mistakes, I see over and over again is that people show up to a team and start saying “we should do this differently?” It is pretty presumptuous to walk in to a team that has been working together and start with a “You’re doing it wrong.” It also causes you to miss out on a lot of learning and would recommend you take the time to really make sure you understand how the team works, and the “Why?” before you start throwing out ideas for changes.
So there are some of my initial thoughts on how to join a team remotely.
So this is something I’ve been thinking a lot about lately, and I figured it might be worth doing a blog post about, and that’s the topic of Perfectionism, and the idea of being your own worst enemy.
In my new role, I’m doing a lot more coding, and software development and I find myself in a position that I’ve been in before, where I have sort of a “blank slate” to build out something and have a degree of latitude to figure out the “how” I want to do things. And it can be great, but also stressful.
We’ve all heard the stories of Steve Jobs, Elon Musk, Thomas Edison, and others. Who demanded nothing less than perfection from themselves and those who they worked with. And we’ve all had that manager who’s standards were too high, or even been that person who tries to make every detail of your work perfect.
I have lots of times where I catch myself doing the later, and being the one who holds myself to a higher standard, and there can be a lot of reasons for that. Some of those reasons include:
Fear of Failure
Lack of self confidence
In my experience, due to the positive nature of the word “Perfectionist” because of people like Elon Musk, or Steve Jobs, there is now this “convention” where people say “I’m just a perfectionist” to really help mask one of the other truths above.
And at the end of the day that’s telling yourself a lie, which can create this vicious circle. For example, it took me a long time to realize that my perfectionist tendencies were really imposter syndrome.
And this ultimately created a vicious cycle, as follows:
I would be over critical of my work, and put in more hours thinking that it “Needs to be better” or people are going to “realize I not as good at this as I think I should be.”
When people would identify the extra hours and work, I would hide it by saying “I’m a perfectionist, and just need to really deliver the best work possible.”
I would then feel increased pressure to deliver perfect every time, and repeat the cycle with more intensity.
And it should surprise no one, that the above cycle is about the furthest thing from sustainable that you can get to, and because I would take on too much and put too much pressure on myself, I would then set myself up for failure, which made my imposter syndrome a self-fulfilling prophecy.
Now after talking to friends and colleagues, I find that this type of issue is pretty common, subtle differences might be involved (Remove imposter syndrome, and replace with “Fear of Failure”). And the first thing to know, is you are not alone, there are a ton of people now starting to talk more about this. Personally I like Scott Hanselman’s discussion on this topic, found here.
But here are some tricks I’ve found to help myself avoid this, and increase the amount of work I deliver and getting to a quality I am satisfied with, and avoid the downward spiral.
Tip 1 – Keep objectives Small
This is the biggest thing I find that helps me, so let’s do it first. And I did this recently with a coding project that I needed to work on. I take every coding project and break it into small tasks, things that can be done in like 20-30 minutes. And then I break that list into two categories Essential and Nice to have.
The idea here being that I am forcing myself to take 2 minutes and define what is absolutely essential and what would be nice to have. And then as I work on this I will focus on the Essentials, while roping in as many nice to haves as I can.
Now what I did find is that this alone is not enough, as you will find ways to push to make sure both groups get done, but Tip #2, helps with that.
Tip 2 – TimeBox
The next part is that I will timebox everything I do, maybe not with tight like “I have 30 minutes to do this.” But more of a “I’m going to get X done before lunch.” And I find that by doing so, I ensure that I don’t lose focus on the larger picture.
This forces me to keep the essential at the front of my mind, and only let’s me go so far down the “rabbit hole” that is the “Nice to have” list.
At the end of the timebox, I then adopt the Scrum mentality and either add the “Nice to have” items to the backlog, or throw them out all together. This helps me feel like I’m being productive and delivering on what I need to, and can lead to a confidence boost, when I see how many “Nice to haves” I knocked out.
Tip 3 – Be clear about the desired outcome
This is the other critical one, I’m clear for myself and when I communicate with team members about this. Avoid words like “need to…” and be clear about “trying things”.
For example, I had a scenario where I wanted to implement threading in python to resolve an issue and making something more performant. At the time I hadn’t even researched threading, so I was very clear with my team members that I was going to “try” and make this work, and made sure that I went into it with the expectation of trying, not that I 100% committed which reminded myself that getting this working was not essentially.
Now as it turns out threading in python is really easy, and was pretty thrilled with the results (2 hour process down to 17 minutes). But it helps to understand that you need to make sure that you are clear about what you are “trying to do” or “experimenting with” and what the expected outcome is.
So I wanted to take a second to talk about interviewing, and how to go about interviewing for a position. I recently changed job at my current employer, and have actually had this conversation with quite a few friends, and I did want to put out a post of some quick tips for interviewing:
Tip 1 – Your Resume should really be comprehensive.
One of the number one mistakes I see people make with their resume is they get too beholden to this idea that a resume can only be 1 page, and I honestly don’t know why people believe that.
I know part of that comes from the fact that people want to keep it brief. I totally get that, but if I’m being honest if you are approaching ten years in your field, you more than likely have quite a breadth of skills and relevant experience, that should be documented. And to be honest you don’t know what specific skills they are most looking for, so it’s important to make sure you make your resume comprehensive to ensure that you check the appropriate box they are looking for.
Additionally, and I see this mistake a lot, people leave off skills because they don’t think they matter but do. For example, if you’ve ever had to work with an end customer, done a sales pitch, managed an escalation or expectations. These are valuable skills that many people just don’t have and should be documented in your resume.
Tip 2 – Build a brand deck, it’s the trailer
I have to be honest, in my experience the practice of a Cover Letter is really out of date. Most people I’ve ever known don’t put a lot of stock in them. I would argue a better medium in my experience is a “Brand Deck”, which really enables the ability to showcase your skills.
If the resume is a comprehensive view of your career and skills, the Brand Deck is the “Trailer”, the goal being that it allows you to shape the narrative around your skills and strengths and present that to a potential employer for their review. This can be a powerful tool for helping to show your skills ahead of the conversation in an interview. And ultimately help setup a more productive conversations for both potential employers and you. Instead of having the “What kind of experience do you have in Scrum?” They can see in your brand deck, “Lead team with Scrum Master role, and coordinated activities for Sprint Planning and Retrospective.
Tip 3 – Be on time, and very professional
This one I shouldn’t have to say, but I will. You need to be on the spot, and even potentially early for every interview. Also, treat this with a professional approach. And if you have a scheduled time slot be respectful of that. Don’t try to go over the allotted time, and be respectful. I have a whole blog post on how to run a meeting, and you should treat your interview in the same manner.
Tip 4 – Never use the word “Expert”. I don’t care how good you are.
This is a good rule that a friend of mine gave me. Never…EVER say you are an expert in anything. There is always “a bigger fish”, and there will always be someone who knows more than you on any topic. So I find the term “Expert” is just inviting people to play “stump the chump.” And honestly that’s a waste of your time and theirs.
Tip 5 – Be humble, hungry, and smart
A great book, that I’m going to do a post on is the Ideal Team Player, And the book really is a fascinating read, with some amazing insights into how someone can be a true team player by embodying these values. And at it’s core, the simplistic explanation of these values are:
Humble: Don’t have an ego, or a chip on your shoulder. Be the kind of person who isn’t in it for personal glory, but rather has a passion for the work they are doing.
Hungry: Be someone who has a passion for the work, and finds ways to do better and accomplish the goals set out for the team. Be someone who wants to find ways to contribute, and doesn’t need to know how to move forward.
Smart: Be someone who knows how to communicate with people. That you treat everyone with the same respect and know how to talk to people. You are smart enough to know what’s appropriate.
Tip 6 – Do your homework
Another key point I’ve seen people not do enough of is, do your homework up front. Research the company you are applying to, and make sure there’s a way to ensure that you make that part of the conversation. One of the most important aspects of the interview is that you are “selling yourself”, to a potential employer.
Tip 7 – Always ask questions
Another key piece of wisdom I’ve learned over the years is that you must always ask questions. ALWAYS. And don’t be afraid to ask about the culture or the team, some of the questions I’ve asked are the following:
What is the best part of working with this team?
What is the worst part of working with this team?
How do you feel about the leadership of the team?
What about the culture?
Do you find people are willing to discuss new ideas?
Tip 8 – Stick the landing
I got this advice from a very good friend, and honestly it is the best thing I’ve ever done in an interview. I now end every interview with the following two questions.
Do you have any reservations about me for this position? And if so can we address those now?
Can I count of you for a “Yes” vote when it comes time to hire?
What I love about these questions, is it gives you a very specific conversation that is focused on the reason you are all there. Let’s face it they are looking to see if you are a good fit, and you are looking to see the same. What I love about this question is that it gives them a chance to talk to you about anything they might have reservations about.
The biggest thing here is if they say “Well you don’t have a lot of experience in _______.” You can possibly clear up that misconception by talking about something adjacent.
The final question really helps you to show them how committed and interested you are in the position. It solidifies that you want this, and are ultimately looking for that to happen.
Tip 9 – Remember this is a sales conversation
Remember, interviewing is a sales motion, where you are selling yourself. You are selling them on why you would be an excellent addition to their team. So approach this as such, and it will always help to orient you in the right direction.
Remember at the end of this process, you are interviewing them as much as they are interviewing you. You want to make sure you are going to enjoy and want to work with these people. So make sure you pay attention and ask questions during the interview.
Well all, I know I’ve been silent for a while and that was not intentional, but life just got in the way of me posting. Which I am going to endeavor to change, and get back on track with regular updates again.
So things went nuts for the month of December because of all the normal craziness of the holidays but in addition I actually changed jobs at Microsoft and was lucky enough to be able to move over to the engineering side of Microsoft. Which marked the achievement of a dream of mine, and with that came a lot of things, but I am now working on many excited new projects.
But I wanted to make sure to talk about the approach I have with regard to 2021 and moving forward. As I took some time over the past month, to reflect on 2020, the year was definitely one for the books. 2020 can be summarized as a bit chaotic of a year, and above all it marks a pretty radical change in the world, as things I’m not convinced will ever go back 100% to the way they were before.
And how I know there is no shortage of posts, blogs, memes, videos, and etc that talked about the dumpster fire that 2020 was. I prefer to use this as a time to look back at good things that have happened.
2020 in a lot of ways I think showed the strength and resiliency of the human spirit and the fact that when we pull together we can accomplish quite a lot. And also this year marked the realization for me of what it takes to enjoy life and what values drive me and define success for my life. And also how much I learned and continue to learn moving forward.
So while 2020 was a year of sacrifice, I want to focus on the positive and those were the following:
More time spent with my family.
Built a strong core group of friends around a game I really enjoy.
Learned and grew more as a creative this year, and really boosted the belief in my ability to create things in this world.
I got to work with some truly amazing people who are building solutions that are changing the world and making the world a better place.
I learned a new programming language (Python)
I’ve learned more about the values that define success for me.
I’ve watch my kids grow, and their minds grow in ways, and I am convinced in the future they will be WAY smarter than I ever was.
I reconnected with old friends, and found myself becoming part of a community that I had moved out of long ago.
I made new professional friends who are amazing.
I read a lot of really amazing books that opened my eyes to what is possible (Infinite Game, absolutely amazing).
So for 2021, I really look forward to the opportunity to grow and learn further, to find new ways to push the envelope and innovate, and to embrace the amazing life with a family I am lucky to have. For those who read this blog regularly, I hope 2021 turns out to be an amazing year for you of learning and growth, and “May the force be with you.”, and ultimately I look back on all of this, and I think it was said best on the best new show of 2020.
It’s that time of the year, What I learned from Hallmark movies 2020
So I’ve made no secret of the fact that over the past two years I’ve gotten back into Dungeons and Dragons and role-playing games in general. And to be honest for my core group, this COVID-19 situation made our group a lot tighter and since March we have now been playing weekly.
Now I will say, that I’ve talked about the benefits of TTRPG (table top role playing games) during COVID-19, that it’s a great way to step out and have fun with people in a way that doesn’t feel forced. But I’ve also noticed that I’ve learned a lot by running these games that I take as life lessons. And I definitely recommend this hobby as a way to grow and have some fun.
Let’s start with the connection here, in a TTRPG, like Dungeons and Dragons, you and a group of others are building a story. The game is about you all building the best story you can, and along the way dealing with outcomes that are decided by a mixture of planning and chance.
Let’s talk high level, just to make sure we’re all on the same page, for example, if you know your characters going to be doing lots of sneaky things, you might take a stealth skill, which gives you a +5 to stealth. So now when you are presented with a situation like that in the story, and the Dungeon Master says “give me a stealth check”, you roll a 20-sided die, and add the +5 to it. Now when you built your character you had to make choices, so using the above, I might have spend points to make myself stealthy, but odds are I’m not intimidating, so an “Intimidation check” might be a 20 sided die, and a -2, much lower chances of success.
To this end if you want to get technical about it, a Dungeons and Dragon’s campaign is a lot like a project, we have a goal, and we have a team of people all bringing unique talents to the project. And we have a dungeon master that is there to help us organize around a goal and work towards it. This should sound a lot like a work project, at least this is the similarity that really struck me.
So I’ve learned a lot being a dungeon master that I feel has direct parallels to my chosen careers and leadership, and I wanted to share those here.
But here are the top seven things I learned by playing these games:
Lesson 1 – What true collaboration looks like?
Ultimately, at the end of the day, when you play a game like Dungeons and Dragons, the game is communal story telling. We are all collectively telling a story. That means that although I control the settings, the non-player-characters, and monsters, the players are just as much in control of the story as I am. In this game, they are the protagonists of the story.
So if we consider this as a collaborative effort, its not unlike your teams at work, your manager is responsible for setting the guidelines, defining the goals and supporting the team (much like the Dungeon Master). The players are responsible for tackling the challenges that are thrown their way and moving towards those goals. Again not that different from your office if you think about it. Sure you’re delivering a product, report, a software solution, and they are fighting goblins, but overall the principles are the same.
So one of the things I learned here was what it means to be in that position and truly collaborate. Because as a Dungeon Master (DM), it was my job to make sure that everyone contributed to that story. And what I learned quickly is that to do that you need to truly collaborate, and make sure that you are giving space for others ideas. One example of this, is that I had very much an idea of the direction that I wanted to take things, but I had to be open to anything. So one of the things I decided early on was to “Find a way to say yes.”
And this did a couple of things, that really embraced creativity and collaboration:
My team mates really felt invested: Nothing makes you more invested in the outcome than to know that you’re ideas are being heard and appreciated.
They came up with ideas that I never thought possible: Some of the things they came up with were really awesome, and I never would have. And that made the story better, or made it possible for us to do more than I thought we could.
It Challenged me in a new ways: By forcing myself to find ways to enable their ideas, it presented me with new challenges I never thought possible before.
Lesson 2 – What it means to empower and say yes?
Now just like managers, there are lots of different types of dungeon masters out there. Some see their role as being against the players, others see it as their story that they need to force the players to follow, and I’m betting you’ve had managers who work the same way.
I don’t know about you, but I’ve had managers that believe they have to be better than anyone who works for them, and feel threatened by their success. I’ve had other managers that felt that “I’m the leader, and make all decisions for every aspect of this project.” And too be honest those were terrible experiences, and I’ll be honest early in my career I could be accused of being one of these, and it wouldn’t have been far off.
But I’ve been lucky to have a lot of really good managers in my career too, and one in particular always said “It’s my job to see you successful.” And that was always inspiring to me. So when we started this dungeons and dragons game 2 years ago. I decided that I was going to be a “Try to say yes” leader. And what that meant was a very simple rule.
Anything reasonable the players wanted to do, before I could say no, I had to do everything in my power to say yes.
Now just like the real world there are limits. If a person on your work team said, “I want to make $1M a week.” That’s not reasonable, and I saw this as an impossible situation to make a “Best Effort” to say yes.
But I decided when my players decided to roll characters, I would find a way to say yes. So when a player came up with a character concept, I would try to find a way to make it work.
For example, I had a player who had a very long backstory they wanted to do with a illustrious history, and normally any online advice on the game would say “Never allow this for level 1”, but we figured out a way to explain how they had gotten older and fallen in levels. And to be honest, I found the challenge of trying to find a way to say yes, really fun and empowering myself.
This also meant as a leader that my team members saw me fight for their success. They saw me trying really hard to make their ideas reality, and this made them invested in the project.
If you are an employee and every you go to your manager with a new idea, they tell you “That won’t work.” Are you really committed to delivering on that project? Are you committed to helping that person? Probably not.
But if you go to your manager with a new idea and here, “That might be tough, but let’s talk it through? Or let me see what I can find out?” Are you going to do more to help? Do you feel more invested in the outcome? Probably yes.
Lesson 3 – People communicate differently
Another key lesson I learned was specifically around communication. Right now my core dungeons and dragons group is 7 players, plus myself as dungeon master. And over the past two years, we played monthly for about a year and a half, and then played weekly since COVID-19 hit in the US.
Our group is pretty eclectic, and we have made some really strong friendships over that time. And I’ve learned a lot about communication and experience with regard to everyone. Some people communicate differently. And as a dungeon master, I’ve had to learn to communicate in the ways that make them feel most comfortable.
For example, I have one friend who will randomly message me on discord (our chosen app) during the week to ask random rules questions, or talk about ideas he has revolving around his character.
My wife, who has become a big fan of the game. Prefers to talk at night before we go to bed, and brainstorm ideas about our character and discuss events in the game face-to-face.
I have another player, who I have to reach out to them as it is harder for them to ask for help or express their opinion during the game.
And I have a third, who would rather ping me to ask if things would work before they do them because they are afraid of looking like they don’t know the answer.
Now reading that list above, I’m sure if you’re like me you can think of at least one person in your work and that statement lines up perfectly. The simple fact is that communication preferences aren’t unique to a game, they are likely the same for all parts of that person’s life. If people don’t have a lot of confidence they are more likely to stay quiet in a meeting. And “cold-calling” that person, likely isn’t going to do them any favors.
So being a dungeon master, I’ve had to learn that my preferred communication style matters, but I have to be empathetic to how others communicate if I really want to get the benefits of collaboration for everyone. And to be a good leader, you should absolutely want to meet people where they are, and it’s been great practice that in this kind of setting.
Lesson 4 – How to make sure everyone is in the conversation.
Along with the need to focus on how others communicate, one thing I’ve learned playing Dungeons and Dragons, is how to make sure everyone is at the table.
Stop me if you’ve heard this one before:
You all get together for your regular meeting for a working session on the project and as the meeting progresses, you are all moving things forward, and things seem to be going well. But you’ve noticed the past few meetings that one of the members of team has been quiet, and isn’t contributing much to the project. You really like this person, they are a fantastic resource, so you assume their silence means they agree with everything being said. At the end of the project, you discover you are missing key requirements in this person’s area of expertise, and the project is in trouble due to these missing pieces. The manager of the project is frustrated and feels like your friend didn’t do their job and wants to fire them.
When you approach the person, they confide in you, that they were afraid that no one would accept their ideas, and although things went different than they thought they should. They didn’t feel comfortable speaking up.
Sounds like a work scenario that we can all relate to right? I’ve seen this same thing happen at the gaming table. And one of the most valuable leadership lessons I’ve learned is how to identify situations where someone is not contributing because of a blocker, and how to navigate that. Looking at the above, most would say “All that could have been avoided by stopping and calling that person out to offer an opinion.” But for some people that is a terrifying version of hell.
Another way to address that would be to become an ally for that person. Like I had this situation with a player, and I reached out to them, 1-on-1, and had a conversation. “What do you think about what happened?” and “Let me get your thoughts?” And then our next game, I started with “______ and I were talking, and they had some really great thoughts about this…” In this way, I’m helping them to feel like someone in the room is validating their ideas and giving strength to them. Which is a key to leadership.
Lesson 5 – People are motivated and enjoy different parts of the project.
This was something that I found very helpful. When you have a group playing a game like this, they are all measured by different things. For me, first hand I saw the following:
Some people love to play out combat in the game, and to them every thing with story is only there to provide more opportunities for combat.
Some people love the story and roleplay moments, and are interested in character arcs and live for roleplay moments.
Some people are there for the whole process of building and optimizing their characters.
Some people are just there to be part of a team.
So as the leader you need to make sure that you are aligning activities and opportunities with people who want them. Like for example, if I have a player who lives for combat, a great roleplay situation is going to fall flat for them, and be a missed opportunity for the roleplayer.
It’s not a stretch to see how this impacts your ability to lead a team in a professional setting. Some people are there to punch a time clock, others enjoy coordinating and running meetings, while others want to just roll up their sleeves and code. And to get the best out of the members of your team, you should make sure that people are given the opportunities to engage in the types of work they enjoy and excel at.
Now as we talked about before, just like communication styles, it isn’t always obvious want people want or what drives them. But its really important to take the time to do that. By doing so, you accomplish the following:
Further show the members of the team, that you care about them, and how to maximize their contribution to the team.
Allow opportunities for people to stand out for their accomplishments, and to be the hero.
Provide new opportunities for people to try things without fear of failure. By allowing them to take risks you empower them to do more as members of your team.
Lesson 6 – It’s not my success to own.
This is one, where a lot of Dungeon Masters get it wrong. But as part of playing these games, and being the leader. It’s my job to create the challenges and things they have to deal with on the journey. And during those times, the players have to rise to the problem and defeat the monster, break into the citadel, etc.
And in the course of running these games for the past 2 years, I’ve seen things go a wide variety of different directions. And a lot of times, they go directions I never thought possible. And the biggest ones I’ve seen success for, are things like this:
I had a situation where I built a game for my players, and had planned this long combat encounter, and it was going to be intense, and I didn’t know if the players would survive. And when we ran the game, my players took a bunch of different directions I’d never thought of, and the multi-session encounter I had planned was over in 1 hour. The players were thrilled, and ecstatic. They had rose to the challenge and overcome it in an interesting way.
And to be honest, if you search for these types of situations on forums or blogs, they will talk about how much this sucks as a Dungeon Master. They will point to all the work you did and how they “beat me.” I have to be honest, I couldn’t have been more proud of my players. They did great, and the success was theirs. The team had accomplished something great, and honestly it was their success. Had I helped enable this? Absolutely I had helped them build and grow as players to the point that this was possible. And honestly, it made me feel proud and accomplished, but nothing about this game is my success it’s ours.
And honestly if you look back, I think you will find that the best leaders in your career had one thing in common, they took their ego out of it. You can’t be a good leader in your career and allow your ego into the equation. You need to be proud of the work you do with others, and you need to be proud of their accomplishments.
And here’s something I’ve learned from one of the best bosses I’ve ever had…”The best leaders take the team out to celebrate, and pick up the tab.” And the way I view this ultimately, is that the best leaders are the ones who even empower and facilitate the celebration of their team. They don’t say “Look what I did with my team!”, they say “Look what my team did!”.
Lesson 7 – How to draw the lines on the field, not control the game.
We’ve all had majors in our careers that have tried to control everything. They must approve every detail of a design, they must review every line of code, and they must be involved in every aspect of the project so that they can “Control” the outcome.
I’ve always known that the best managers don’t do that, they draw the lines on the field, they set the value and direction, but they let their team play the game. And there are a million sports metaphors about this. But I found that TTRPG, give a real quick lesson in this, because during the game I have no control over my players, I setup the scenarios, I adjudicate the rules, but I have no ability to control what they do, or how they react to situations. And it creates a situation where I get to see the success of my team and am always put in a position where I have to accept this fact.
In other situations in my life, regardless of how much I knew this to be true, the nature of TTRPGs, requires you as the dungeon master to only engage in this way, as I don’t have a player in the game, and I can’t control their actions, and it was a great learning experience.
Learning comes from strange places…
So honestly, this is something I wanted to write about, because over the COVID-19 crisis, I’ve found that I learn a lot of new things from a variety of places. And overall I’m trying to make myself more open to these. But I was surprised by the amount of team and leadership learnings I got by putting together a game where people kill dragons.
Navigating Career Decisions without analysis paralysis
We’ve all had to navigate career decisions at one time or another, and those kinds of decisions are never easy. For many, careers are one of those things that generally are foundational to our livelihoods, and are the tools by which you support your life and family. More than that, for many, your career is where you will spend most of your time. So given that, its not uncommon for decisions in your career to be fraught with stress and dread.
I know there have been a lot of times in my life, where my wife and I have had to stop and examine our options and decide what the next step will be. I don’t pretend to be an expert on this kind of thing, but I do think that my wife and I have developed a pretty good process for weighing these options, and I thought I’d share some thoughts here.
What do I mean by “Career Decisions”?
So before we go any further, I think its worth taking a step back and defining terms. What do I mean by “Career Decisions”? For me, a career decision is a decision on a current or next step in your career. And ultimately where you see things going next. Some examples of these kinds of decisions are:
Do I take a new position with my current company?
Do I take a management position?
Do I change employers?
Do I change teams?
Do I move into a new industry?
Where do I see myself in 6 months, 1 year, or 5 years?
Do I ask for a raise?
Do I take on more responsibility?
These kinds of decisions are the kind, that when they come along, can change the course of your career. They affect not just your current situation, but also the next steps and opportunities in the future. And a lot of times, these types of decisions I find can inflict pretty significant “analysis paralysis” (speaking from Experience).
For this blog post I wanted to take a step back and look at some of the things I’ve learned to keep in mind, and consider the alternatives that I’m faced with. This is by no means an exhaustive list, but it is meant to give you a starting point for these kinds of decisions.
Careers are like sharks, they move forward…or die.
The first part of this discussion, I almost didn’t write here, but it goes to general mindset, and keeping a good frame of mind for ensuring success. If you look at life in general, all living things in this world essentially have 2 states of being, they are growing or they are dying. There isn’t a third option that works. And over my professional career, I’ve come to realize that careers are no different.
When I graduated college, my father looked me and gave me two pieces of career advice, and this is the first.
“A career is like a shark, if it stops moving forward, it dies.”
Now, when I was a kid, I was a shark fanatic, and when I got older and they offered shark week on discovery…that was mandatory television for me every year. For those who haven’t spent countless hours studying sharks as a kid, here’s the basics.
The way a shark’s gills are structured, they have to have water moving through them for the Shark to breathe. Unlike fish, who are able to extract the air from the water even while sitting still. What this means, is that if a shark ever stops moving, it will suffocate.
And in much the same regard, Careers function the exact same way. If you aren’t moving forward, and by that I mean:
Growing in your knowledge
Being challenged in new ways
Learning new skills
Investigating new ideas
Then your overall value is diminished as a whole. Think about it this way, take car buying, which is a topic most can relate to. You have two cars in front of you, both owned by different owners.
Honda Accord A: Is a nice car, it runs and will get you from point A to point B. The owner did an oil change about once a year, and it was inspected every year. But that’s all that was done. The interior is stock standard, the seats are faded, the interior is clean but has some stains.
Honda Accord B: Is a nice car, same year as car A. But the owner took it in for regular checkups, oil changes, etc. But in addition the previous owner, upgraded the interior to leather, replaced the stereo system. Upgraded the engine to be more fuel efficient, and other optional improvements.
Now of the two cars, if you are in the market, which would you rather have? And if it was only $5000 more for the second car, would you consider paying more.
At the end of the day, this is largely how employers will view you. The most important fact is that there is a direct correlation between how valuable of a resource you are, and the opportunities you will have. So everything about what you are doing in your career now feeds the future and that value.
When you are presented with a new opportunity / decision, it’s ok to take “some” time to think?
In my experience, no one should ever put you on the spot, and that’s just bad business etiquette. It is 100% reasonable to take some time to think about any major changes you are planning to make. This is your life and you have a right to take a breath and think about it.
Now that being said, one thing to be careful of, you have the right to a reasonable amount of time. I once had a situation where I recommended a friend to my current employer, and they made them an offer. And my friend wanted 1 month to make a decision. This caused a lot of frustration with between both parties, as they wanted too long to make a decision. A good rule of thumb I’ve found is to do the following:
Be transparent with the other person: If you need to talk to your spouse, tell them that. I once had a case where my wife was away for a week and I got presented with an opportunity. I told them, “I would like to talk to my wife, she’s out of town, can I get you an answer next week?”
Give them an indication when they can expect a response: I never understood the “I’ll think about it” and walk away. It’s very reasonable and easy to give the other person a time frame to expect a reply.
I find that this communication will make it easier on everyone, it gives a clear framing of when responses are coming through. It creates an opportunity for both sides to show respect and courtesy, and if they aren’t willing to do that, it’s another data point in the decision.
Everything has trade-offs… even staying where you are
Now that you’ve been presented with a decision or opportunity, you have to start into thinking about it and making a decision. This is the hard part, and to be honest I do want to take a step and identify the number one mistake I’ve made, and I’ve seen other make in this situation.
When we start looking at the choice, say it’s to take a new job with a new company, we start looking at things like pros / cons, which is a very good thing, and start looking at:
How much will I make?
What is the commute like?
What kind of work will I be doing?
Is it something I want to do?
What’s the work life balance?
How much travel?
But the number one mistake here is that we will fill out that T-Chart and then make a decision based on that alone. But the biggest thing I find is important to understand is that I should do this exercise twice. For the following:
Pros / Cons of taking the new job
Pros / Cons of staying where I am
There are trade-offs to staying where you are, and those trade-off should figure into your decision. For example, some questions you should examine when you consider the question of “Should I stay where I am”:
Is there opportunity for advancement?
Do I see myself growing if I stay here?
Does it benefit my family to stay?
What does my financial growth opportunity look like?
Will rejecting this impact potential new opportunities?
And these question should be come part of your decision, as to what to do next. Let me give you an example, if you decide to stay at your current position, instead of taking a move that would increase your payment potential. Do that once, not a problem, but due it to often and you’ll find normal raises price you out of moves later. There’s something to be said for a “being a bargain” in job market.
Here’s an example, let’s say for the sake of argument, you have a job that’s “fine”, doing support that makes $40,000 / year. You want to eventually be a developer and move from support to feature work.
NOTE: This is not a commentary on support, I worked support and its a great and challenging profession, and I have friends who have worked in support for their whole careers and are way more successfully then I could ever hope to be.
But if you have your current job, making $40,000 / year, and ever year that you do good work, you get roughly a $1,000 cost-of-living increase.
So not bad overall, and you are working in the background, on side projects and other opportunities to build your skills for your next move to being a developer.
After a few years, your pay scale looks like this:
And now you find out about a developer opportunity, but aren’t sure if the timings write, and they are willing to hire you at $46,000 / year. A little pay bump, and a chance to move over. But you decide the timing isn’t right, and decide not to take it. But you find out that the normal developer salaries in your area are around $47-50,000 / year. If you continue in your current job for 5 more years. Your salary is around $49,000 / year, and you are on the higher end of the salary range, and now are more of a risk to a new employers. The reason I say that is that you don’t have the direct experience that they are going to see from other employers.
Fast forward another 5 years, and you are now priced out and having to consider a pay-cut to move to the job you want.
So there was an unseen cost to staying in the current position, and passing on that opportunity. If you had gone to the development position, you could have grown your experience and made yourself grow faster and had more opportunities available to you.
Now I realize the above has a lot of assumption and is very simplistic, but I do believe it illustrates the point, that the cost of doing nothing, does have a cost, it is not cost neutral.
Money is not the only factor
Now I realize this is an odd segue given the above discussion, but one of the things my wife and I do when we consider career moves and decisions is to make a list and leave off the financial component. At the end of the day, there are a lot of elements to a career other than the financial component, and honestly if finance is your only motivation, its going to make for a pretty miserable existence.
This relates to the other elements of the job, things like:
Does the job require travel (could be a good thing or a bad thing)?
Will this help me grow?
What new opportunities will this move afford me?
What is work life balance going to be?
I once had a person interview to work on my team at a previous company, and he took the week to think about the employment offer as he had a competing offer. On Monday, the next week, he came back and took our offer and weeks later confided in me that it was at lower pay. When I asked why he gave the most eye opening answer.
That Friday night, at 6pm, he went to both places of employment to see how many cars were in the parking lot, and every night that weekend. The other employer while offering more money, had the same cars in the parking lot all week and most of the weekend, people leaving at 7-8pm at night after 12-14 hour days. Which was a really amazing observation, while our offer was lower, everyone went home to their families most nights.
How does this set me up for the future?
Another key question, that I learned very early on in my career is that you should always take a step back and ask yourself this question. Everything you do in your professional life is a part of a portfolio of work that can open up new opportunities in the future. That’s why its important to make sure that the things you are doing, are ultimately building that portfolio.
So let’s talk an example here, if I’m going back to that example (which was me at one point). You work in a support job, and you want to become more of a developer, and you are presented with the choice from above.
If you stay in the support role, the following happen with regard to your next job:
Learn more about how to work with escalations.
Continue to learn about the low level details of software applications.
Now if you took the developer job, it would mean:
Focus on growing my skills as a developer.
Work on development projects.
Potential mentors for growing in that space.
I know overly simplistic example, but it makes my point. The idea is here you should have a clear picture of the kind of work you want to do, and make sure that the current job sets you up for the future.
Loyalty is a two-way street
This is the tough one, that I find impacts a lot of decisions for careers, and that’s a sense of loyalty to your current team, employer, manager, company, etc. And I want to stress that loyalty is absolutely important, and something I value very much. Ultimately I find that its the glue that holds a team together. I’ve also personally had a lot of relationships over my career that I would gladly take a bullet for those people.
That being said, I do find too that loyalty is a two-way street and something that should measure into your decisions, but you need to make sure that you are taking care of yourself as well. And sometimes misplaced senses of loyalty can be a very dangerous thing.
At the end of the day, I’m of the belief that there is a responsibility and an “agreement” between yourself and your current employer to do the following:
Provide growth opportunities
Provide learning opportunities
Provide ability to recognize achievements
Provide a safe and constructive work environment
And then in turn, you as an employee are agreeing to the following:
Do your best work to achieve the goals and objectives.
Be a professional and do your part to support the work environment.
Take advantage of the growth and learning opportunities provided.
Now over the past few years I’ve always tried to have very open discussions with my managers around these items on a regular basis. The idea being that they should get a return on their investment in me, and I should get a return on my investment in them.
And then that agreement to me is the foundation of the loyalty with the team I work with.
Now given the above, I do believe there is a certain amount of responsibility from your current employer to provide the best opportunities they can, and I would recommend having an open discussion about those opportunities. Ultimately at the end of the day, if someone is able to offer you a better return on your investment, it should at least be considered.
But I’ve been in scenarios, where I had managers that would “gaslight” their team into a misplaced sense of loyalty that convinced them t hat considering leaving was an “act of treason.” And those kinds of things can be avoided pretty easily if you think of this in investment terms.
If you’re the smartest person in the room, find a new room.
I mentioned at the top of this post, that my father gave me two pieces of career advice when I graduated. And this is the second. The most important thing to remember is that you must grow for your career and ultimately you need to be challenged. And if you are the smartest person in the room, you are not being challenged.
There is something amazing, about being in a room where you aren’t the smartest person, and the opportunity to learn new things. A great term a college professor gave for this is “productive discomfort”, which fundamentally is the idea that the only way you grow is by putting yourself into a situation where you aren’t 100% comfortable.
It’s very much akin to the idea of learning to swim, my son who stands 3 feet tall, can’t learn to swim in 12″ deep water. There’s no challenge that forces him to push himself, but if we put him in water where he can touch if he needs but is high enough to justify swimming, it might not be as comfortable in the beginning, but it will yield returns.
So as you start to build out your career, one practice that has served me well is to seek out situations of Productive Discomfort to make sure that I push myself in new directions.
So I’ve made no secret on this blog of my interest in gaming. And how its been something that I’ve picked back up over the past year. And I have to say the one positive that came out of the many changes COVID-19 has caused in our families life is how much we’ve embraced gaming.
About 18 months ago, I joined a small group of friends and we decided to take a stab at gaming more. And we started with Dungeons and Dragons, and playing a game night once a month.
Now it started out great, I will admit we had a lot of fun. But the hardest part was organizing everything. From scheduling with everyone’s busy schedule, to location, child care, etc. Which honestly was a pretty difficult, coordinating the schedules of 8 adults all of which have kids.
When COVID-19 hit, we all found ourselves stuck at home, and everyone’s plans dropped. And honestly it took our monthly game night, and made it a weekly game, and its been really great. We’ve gotten much closer as friends, and honestly it gave all of us something to look forward to every week.
So that being said, we did it by taking our game and going virtual with it. And for this post I thought I would share the setup and how we took our game virtual. You don’t have to be playing dungeons and dragons, but its a great way to reconnect with people. A great side note is that we had a friend, who work took away from our area, who we used to see once a year, I now see him and game with him every Saturday, and have for the past 3 months.
Break out the Digital Tools:
For our team, we really started using the following tools to help make our game go digital and be as much fun as it was in person:
DND Beyond – This one to be fair we were using before the pandemic. But its become more important than before. We track our character sheets here.
Roll20 – We started using Roll20 to handle the digital game board. This is a great tool for managing your games and letting things play out on maps.
Facebook Messenger – We use this to handle the video calls, and honestly did because of familiarity of other members of our group. And things have worked pretty well, especially with Facebook rooms.
Discord – We leverage this tool to consolidate our chat during the game, and it’s been great. My players are able to talk, share handouts, or have direct conversations with me directly during the game.
OneNote – We created a shared notebook, where the players share their notes with each other to their benefit.
As I mentioned it’s been really helpful to be able to find new ways to connect as we deal with the uncertainty, and I definitely recommend stepping out of your comfort zone and finding news ways to engage, even in this crazy new world.
So for something completely different. My family and I have been making sure that we do some STEM activities with our kids. And if you’re like me, they are just as much fun for me as they are for the kids.
So I feel very blessed, in that both of my kids are very analytical, and that really means for me we get to do a lot of fun things that take me back to my childhood.
When I was growing up, I came from a family of educators, going back 3 generations. So education is something that has found its way into all aspects of our lives. And I’m very thankful for that because my brother and I grew up with a love for learning written into our DNA.
The other thing I grew up with was technology, and my dad had computers in our house from the earliest parts of my childhood. So I try to find activities that really flex that logical, analytical part of their brain. So here are some of the things that we do for this type of activity.
Legos and Building toys
I’ve made no secret that I’ve been a fan of Legos from when I was a kid. And honestly there is so much to do with kids for this. The most important key to success here is that you need to instill this idea that they get to enjoy the act of building.
For my kids from an early age, we drilled into them one saying “the best part about Legos is you get to build it again.” and this has instilled an idea that for my kids that the act of building is the fun part, and now I can honestly say I think they enjoy building more than playing with the models.
The other key here is what we don’t do, our kids can save 1 model they build, that’s it. The rest are broken down to start again. What this does is makes them focus on building more. We take pictures of their creations and they get to keep those. And celebrate the effort, not the result.
We do this with other toys, my daughters personal favorite are magnatiles. And encourage them to build and then have them take pictures.
This was a new one for us, but it was fantastic. We got my daughter the littlebits music inventor kit which can be found here. And it was amazing. It comes with wires, and electronic components but they are connected using magnets. The app gives easy to follow videos that let the kids walkthrough building the circuits and devices.
But more than that, they then have activities to do after, which I thought was pretty great. After my daughter built a synthesizer guitar it had video lessons on how to play it that added extra value to the experience.
Problem Solving Challenges
Another thing honestly is that we do a lot of problem solving challenges. Things like asking the kids to solve a problem. Part of the idea is to encourage our kids to see a problem and try to figure out ways to solve it.
His can include giving them specific Lego challenges that they need to build and testing the results. This further encourages grit in our kids by pushing them to try and solve it and encouraging the effort and not just the result.
This one is great for when they really want to build their imagination. Honestly the educational value of minecraft is pretty well documented, but it’s a great place for kids to build without resource constraints.
I’ve watched my kids build some amazing structures in minecraft just by giving them a random idea. Things like:
Build a bridge
Build a tower
Build a train and train station
Build a batcave
Build a warehouse for your stuff
And these type of actions can give your kids just enough direction to go and let their imagination run wild.
So for our kids we find the best option possible to facilitate creativity, and that includes creating a art station for my daughter with a mix of different options. Her art station includes an easle and paper and items like the following:
The end goal of this is to task our kids with creating things rather than consuming.
Another great activity to help kids with STEM is just cooking. Cooking involves the following:
Heat and transferance
States of matter
Cooking is a fun activity that fosters creativity and science. It’s a great simple activity that can make sure to stimulate their brains.
Those are some of the things that we do to pass the time and engage in stem activities with the kids. And honestly they have led to some of the best memories with my kids. And feel free to comment with what activities you are doing.
Manage Cookie Consent
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.