Tree-ly thankful
Tags: communitybuilders, stepfunctions, thankfulforest2024, firevalleyrocks
Published: 2023-12-15 19:25:02

It's easy to get busy with all the activities that happen around year end, and to forget to pause and just be grateful for all the good. So I decided to be deliberate about pausing for a moment to take a good look at some of the trees in this beautiful forest of life I am surrounded by.

## So what am I grateful for this year?
Well, there's always the standards:
- Health
- Family
- Friends
- A great career

## What else do I appreciate?
And then there are the extras, those trees that fill out the forest and make it really stand out. These include:
- The AWS Community Builders
- Becoming an AWS Ambassador
- The global tech communities I am part of, like [TechStudySlack](https://techstudyslack.slack.com)
- Music and art

## What's even better?
It's even better when a myriad of things I am grateful for can combine into a true forest, where the sum is far greater than the parts. The AWS Ambassadors and Community Builders programs, and TechStudySlack, are all places where multiple trees combine into a forest, because in each I have friends from around the world, who are interested in the tech that makes my career so great, with leadership who put heart and soul into making the community great, and where creativity is encouraged.
I just joined the Ambassadors in November this year, so it is the community I am newest to. And it is truly an honor to be part of this community of recognized experts from AWS Partner companies around the globe. There are less than 500 of us globally, and less than 10% of all AWS Ambassadors are women. I'm thrilled to do my small part to add to the diversity of the group, and every Ambassador I've had the privilege of interacting with over the last month has been fantastic.
TechStudySlack is the community I've been part of for the longest amount of time. I am part of the small group of co-founders of the community, and it's been amazing helping it grow from the initial tiny community to the more than 86,000 members it now embraces globally.  We celebrated when it reached 2,000 members, then 10,000, then 25,000, and it continues to grow and thrive, providing a welcoming, inclusive community for anyone seeking to learn and build their career in a multitude of tech topics.
And finally, the AWS Community Builders organization. I've been part of this community for 4 years now, and had the honor of joining the community in its first open call for member applicants (I wasn't part of the beta group). This is another group it's been a privilege to help grow, from the initial few hundred up to the nearly 3,000 people active in the group, whether organizers like the indomitable @jasondunn and his merry band of AWS employees, Community Builders who have become AWS Heroes like @lockhead, or current Community Builders like myself.

## How can I honor that great community in a way that is worthy?
By making a tree, of course. Not just any tree - a tree that is grown using AWS Step Functions, and which celebrates all the things that make the AWS Community Builders something I am so grateful to have been a part of for the last 4 years, and something I am excited to continue to be part of for however much longer I am able to. My tree is the image at the top of this post, and it calls out some of the cool things about the Community Builders throughout its branches. 
I couldn't list *EVERYTHING* that is awesome about the Community Builders in my tree, of course, or it would be too tall to show. But I called out a few of the things I appreciate. 
AWS Step Functions are fun to play with - I made a similar tree and posted about it [here](https://dev.to/aws-builders/using-aws-step-functions-as-art-4em2) several months ago - and allow you to combine multiple AWS services into a cohesive, organized workflow to accomplish a task that may take a long time to fully complete. Step Functions allow users to create workflow that last seconds to months, and you pay by the transition from one step to another, which makes them quite affordable to use. I like that the console provides multiple templated functions you can begin with and then modify to suit your customized needs. I also like that you can catch errors, log them, and then continue processing through the workflow. You can build quite a bit of resiliency into your workflows with minimal effort. And of course, you can pull a bit of art into the adventure by organizing your workflow to paint a picture!

## Wrapping this up
No matter how messy life gets, it is beautiful. Take time to stop and appreciate the trees that make your life wonderful. I promise you, they are there. I'm thankful for all the standards that make life awesome, and I'm thankful for the bonuses that make it outstanding. The Community Builders is one of those bonuses. The really cool thing? You can check out the Community Builders [here](https://aws.amazon.com/developer/community/community-builders/) and get on the wait list for the next time the applications open. Come build stuff with us!

## Oh, and here's a pic of my tree and its code for fun
Here's my whole tree if you'd like to take a closer look:
![Image showing a multi-stage AWS Step Function. The stages make the function look like a pine tree with orange pinecones scattered over it.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ulwiq0293sirumhnoobf.png)
And the code used to create it:
```json
{
  "Comment": "Making a tree to join the forest of thanks",
  "StartAt": "I am thankful for",
  "States": {
    "I am thankful for": {
      "Type": "Pass",
      "Next": "The AWS Community Builders"
    },
    "The AWS Community Builders": {
      "Type": "Task",
      "Resource": "arn:aws:lambda:us-east-1:xxxxx:function:RedLight",
      "Catch": [
        {
          "ErrorEquals": [
            "States.TaskFailed"
          ],
          "Next": "Friendships around the world"
        }
      ],
      "Next": "Friendships around the world"
    },
    "Friendships around the world": {
      "Type": "Pass",
      "Next": "Early access to new services and capabilities"
    },
    "Early access to new services and capabilities": {
      "Type": "Parallel",
      "Branches": [
        {
          "StartAt": "Organizers",
          "States": {
            "Organizers": {
              "Type": "Succeed"
            }
          }
        },
        {
          "StartAt": "Who care",
          "States": {
            "Who care": {
              "Type": "Task",
              "Resource": "arn:aws:lambda:us-east-1:xxxxx:function:RedLight",
              "Catch": [
                {
                  "ErrorEquals": [
                    "States.TaskFailed"
                  ],
                  "Next": "And are fun"
                }
              ],
              "End": true
            },
            "And are fun": {
              "Type": "Pass",
              "Result": "With fun events and SWAG",
              "End": true
            }
          }
        },
        {
          "StartAt": "To be around",
          "States": {
            "To be around": {
              "Type": "Succeed"
            }
          }
        }
      ],
      "Next": "With fun events and SWAG"
    },
    "With fun events and SWAG": {
      "Type": "Parallel",
      "Next": "And smiles all around",
      "Branches": [
        {
          "StartAt": "I am",
          "States": {
            "I am": {
              "Type": "Pass",
              "End": true
            }
          }
        },
        {
          "StartAt": "Glad",
          "States": {
            "Glad": {
              "Type": "Task",
              "Resource": "arn:aws:lambda:us-east-1:xxxxx:function:RedLight",
              "Catch": [
                {
                  "ErrorEquals": [
                    "States.TaskFailed"
                  ],
                  "Next": "Community Builders abound"
                }
              ],
              "End": true
            },
            "Community Builders abound": {
              "Type": "Pass",
              "Result": "And smiles all around",
              "End": true
            }
          }
        },
        {
          "StartAt": "Rooted in growth",
          "States": {
            "Rooted in growth": {
              "Type": "Pass",
              "End": true
            }
          }
        },
        {
          "StartAt": "Fun",
          "States": {
            "Fun": {
              "Type": "Task",
              "Resource": "arn:aws:lambda:us-east-1:xxxxx:function:RedLight",
              "Catch": [
                {
                  "ErrorEquals": [
                    "States.TaskFailed"
                  ],
                  "Next": "And friendship"
                }
              ],
              "End": true
            },
            "And friendship": {
              "Type": "Pass",
              "Result": "And smiles all around",
              "End": true
            }
          }
        },
        {
          "StartAt": "We play",
          "States": {
            "We play": {
              "Type": "Pass",
              "End": true
            }
          }
        }
      ]
    },
    "And smiles all around": {
      "Type": "Pass",
      "End": true
    }
  }
}
```