Tag: management



If you are unfamiliar with the subculture of Dungeons and Dragons, allow me to enlighten you with one of the rituals of the game.   Role playing games are part narrative where the “Dungeon Master” who is the emcee of the game plays referee as well as storyteller.   Another part of the game besides narrative is rules based where inflection points such as combat between your brave virtual heroes and monsters is decided by chance with the roll of the dice.   When you first start a battle “round” you have to roll initiative.   Usually this is a standard six sided die that is thrown both by the Dungeon Master (on behalf of a monster) and the player character.   Whoever gets the highest value gets to attack first.   This is important because if you are against a tough opponent, dealing a mighty, mortal blow first will likely benefit you due to your foe reeling from your righteous onslaught.

Hold this concept in your mind as we now turn to a team setting in the office.

If you are a manager, then likely you have a team of people who are at various stages of development in their career.   What typically happens with junior developers is a cycle of  work where you the manager fill the employee’s work queue based on prioritization driven from business needs or internal business owner lobbying.   The junior developers will pick a task up, work it, and when they are finished come back to the queue and ask for the next task (or even better just grab the next task off the queue and start).

What do you suppose happens when something comes up, such as a pet project from an executive that appears, usually in the context of a “drive by”?    Nine times out of ten the developer will immediately stop and ask the manager, “Which one do you want me to do?”  What ensues is a painful back-and-forth that might go like this:

“How much more work will the existing project in flight take to finish?”

“How long will the pet project take to knock out?”

Seasoned developers should know better than to engage in this banter.   They should proactively negotiate a deal with their manager.   If the new task takes a few hours to knock out, then it should be done so that the team scores a quick win with management and then the developer can context switch back to the original task.   Nobody is asking you to multitask, we want you to preemptively multitask.   This is computer-speak for pausing on the original task, devoting a time-slice to a new task, and then switching back.

Now that’s one version of initiative that seems to be in scarce supply.    A second type I want to discuss is one that separates employees from “goto guys”.   A “goto guy” is someone you go to when you want something done.   Goto guys anticipate needs and already can tell you three ways to implement it.  Goto guys think holistically and recognize an opportunity in the code / the business / the business funnel / etc and they speak up.    They come to your desk and tell you about an idea they have they want to work on.  EVEN BETTER – they have already done a prototype instead of working on their Facebook likes and they want to show it to you like an eager child showing a parent their finger painting from art class.

What is the environment that would be conducive to this behavior?   What can we do as managers to encourage and reward employees that bring this attitude to work with them?   I don’t know but I wish I could figure it out.   Sometimes it seems people get worn down by the corporate grind and lose that edge that motivates and pushes us.   If I see this second kind of initiative I will laud the employee and remember it come bonus or review time.

Productive Conference Calls


Conference calls are a necessary evil.   Many times you find yourself working with consultants who are contracted to complete a project that your company doesn’t want to hire dedicated people to build and you need to work with them smoothly to complete the project.    What I’ve noticed about conference calls, and meetings in general, is a lack of basic understanding of how to best use everyone’s time and what to do to get the best experience out of the meeting.

  1. Have an agenda.   I mean, this one is a no brainer.   A written, bulleted point agenda does wonders for letting people know if they even want to participate in the meeting or not.   Time is incredibly valuable and you want to make sure everyone maximizes the time spent.
  2. Invite only people who will contribute.   Do you find when you invite people that they in turn forward it to 5 other “friends”?   Those extra people show up and either play with their phones or play on their laptops the entire meeting without contributing anything.   What they’ve done is cheapen the meeting as well as not being productive at their own jobs.
  3. If you are the one on the phone, or if there are multiple parties on the phone, learn to respect the rule of the conch, meaning : shut up and listen every other sentence.  There is nothing worse than having someone drone on and on without letting someone else interject a question, correction, or some other thought.   You might as well record your soliloquy and email everyone the YouTube link versus a conference call.
  4. Keep conversation at a high level unless you are working on a specific incident or issue.   This one takes context – sometimes you’re working on a specific issue…again, see #1.   Why would you keep things at a high level?  Well, you’re not going to solve world peace in 30 minutes.    Parceling out todos, giving an update on an issue and maybe 1 or 2 other material things is all you should hope to accomplish.
  5. Choose a conference method that has good audio (even better, video).   So much time is wasted figuring out logistics.
  6. Are you screen sharing?   If so, ZOOM IT so that people on the other end can see what you’re sharing.   They’re not looking at a 5K retina Steve Jobs miracle screen most likely.

Mantra for Success

mantra_Shreem-Brzee-Mantra-Om-Brzee-Namaha-Meaning-and-Chanting-BenefitsAt the risk of hubris, I want to give you benefit of my experience.   Through the years I’ve boiled down the essence of how to excel at your job.   No, really I have.   Your job doesn’t have to be an application developer for what I’ve distilled into what I call my “Mantra for Success”.   A mantra is speech consisting of something sacred, something holy, something that you hold dearly.

Let’s first reveal what my mantra is and then we’ll break it down.   Here it is.

