What layer of the cake are you?

I know, it has been two weeks since my last post but I am happy to say that life has gotten in the way.  I just had a Birthday this week that was awesome – even though I am a year older.  My wife whisked me away for a night with just the two us to eastern Washington that was just fabulous and my team surprised me with a little get together guised by a 1:1 with one of my reports.  Needless to say I am overwhelmed by the support of the people around me.

One of the things that I have been thinking about and something that has been difficult as we try to apply a new quality paradigm is that there is not a one size fits all across the software stack.  While I agree that no matter what layer of the cake you work in you should have the end user in mind as you think about how to approach your deliverables and instrumentation; there is definitely a swing in the amount of time you spend doing different activities.

In my career I have had the privilege of working across all layers so I have had the opportunity to see these differences.  When you work at the top building the interaction model and end user experiences it is imperative that you know your customer and appeal to their expectations.  Is your customer someone who is going to lean back at home and enjoy an entertainment experience that gets them to what they want as fast and delightful as possible or is your customer an internal middle component that you support through a layer of abstraction.  The latter is my current customer but I still do all that I do with the eventual end user in mind.  What I have found though is the that the amount of programmatic validation we do is so much more at these lower levels.  The telemetry we think about through the questions we ask ourselves is also more rudimentary and more focused on system health than end user behavior.

I am concerned that as we set expectations for SDETs across the industry we will potentially misapply those expectations too broadly and pull away this execution and engagement at lower levels.  I have an amazing team who are very well respected by development and PM for not only their technical execution but their ability to find and diagnose those hard to solve problems.  I don’t mean to toot my own horn (ok, maybe a little) but I feel like we are doing it right.  We essentially operate as one set of engineers across our scope taking on dev work when needed and going after those deep complicated performance and memory problems when the Batman light hits the cloudy sky.  I find myself asking “why can’t we just do what we do best and be given the opportunity to show that this can work”?  Well, thanks to my management that is exactly what is happening.  We are being given the room and flexibility to try different ideas and we learn iteration to iteration making getting better at our job (building an amazing/stable platform to support game changing experiences) the most important attribute we focus on.

Do you have a similar experience or example?  What layer of the stack are you?