Monday, March 30, 2020

Some Advice for My New Working From Home Compatriots

It's strange to think that I have been working as a remote employee for two and a half years now (or close enough, officially since the end of October 2017). In those two and a half years, I had to make a number of adjustments and I had some painful and frustrating realizations during that time.

With the spread of COVID-19 and numerous Shelter-In-Place orders, many of my friends and colleagues are discovering what it is like to work from home full time. In fact, this may well be the single greatest experiment of its kind. Telework has long been championed by many and it has just as vocal detractors. Still, for many of us, it is a way of life. 

My engineering team, due to the high costs of real estate in the San Francisco Bay Area and decisions of our head office back east (or what was our head office at the time; our head office is now in the UK ;) ), was converted to being a 100% distributed team. For Socialtext (my core team until literally today for the past 7 1/2 years), this distributed attitude was built into the DNA of our company. When we were acquired, our new parent company tried to have us be more of an in-place/in-office team, but it never really took. Thus, when the decision to go full remote for our team was made, we were well able to deal with it. Now, our colleagues who are very used to office life and all it entails, are having to work remotely and all that entails.

Recently, we had a chat about some of the things that those of us who were veterans of the remote work world would suggest to our colleagues. As part of that, I figured some of my readers who are now in the same space might find this interesting/valuable. 

Disclaimer: some of what I am going to suggest is context-specific. I'm fortunate in that my children are grown, albeit two of them are in the house with us at this time (my son is sheltering in place down in Los Angeles and so far as we have been told/he's told us, he's doing alright). My advice may or may not be appropriate for those with younger children or other situations but I still hope my suggestions may be helpful.

1. You Used to Commute. Preserve That Time

Consider your former habits and your time that you would take to get door to door to work. You may consider the fact that you no longer have a commute to be a time saver. It certainly can be and if you are sure you will not be commuting again in the future, feel free to ignore this advice. Otherwise, determine what your average daily commute is and what your habits are/were around that time. Consider doing a virtual commute.

What I mean is, think about those things you did. Did you walk to a train? Did you drive? If so, what did you do from the time you left your home to the time you sat at your desk. Seriously consider how you used that time and try to duplicate it. For me, I used that time to listen to e-books or podcasts, or to read/work on various projects. That time is still important to me. While I do not always preserve that time, I do try my best to allow myself a "commute hour" or so in the morning and in the afternoon so I can keep that time. I have also literally rolled out of bed and started working. Some days I've logged off work and rolled right into bed. It's a real danger and an easy trap to fall into. Thus, I encourage you to give yourself some literal transition time.

2. Get Dressed For Work, At Least a Little

OK, I confess, I vary on this. I do dress each day but a lot of time I dress in workout clothes and stay in them. Other times, I will actually get up and "suit up" as though I was going across the country for a corporate face-to-face. Again, this helps to fight the "roll out of bed and go to work" attitude. Believe me, I've done that, a lot, and on the whole, it tends to feel a little depressing.

Your mileage may vary on this but seriously, I find that my attitude and my demeanor jump up considerably when I suit up for work. Again, suit up can mean getting into workout clothes, wearing what I'd wear for a meeting, or to really have some fun, embrace the whole #ReverseCasualFriday and really get dressed up. That can be a lot of fun, a little silly and yes, it can definitely punch up your mood, especially in a team meeting. This past Friday, I literally wore a Victorian frock coat, vest high collar shirt, silk cravat, and a derby hat. Silly? Maybe. Did I feel great? Absolutely :).

3. Try to Keep to a Set Schedule, if You Can

The promise of telework is also its biggest danger. Remote work is often touted as "I can work anywhere at any time" and that is often true. Just as often, that can morph into "I will work everywhere, all the time". Have I done this? I most certainly have. That's why I'm strongly suggesting to keep it in check.

I get it, deadlines happen, there are crunch times, situations may call for being flexible. Still, it's easier to deal with those on a case by case basis than it is to get into a habit of being always on and then realizing you need to scale back. If you worked specific hours before, again, try to keep to them as much as possible. If the team as a whole decides to make some modifications, that's OK, but make sure you aren't all falling into the same time trap. Remember, for many of you, you will be returning back to an office at some point and it can be difficult to then have to pull back from an arrangement that just sort of happened due to circumstances. This goes double for if you have younger children that you have to take care of now for an extended period... and on that note...

