Saturday, April 7, 2018

Stop Your Bottlenecking!

Management is probably the biggest challenge I've ever experienced.  I feel like I'm responsible for so many things but in direct control of almost nothing.  I have so many ideas that I sometimes wake up in an energetic frenzy in the middle of the night, but sadly not a lot of time to move them forward.  There are times when I feel like my team's work is stuck, and I'm the reason why. 

Some ideas to address this:
Image Credit: Ralf Steinberger, Flickr Creative Commons Attribution License

Being honest with myself about how much work I can do.  We use JIRA to plan our development-related work as an engineering team.  I can do about ten points of non-management work in a two-week sprint. But I want to do more than ten points worth of stuff.  So I think I have been underestimating point values in an effort to enable myself to take ownership of more tasks than I should - e.g. referring to what should truly be a 3 point task as a 1 point task. Saying I can do 10 points of stuff that's really more like 20 or 25 has contributed to taking too much on and unfairly inhibiting people who are dependent on these tasks getting done. 

Being honest with my team about how much work I can do:  I confessed on a project slack channel that I was a bottleneck.  I said if we wanted the project to move faster than I was moving it that I would need to have help with some specific tasks. And now we have a hack-hour scheduled next week where we'll attack the problem together. 

Being less responsive Several times a week, someone posts to our slack channel a quirky problem with the software or with our internal infrastructure that I want to help them figure out.  I love troubleshooting and problem-solving.  But it can also be a distraction from larger goals that I need to be spending my time on instead.  If it's an important thing that really needs to be figured out, making a note to revisit the question in an hour or so is probably a good approach.  Chances are that in that hour, someone else has probably jumped in to help without my having to spend time on it.  I've given someone else the opportunity to experience the thrill of helping to solve a problem, and spent that time on a less urgent but equally important team goal.

Is it really that bad?  I have notoriously high expectations of myself and if there's any way I can judge myself as not being good enough, that will be my takeaway.  I am probably doing at least an average job, even when I think I suck.  A concrete list of things that do get done can help me see this more objectively.

Sunday, March 4, 2018

Defining Expectations

Asking for what I want has never been easy.  More accurately, defining and articulating what I want TO MYSELF has never been easy.  Which, as a manager, is problematic.