Are you:

  1. Thinking holistically?
  2. Following up?
  3. Being proactive?
  4. Acting professionally?

What does thinking holistically mean?    Holistic means that the whole is more than the sum of its parts, which is a synonym for another fancy word: gestalt.   Many times holistic is an adverb and most of the time gestalt is a noun based on context.   Essentially, what this translates to into the work environment is, “Are you aware of how the thing you’re working on affects other things as it relates to the rest of the system?”

Let’s say that you made a change, a small change, to an existing  stored procedure for an application that you’re building.   This new change is adding a new, un-defaulted parameter to the stored procedure interface.   You check in the change and the next week you release both the stored procedure change and your shiny new application that consumes the stored procedure change to production.   Immediately your email inbox starts buzzing with frantic calls to find out what was just launched in production that broke the main mothership website that funds your paycheck.    It turns out that your change broke the main website!  It was because you didn’t think holistically about what impact your change would have on the rest of the system.   If you work in a big, disconnected codebase, then you know what I mean when I say that, “upstream problems become downstream concerns.”

That was an anxiety ridden part of the mantra to start off with, wasn’t it?   The next one is less dramatic but possibly key in getting your next promotion.   When you work on a team, and you have a task assigned to you that requires cooperation with someone on another team, does that scenario fill you with dread?   Do you immediately feel that this will be a harder task merely because of the coordination required?    You should.   Because it does make any task harder.   You steel your resolve, work on your part of the task, and then send an email (or update a Jira task to “blocked”) to the other team member who needs to take the baton you are handing off to them so that the task can be completed.  You go on your merry way through your work day taking the next task off of your queue and working on it, thankfully one that doesn’t require anyone else’s help.

A week goes by and on a Tuesday after a holiday weekend, your boss sends you an instant message urgently requesting your butt in his office.   He interrogates you about that task that you finished YOUR part of that you then handed off to someone else.   He tells you that the person who was supposed to work on it was on vacation for the last week and the task wasn’t completed.   What’s worse is that the task was to create an onsite discount on a partner’s site to target the holiday weekend that had just passed by! Oh noes!   What just happened?   You did YOUR part.   Why do you feel uneasy then?  You should feel uneasy if you don’t.   You didn’t follow up with the other person.   You didn’t investigate to understand if this was something that needed to get released to production by a certain date.    Were there other failures present in this scenario?  Sure, but let’s focus on YOU.   It’s not your boss’s job to follow up – it’s EVERYBODY’S JOB TO FOLLOW UP.

At the restaurant I worked at for 10 educational and formative years of my life, there was a sign on the wall in the back of the kitchen, out of site from the customers.  It read, “It’s not my job.  $1 penalty.”  If you were caught by management saying those words “It’s not my job” then you had to put a dollar in a jar.   Every so often management would buy “guilt cookies” with the proceeds and everyone would get to enjoy the laziness of others in a satisfying and illustrative way.

On the tail of the previous mantra segment is a closely related one: proactivity.   You know what I’m going to say, don’t you?   Being proactive could mean many things, but let’s take the Boy Scout tact for a moment.   Allow me to link to another blog because he does a great job talking about the Boy Scout rule.   If I had to fit it on a bumper sticker, I’d write, “Always leave things better than you found them.”   Simple enough?

You’re at work (again!) and you are working on fixing a bug in some of the code.   While you’re analyzing the code, you find that a string operation is being performed in a piece of code in the same file as the bug you’re working on.   This string operation is concatenating a string by adding to an existing string in a loop, sometimes up to thousands of times.   You know that this is a very expensive (in a CPU consumption fashion) piece of code.     What do you do?  Do you rewrite the string operation code?   Do you only fix your assigned bug?   “No good deed goes unpunished” as the saying goes…why should you do more work than you need to?   Well, because if everyone does a tiny bit of extra work when they edit the code, eventually the entire system gets better.   That’s thinking holistically AND being proactive.

I could write many more real and fictional anecdotes to illustrate this point but it should already be evident that being proactive means more than simply “doing more”…you’re anticipating a future need based on historical precedent (always supplying source SQL with a report that you send to your boss, for example, because he asks for it EVERY SINGLE TIME you omit it) or you are presciently supplying more than was asked of you.

Professionalism.   You haz it?  You might think you have it but you don’t.   The longer you’re in the same role, the longer you’re at the same company, the older you get, somehow your professionalism erodes.   You have to have some professionalism in a certain measure for it to even begin to erode, mind you, so this is an assumption on my part (remember what Mrs. Falbo in Tiny Town said about assumptions, don’t you? (fast forward to 4:45)).  I’ll tell you, there’s nothing that will get you kicked out of your job faster than being UN-professional.    Have a major interpersonal meltdown in an open area at work?   Yell at a customer?    Lie, cheat, steal?    This part of the mantra is the foundation for your career.    You must be professional at all times.   Don’t lose your cool or you might lose your job.   Serial apologists, please show yourselves to the door – being penitent ex post facto is courageous and self-effacing but your coworkers and boss will quickly tire of repeated incidents of acting out.