4. Set Office Hours and Regularly Scheduled Breaks. Post Them for Your Family

Getting everyone on the same page is going to be a challenge, especially in this arrangement currently. It may not be realistic to work a full eight hour day and say to everyone, "Hey, imagine I'm not here." That doesn't work very well with young kids and shelter-in-place orders, especially if they are trying to do school work and have other needs. Your schedule will need to be flexible but to that end, if you can, try to establish key blocks where you can say "during these times, I need to be focused".

I find it best to schedule these in two-hour increments at the most. From there, it may be necessary to take an hour to handle family stuff, cook meals, a shift towards helping with school work, or any number of other necessary things that don't coincide with a full workday. Schedule those shift times, and then schedule those focus times as well. Again, my kids are all adults now, so this is easier now than it was a few years ago. Still, if you can do it, try it out. 

I've found that these tweaks can save your sanity and overall physical health as well. If you have the ability to take a short walk in a way that observes shelter-in-place guidelines, do so. Take some time to exercise, listen to music, go into an area outside if possible and breathe a little bit. Whether or not this is a temporary situation or perhaps a more permanent part of your reality, I encourage you to take some time and set parameters so that your work life and your personal life have some separation, even in this time where it all to easily can blur into one. In any event, this is coming from someone who has fallen short on all of the accounts above at one point or another, hence why I suggest these; I have failed so you don't have to ;).

Wednesday, March 11, 2020

New Title, Same Gig?

Well, today threw me for a bit of a loop.

Why, might you ask?

Today I received a new title. For the first time in my software testing career, it can be argued how much of my role as a tester is left. For the past almost thirty years my job titles have been some variation of the following (I'm going to say since 1994 as from 1991-1994, I was a Network Lab Administrator and an Engineering Tech):

Software Tester
Development Test Engineer
Quality Assurance Engineer
Applications Engineer (Basically a Customer Test Engineer)
Senior Quality Assurance Engineer

So what's different today? As part of my review I was asked if I would accept a new job title:

Senior Automation Engineer

I said "yes" but I will confess, a part of me is curious as to what that acceptance means going forward? Actually, I don't have to guess too much, I know, as I've been part of this conversation for a number of years leading up to this.

What this means is that I agree to be spending the lions share of my day inside of an IDE.
What this means is I agree to create code that will be reviewed and put into daily use.
What this means is I agree to step into a development role and all that that entails.
Additional to all of this, I also agreed to transition onto another team, outside of the one I have worked with for the past seven years.

Yep, I have a mixture of emotions today.

Am I ready for this? I'd like to say I think so.
Do I want to do this? As a matter of fact, yes.
Do I know enough to do this? That remains to be seen, probably not completely.
Am I comfortable with this change? Ah, now we get to the heart of the matter.

See, in large part, I'm not comfortable with this change. I'm having to put down a large part of my identity that I have fostered over the past decade. The titles and pronouns I've become so used to are at once still relevant and now totally irrelevant. A part of me is anxious, a little scared, a little concerned I may be biting off more than I can chew, especially with that Senior part. That means I'm supposed to mentor juniors. As a developer. I will confess that part feels really weird.

And yes, even though I am not necessarily comfortable, I'm excited to do this. The expectation has changed. The primary focus of my efforts has, too. In part, I was singled out as, "that person that always champions trying new avenues, looking at things in unorthodox ways, and not settling for how things have always been done." Really? They paid attention to that? I guess so. They also paid attention to my frequent frustrations that real-life testing needs often trumped my ability to make much headway in the automation space because other needs were prioritized first. They listened. They decided to let other people handle those aspects so I could better focus on coding effectively.

Have I mentioned I'm not even going to be doing this in a language and toolset I'm used to? Yeah, let me touch on that for a second. I've been a Mac focused tester and programmer for 10 years now. I've used Ruby, Java, Perl, and Python to an extent in those years. Today I'm sitting behind a relatively new Windows 10 laptop running .NET Core, Visual Studio and wrapping my head around C# patterns. Surprisingly, I'm not running for the hills. It's different but it's not fundamentally so. Sure, there's some tooling and practices I have to come to grips with, as the last time I spent any real-time with a .NET application of any kind was 2010. It's all so very weird, like I'm having to speak Dorian Greek... but at least I feel like I'm coming from Ionian Greek rather than from, say, Japanese (weird comparisons but hey, welcome to my brain today ;) ).

