Blogging is FUN!

Too busy to blog lately…

…and I can tell that it’s starting to affect my ability to actually craft meaningful content in other ways. My emails suck. I’ve tried writing an abstract for a presentation that’s due next week, and I’m getting nowhere.

I need a fresh start. So here it goes. The only way to get stronger is to exercise. If I want to be a better writer, I need to write. Even if I’m feeling particularly uninspired; I just need to get thoughts out on paper and go from here.

So what am I working on today? For now, I’m taking a couple of on-line courses on logs and APM’s. It’s not particularly thrilling, but I need to get my head wrapped around an application that we’re using at work, so let me start there.

Headed back to Chicago

Internal conference this week at Grainger, and I’m presenting two lightning talks. Excited to see my team again, but traveling is hard (especially without the family).

Two separate Kanban talks: an overview and one focused on two different styles of boards (time versus project based).

#DASH2023: Three Things I Learned

Recently attended the 2023 DataDog DASH conference, and it was a lot of fun. This was the first in-person multi-day conference for me in a while (I did crash the PowerBI SQLSaturday Atlanta conference back in February, but attended no sessions and mostly just went to see friends). I had a blast; the conference space was amazing, and the content was thought-provoking. Here’s my key takeaways.:

Take your team to conferences.

I’ve been a manager for over 10 years now, and I’ve struggled to convince upper management to send multiple key individuals to conferences. Thankfully, my director at Grainger is a big believer in education, and not only did he encourage me to send a team, but he also wanted to come as well. It was awesome to have feedback on topics both upstream and downstream. I had team members with a variety of experiences (junior, mid, and senior), and they raised some insightful questions. We split up often, so I still managed to make some new networking contacts but it was good to come back together and discuss new ideas.

Your fires are no worse than anybody else’s fires.

Sometimes being on the production side of the development pipeline you get the feeling that the world is burning and there’s absolutely nothing you can do to save it. While we were at the conference, my slack channels were screaming about several ongoing issues that my team was having to deal with. At times, it’s overwhelming.

But talking to folks at the conference from companies in all types of verticals from health care to automotive to financial to manufacturing, we’re all dealing with the same issues. Changing enterprise systems is hard, and modern development methods often accelerate faster than production systems can respond. Additionally, systems that have been in place for years have often grown connections to other systems in unexpected ways; things break, and they break fast. Observability systems offer hope, but we shouldn’t feel like we’re the only ones struggling with implementing that vision.

AI, AI, AI,AI, AI, AI

Artificial Intelligence and Large Language Models are here. DataDog offers some compelling use cases to accelerate MTTx (Mean Time to Detect, Acknowledge, Respond, Repair, Resolve), but it will take some time to get the plumbing set up for it to provide value. Additionally, users have to be trained on how to do their jobs with a co-pilot. They have to trust the system, and know when to dive deeper than the initial responses. They have to know how to phrase questions in such a way to help the assistant understand them, and they have to understand what the assistant is suggesting. That’s going to take time.

For the ones who get it done…

Excited to announce that I’m starting a new position as the Senior Manager of Site Reliability Engineering for Grainger. It’s a fantastic opportunity; Grainger is nearly 100 years old, and yet their technology stack is very progressive.

I’m excited to contribute and yet still learn new things every day.

Using Trello to Manage My Job Search #kanban #opentowork

As I’m working through the process of dealing with my layoff from Salesforce, the biggest focus is on managing the process of applying for a job. I’m casting a wide net, and I figured I should approach this process like I would approach any project; break the work down into reasonable chunks, define a state for the workflow, and work the backlog. In essence, kanban.

I’m using Trello to manage this process. Trello is a very flexible list tracking tool that can be used as a lightweight kanban tool right away (although I plan on describing additional Power-Ups and Automation in another post).

For my job search, I visualized the workflow as 5 basics steps; this may change over time, but a week in, here’s where I am:

  • Prospects: those leads graciously submitted by others (and please keep them coming)
  • Applied: Jobs that I’ve actively applied for. More on this card later.
  • Screen: I’ve heard back from a recruiter, and a conversation is pending (or occurred).
  • Tech Screen\Follow up: Usually the second or third contact.
  • Dead Lead: Investigation didn’t pan out, not a good fit, or I was rejected.

I work the board. In the afternoons or evenings while watching TV, I do my job searches and save prospective opportunities in an email, or bookmark, or whatever. Evey morning, I start pulling those opportunities, double-checking them to see if they’re still interesting, and then go through the mechanics of applying (and BTW, some job sites are PAINFUL to use when applying).

The job opportunity card is simple right now; I don’t want to overcomplicate this, and the goal is to provide minimal information to track what I’ve applied for and provide context when scheduling follow-up calls. I use the following notations:

  • Card Title: Company name followed by Job Title. If I apply to more than 1 position with the company, I create a new card. A card represents a single job.
  • Description: a link to the job posting. If I have any other relevant information (like a reference, etc), I’ll add that to the description as well.
  • Comments: brief notes describing what I did when
  • Labels: Right now I’m using labels to manage Dead Leads, and have it restricted to three:
    • Not a fit: something that I think is not for me; I may revisit later
    • Job filled: the search engines are outdated; the job may not be available by the time I apply
    • Rejected: the company didn’t like me 🙂