As I reflect, I see this as a two-pronged problem to examine. 

  • Combining my knowledge and skills and creativity with my team's knowledge, skills, and creativity to come up with a vision and priorities, and breaking these down to general goals for experienced team members, and helping break the goals down even further for newer team members (Defining what to do
  • General behaviors/attitudes that I see as useful in many situations (Defining how to be
What To Do 

It seems the ideal I need to work toward is to know when to give someone a lump of clay and the time to make a statue...or when to give someone a more paint-by-numbers task.  I don't want to rob someone capable of grand things of the opportunity to be creative, nor do I want to overwhelm a new team member who is still developing their skills and intuition.  This will vary person to person and task to task. 

How to Be

This blog post was inspired by thinking about this observation -- that what I expect and value in my team members is largely the same as what I value in my friendships.  And these expectations are largely invisible to me, and even more so to those I interact with.  Some of them are merely personal preferences rather than universal goods, which, sadly puts me on a better footing as a default with those who are most similar to me in background. 

As a first step I want to inventory the personal traits and behaviors that I value. The next step will be recognizing where there are different but equally valuable ways of behaving  & approaching work and being able to evaluate what I'm seeing in this light 
  • Initiative - I value when people are able to see or anticipate and problem and take the next logical steps to solving it, as their experience allows.  They feel ownership of the product or the situation and take action without having to be asked. 
  • Independence - I value when people try to do things on their own first (via experimentation or Googling) but, wait, wait, wait...DON'T go overboard.  Ask for help if your own research is coming up short or it is a time critical task.  
  • Curiosity and drive -- I value the compulsive need to dig deeper to find the root cause of an issue or to explore an area of the software that seems "off" to them that day....but, wait, wait, wait, DON'T go overboard focusing on details that don't matter. 
  • Flexibility - I value when people are able to change course and refocus their attention when circumstances require it
I am sure there are more, but this is a good starting point.  I can already see evidence of some rigidity in my thinking (even though I supposedly value Flexibility) that I can start working on being more mindful of increasing my range of comfort in others' behavior. 

Thursday, December 28, 2017

Four Days Left to Totally Crush 2017

As I gaze beyond my laptop at work, Skeletor looks at me and says "Progress, not perfection".

There are only so many hours in the day and there are many things I care about.  I can't be perfect at all of them or any of them.

Our "free" time is a reflection of our values.  Our time at work can be too, depending on how much autonomy we are allowed.
Image credit: jcsullivan24

I'm the type of person who appreciates the heck out of a sunset, sunrise, moonset, moonrises, pretty cloud formations, bright red trees in the fall.  I'll just go and stare at the sky like an idiot, but that's who I am.  My dog Paddy is almost 17, and yeah, you bet she's getting a belly rub or ear rub if she asks for it no matter what else is going on.

Make time to read.  Make time to sleep.  Make time to just sit on the couch under a blanket with your kid.  Put down your phone and listen when your spouse is talking about something that's important to them.  Make time to learn.  Make time to write.  Make time to check in with friends.  Make time to keep your heart and lungs healthy.  Make time to take care of your surroundings if the clutter is a distraction.   Buy time if you can - pay a neighbor kid to mow your lawn...order your groceries online instead of meandering through aisles (unless grocery shopping to you is like a breathtaking moonrise for me -- whatever works).  Dispose of traditions that don't matter to you.  Reframe that stressful wait in traffic into an opportunity to listen to a podcast or audiobook.

To whatever extent we can control our time, we can approach it with the goal of making progress toward being a better whatever-role-is-important-to-us-right-now.

Saturday, November 25, 2017

Takeaways from Presenting at my First Career Fair

I responded to a generic Facebook call for people who were interested in sharing their careers with Booker T. Washington High School students.  Let me know if you need anybody to cover areas related to software, statistics, and/or management, I said.  

So that's how I came to be one of three computer science panelists for a few dozen students who selected that career area. 

There were a few prepared questions that I had thought about over the course of the week leading up to the career fair.  I reflected on my career so far, which started out less as a plan and more as a series of things that just kind of happened.  I like these Economics courses, I'll keep taking them.  There's a job opportunity in Tulsa working for people I already know and like, sure.  

Image Credit: Yixler
If I didn't like where things were going I'd make adjustments to change course.  I didn't want to appraise or analyze the commercial real estate market forever, so I took some night classes in programming.  I didn't want to answer tech support questions forever, so I made my preference for being a full time QA person known to the right people in the company.  

So I spoke less of "follow your dreams" and more of  "stay open to your dream changing".  Always keep learning and adjusting based on how the world changes and how you feel about it. 

I brought what I think was a different perspective.  My two fellow panelists were, what I would call, "traditional" computer science people.  Males who had been tinkering with electronics since they could remember and who spend all of their waking hours either programming at work or programming for fun.   Nothing negative meant by this; they seem happy, and there appeared to be a cohort of young men in the classroom already playing out this role and eager to take the next steps of pursuing computer-related careers professionally.  

But I wore a bright pink shirt.  I said I entered college knowing I was vaguely interested in numbers and setting up web pages and how the world worked in general. I leave work at 5:15pm so I can make pickup at my daughter's aftercare, and I engage with my family or other parts of the world or yes, maybe keep working on computer-related problems if I feel like it that day.  I took a public policy angle on technology, saying that the field needs people who care *where* technology is going- summarizing the takeaways of a book I recently read, Life 3.0: Being Human in the Age of Artificial Intelligence by Max Tegmark.  People who think about ethics and how we can make sure that technology is working for us and with us humans instead of against us.  I talked with expressiveness and passion for all types of knowledge.  

Retroactively, one could assume my goal was to reach analytical, passionate people who had missed the "tinkering since toddlerhood" window or to whom programming 24/7 forever doesn't appeal and encouraging them to seek out a spot at the table anyway.  Reassuring them that I'll be there in the crowded cafeteria with my bright pink shirt, waving them over to the geeks' table, pointing out the free chair. 

Thursday, October 19, 2017

Show up and Engage

Photo Credit: Jacob Earl:
The podcast DecodeDC had an episode about the success of the National Rifle Association.  Essentially, it comes down to their membership showing up and being engaged. Regardless of what you think of how they use their power, it was a good reminder of the value of loud, consistent voices no matter the number.  

They pay attention and are willing to raise a fuss.  It works. 

It's easy, and in fact tempting, to be apathetic.  "The legislature is never going to change...My vote doesn't matter...They've already chosen the actress for the lead role...Those people are so much smarter than I am, why even show up?"

We have to anyway.  Once we give up on the idea that improvement in our lives, workplaces, communities, and society is impossible, then the light that makes life worth living dims and fades to black.  

So continue to talk about what is important to you.  Research ways to work around or erode obstacles. Gather with others to discuss what the ideal future looks like.  Learn about people and history and economics and technology.  Learn how to be an effective communicator and advocate.   Show up, full of energy, ready to make the next step forward, even if it's small.  Or even to stand, strong and resolute with pride, to prevent further losses.  Because if you don't continually show up and remind everyone of what's important, then over time, people may start to forget that it *is* important. 

Wednesday, October 11, 2017

More on the Future of Testing

"As service providers we are adapting to the reality of our teams, and this means a number of different things. For example:
– I see that testers are doing a lot more automation and in different levels within their projects. We are writing all sort of scripts to help the development process, working with multiple automation technologies, and using automation to help us do our tasks faster.
– I also see many more testers going deeper into the technical work of their teams. This is further than automation, going into the logs of the product and sometimes even reviewing the actual code while looking for issues.
– In some cases, and in some organizations, I am seeing how testers are doing more work with production environments, doing A/B testing in live features and becoming data scientist and DevOps alchemists within their teams." - Joel Montvelisky
In addition to "ninja" and "scrappy"..."alchemist" is a good descriptor to aim for professionally.

Sunday, August 27, 2017

Future-Proofing Your Career

As an experienced software tester and a naturally anxious person, I frequently don't feel safe unless I've thought through all of the potential disasters that can occur and mitigate risks of those occurring to the extent possible.

One such disaster would be job loss.  The mitigation for this is to prepare for the job I'd want to get if I had to get a new one.  This is a tough question for me, since I love literally about 95% of my current job. 

But thinking ahead, what are my skills, what do I *like* to do, what does the world need more of from an ethical/moral perspective, where is there going to be a good availability of jobs but not an overabundance of people training for them already?   

Unfortunately, I don't see a lot of growth in the role of software testing as a full time career path, although testing as an activity/mindset will still be needed.  In the six-year-old linked video, James Whittaker points out many demoralizing but logical reasons that we should not be too comfortable with our current skills and approaches.  We need to stay hungry....change or die. 

So what's next? I see a lot of "Should testers learn to code?" discussions out there -- I absolutely don't see why that's a question.  When there's a choice between learning a thing and not learning a thing...always learn the thing!  

I like programming and LOVE the addictive thrill of solving a problem with code.  Though counting on it as a career move, I am not sure how to jump my perception of a chasm between learning the basics and becoming a competent, ready-to-employ developer.  It seems like everyone currently employed as a developer has knowledge of optimization, the ins and outs of multithreading, all the tools, and thorough knowledge of the past and future of computers. It may also be my perception that others are more competent than they actually are...Or I'm actually more competent than I perceive myself.

Additionally, I love isolating problems and breaking them down to core components, experimental design, thinking about thinking, juggling multiple priorities, seeing multiple steps ahead. 

I have PLENTY to learn as a manager. My biggest strength as a manager is awareness of how much I have to learn, such as delegating and teaching and knowing whether to "help" or back off.

Luckily, identifying and enhancing the skills that would help me get a NEW job if I needed one may also assist in keeping me employed in a role that is evolving into something new, and dare I say, exciting.