Long story short, I just signed up to have my world rocked and I am strangely OK with it.

Tuesday, March 10, 2020

Happy 10th Birthday, TESTHEAD

Granted, I realize that I have been a bit quiet here (I feel like I apologize for that more than I should but yes, I intend to do something about that :) ). Regardless, let's have a little bit of fun and reflect on a post I made 10 years ago today:

OK, why the need for a blog like this? Well, truth be told, I don’t know that there really is a “need” for this blog, but I’m doing this as a challenge to myself. I consider this an opportunity to “give back” to a community that has helped me over the course of many years, as I have been the beneficiary of many great insights and learned a lot from a number of people and sources over nearly two decades.

Wow, I really had no idea that, when I first took this process on, that I would be doing it still 10 years later. I am happy to still be doing it and I am happy for the opportunities it has provided me since I first started doing it.

First off, professionally, I am a Tester. It's been what I've done in one way, shape or form for most of my career. As such, I am strangely drawn to the fine art of "breaking things on purpose" and then trying to find ways to improve the process so that they do not break again.

Being a Tester requires a bit of many disciplines. Saying "I like to test things" really isn't enough. A good Tester needs to have some understanding of the Software Development Cycle. This means that, to really be good at what they do, they need to "embrace the code", and I'll be the first to say I've had my fair share of ups and downs with that. They also need to have some skills with troubleshooting systems and finding solutions to issues. They need to be able to communicate to a broad group of people as to what they are doing, and ultimately, they need to be a part of the solution to the issue whenever possible. It's in the spirit of those areas I hope to contribute something here.

Oh, that is soooo CUTE!!! this should be an indication of just how much I thought I knew then and really didn't. Software testing has changed a bit since these days and I can see in myself slightly false confidence and a bit of Imposter Syndrome. Still, I wanted to roll up my sleeves and contribute and to that end, my motives were indeed pure.

Most of all, this will be a site where I share my own experiences, both good and bad, and what I've learned from them. Expect there to be talk about tools, both proprietary and open source. Expect some talk about test case design (and how I so hate to do it at times). Expect to hear me vent about some frustrations at times, because like all people, I have my share of frustrations when things don't seem to work correctly or go the way that I planned them to. Expect me to share ideas on testing that don't divulge too much of what I do at my day job... much as I find what I do interesting, chances are there's not much anyone who is not in my particular niche market (software applications for the Legal industry) will be able to use outside of that area, but if I come across a cool concept or a neat way to do something, I'll definitely put a more generic example of it here. Most of all, expect to get a real person's perspective on these things and an attempt to communicate them in plain English, whenever I possibly can.

Well, to that end, I would say that, while a lot has changed, quite a bit has stayed the same as well. seriously, though, this blog was a jumping-off point for a lot of things. this blog first got me involved with the Miagi-do school of Software testing, which led me to get involved with the Association for software testing to take classes and then to teach them. I took my early blogging skills and was able to become one of the collaborators on a book called 'How to Reduce The Cost of Software Testing". In that process, I began editing, then commenting on, then co-hosting a variety of podcasts over the past decade. I was invited to attend my first testing conference in 2010 (the Pacific Northwest Software Quality Conference) in which I interviewed individuals for podcast segments). From there, I started speaking at Software testing and Software Development conferences, some of which have brought me as far from home as Malmo, Sweden, Dublin, Ireland, and Pottsdam, Germany. I was given the chance to serve on the Board of Directors for the Association for Software Testing, as well as serve as its president for a year. In my work life, I went from being "just a tester" to being a build manager and release manager as well as developing a focus and advocacy for accessibility and Inclusive Design. I also had the opportunity to help develop initiatives in Weekend Testing and in the Bay Area Software Testers meetup. 

As of late, I will confess the blog posts have been more sporadic, in part because, frankly, ten years is a lot of writing and there's an awful lot of articles on this site, so much that I can feel as though I am merely repeating myself. Still, I know very well that waiting for the next big amazing thing that nobody has ever heard of before rarely happens. Best I can do is really try to embrace that last sentence of that first post and know that, if I want to see this blog thrive into a second decade, I'm going to have to get back to doing what I may not necessarily do best. I vowed that this would be a site where I would learn in public. I was very eager and willing to do that a decade ago? I'm going to do my level best to keep that going forward. Here's hoping you all join me going into my awkward tween years and beyond :).