So far, it’s been helpful. I’ve only screwed up once in the last week and applied to the same job twice, but that was my fault (I didn’t check the list).

Good luck out there! If you’re hiring, or have a job lead for me, please feel free to reach out to me at Twitter: @codegumbo or on LinkedIn: Stuart Ainsworth

Roll With The Punches – #opentowork #sqlfamily #datafam

For a lot of Salesforce employees, January 4, 2023 was not a good day. I was standing in my kitchen, getting my kid ready for school when I got the email at 6:16 AM EST.

Hi Stuart,
As we announced earlier today, we’re reducing our workforce by about 10 percent, mostly over the coming weeks. Unfortunately, as part of this reduction your role is being eliminated.

Shock. Confusion. Acceptance. Thankfully, the severance package is good, and I have time to find the next opportunity.

I had only recently joined Salesforce (on February 7, 2022) after a lengthy career at Jack Henry. I had big plans. I was going places. I liked my job with Tableau on the CI Infrastructure team, and had been exposed to some great ideas, and had big plans to tackle some interesting challenges this year. In fact, I was already planning on writing a version of this blog post in preparation for the upcoming V2MOM process. One of my values can be summed up with the quote from Mike Tyson:

Plans change. They sometimes shatter like glass. But how do you recover when you’re reeling in pain from something? You go back to the fundamentals.

The fundamentals are those skills you’ve built over the years through practice. They should be automatic in times of crisis. Boxers constantly work on the fundamentals of their craft well before a big fight. They can walk into a ring with big plans, but when the blows start landing and the plans fall apart, what saves them is always going to be how well they can marshal the fundamentals.

As a manager in the technology space looking for my next opportunity, I’m going to sharpen the three following fundamentals:

First, my network of peers is large, and filled with good people. I was frankly overwhelmed by the number of people that reached out to ask how they could help and offered up leads. I am grateful, and it just makes me want to continue to invest more in building relationships.

Second, my technical expertise is T-shaped; I’ve got some in-depth knowledge of database architecture and performance tuning, and I’ve been exposed to a lot of ideas for software deployment across the lifecycle. I’m going to continue to work on some weaker areas (Git, Linux, Powershell) while I search for the right opportunity.

Third, I’m a Work From Home master. I’ve been working from home for the last 17 years of my career. You want a manager who understands how to motivate a remote team and build a remote culture? Boom, I can do it. You need somebody who can set deadlines and expectations around work\life balance? That’s me.

I got this.

If you wanna see what my career looks like, add me on LinkedIn: Stuart Ainsworth | LinkedIn

Affirmations

Recently, I’ve been thinking about the power of positive self-talk and motivational thinking. I’ve started reciting the following message in the morning to frame my thinking for the day ahead; thought I would post it here in case it helps someone else.

Today is a good day; today is my day.
I have all I need to be the best I can be.
I will overcome my fears, I will learn from my mistakes. I will enjoy today.
Today is a good day; today is my day.

Powershell – parameters & credentials

Just a quick blog; am working on a script that requires credentials to run against a REST API, and a developer wanted to convert that script to use command-line parameters. I built this script (and quick test) to show that the command-line parameters create the same object as the Get-Credential object.

#define command line parameters
param (
    [string] $User,
    [string] $PWordClearText
)
#assign paramter values to appropriate objects, including creating a credential

$PWord = ConvertTo-SecureString -String $PWordClearText -AsPlainText -Force
$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User, $PWord

#Get credential from prompt
$Credential2 = Get-Credential

#compare the two credentials to validate
Compare-Object $Credential2.GetNetworkCredential().Password $Credential.GetNetworkCredential().Password -IncludeEqual

Nothing exciting or in-depth, but this is the foundation for automating a script I wrote to run under specified credentials.

Kanbanly & Google Tasks

As I’ve previously posted, I recently made a job switch. Frankly, it feels like I’m drowning most days. There’s a lot of processes and procedures to learn, as well as getting intimate with a new technology stack, and it’s been tough to maintain good workflow hygiene both personally and professionally. Part of that stems from a shift from Microsoft Office to Google Workspaces; I lost touch with many tools that I was using to capture to-do items.

I started using Google Tasks again, but the visualization is limited; it’s a checklist, and that’s ok for most tasks, but I love Kanban and the organization of workflow to help structure future items as well as current items. However, I haven’t had much success with mobile Kanban apps. They’re usually hard to work with on the smaller screen space.

Enter Kanbanly. It’s a Chrome Web app which transforms Google Tasks into a Kanban board by adding metadata. This allows me to use a Kanban interface on the desktop, and the Google Task client on my iPhone. It’s clunky at times (the metadata tags in the iPhone app can be distracting), but so far it seems to be working; it even has WIP limits per column for visual reminders when I’m overcommitted.