My First Six Months as a Staff Developer Advocate at TBD
Tags: career, devrel, leadership, discuss
Published: 2024-03-29 18:29:27

## Table of Contents

1. [Undervaluing Myself](#undervaluing-myself)
2. [The Epiphany](#the-epiphany)
3. [Self-Doubt](#self-doubt)
4. [Happiness](#happiness)
5. [TBD’s Projects](#tbds-projects)
6. [What I’m Working On](#what-im-working-on)
    - [Livestream](#livestream)
    - [Treating Docs as Code](#treating-docs-as-code)
    - [Learning New Programming Languages](#learning-new-programming-languages)
    - [Experimental Writing](#experimental-writing)
    - [Helping Developers](#helping-developers)
7. [Outside of Work](#outside-of-work)
8. [Challenges](#challenges)
9. [The Definition of a Staff Developer Advocate](#the-definition-of-a-staff-developer-advocate)

## Undervaluing myself

Six months ago, I left my dream job as a Developer Advocate at GitHub—a role where I was thriving and deeply fulfilled—to become a Staff Developer Advocate at TBD, a business unit within Block. On paper, this career jump is illogical because I was a mid level Developer Advocate at GitHub, but it was an opportunity for me to stop underestimating my potential. 

Since 2016, I have confined myself to junior roles:

* Junior Help Desk Technician at **2** different companies
* Junior Software Engineer intern at **2** different startups
* Junior Software Engineer at **3** different companies
* Junior Developer Advocate at GitHub, then promoted to Mid Level

Watching my peers from the same cohorts in coding bootcamps and college—including my husband—advance to more senior roles made me question my stagnation. After 7 years of working in various technical roles, **_why did I feel stuck?_**

The obvious argument is that everyone moves at their own pace, and I wasn’t always staying at companies long enough to **earn** seniority. But , I have a counterargument. While junior developers at larger companies often specialize in narrow areas on teams that focus on specific components, my startup experience allowed me to:

* navigate the entire codebase 
* build multiple products from scratch
* manage releases,
* set up automated testing suites

And I **exceeded expectations** in nearly every role (except for one or two roles). 

Beyond technical skills, I refined my developer education and leadership skills by co-founding and teaching a coding bootcamp for women and non-binary people of color. I ran the program for 4 years.

## The epiphany 

Then it hit me; the barrier was **self-imposed**:

- My interview skills could be better. Although I think I’m “bragging” about my achievements in interviews, I always get feedback that I undersold myself.  

- I’ve experienced unconscious bias at one company that set me up for failure. This experience made me wary of pursuing roles where I might fail.

At GitHub, the transparency around the significant impact of my work, both internally and externally, helped me recognize my competence and self-worth. 

I knew I could bring the following skills into a role that was senior level or above:

- Coding 
- Leading by example
- Quietly setting and raising team standards
- Collaborating across teams
- Solving problems proactively
- Shaping and leading DevRel initiatives
- Thought leadership for emerging technologies
- Maintaining high productivity and efficiency
- Growing communities through active listening
- Continuous learning

## Self-doubt

Advocating for a Staff position felt right, yet signing the offer letter introduced feelings of  self-doubt:

* Why would I leave a position where I felt both successful and valued?

* Was I ready for the responsibilities of a Staff level role, especially without direct experience in senior positions?

* What exactly do Staff Developer Advocates do? 

* My role at GitHub wasn’t deeply technical, so I wondered if some of my technical skills atrophied over time, and I wasn’t sure if I could keep up at TBD.

* DevRel varies significantly across companies. Could I succeed in an environment different from GitHub's?

* Did I comprehensively understand TBD's mission, and did I truly believe in it?  

I leaned on trusted friends and colleagues for advice. They strongly supported my career progression, but there was a shared concern: I was a rising star at a company with an established and positive reputation. Meanwhile, they felt there were a lot of unknowns surrounding TBD. They reminded me that I'd be stepping into a less understood space, and I needed to make sure I'd be happy.

## Happiness

I’m happy at this job because:

* There’s a lot of psychological safety on my team (thanks to Angie Jones, my manager)
* My teammates and I perfectly balance each other out. We’re always helping each other succeed.
* My hard work is recognized
* The projects are satisfyingly challenging. I don’t want to work on things that are too easy or too hard. These projects are hard enough that they push me to the next level without making me want to quit.
* I’m learning how to deprioritize work for my own interests. This is still a **work in progress** .

## TBD’s projects

My friends and my developer communities don’t quite understand what TBD is working on. And I don’t like the narrative, “I don’t know what they’re doing over at TBD,” so I’ll briefly explain.  

We’re **not** working on cryptocurrency, and we’re **not** working on blockchain (although, I guess, we’re slightly blockchain adjacent). We **are** working **with** cryptography. Here’s how **_I_** would describe our initiatives:

* **Making global payments easy** - We recognize that much of technology is U.S. centric. We've proudly contributed to making money exchange easy within the U.S. through platforms like CashApp. Now, we're striving to expand this accessibility worldwide with the development of the [tbDEX SDK]([https://developer.tbd.website/docs/tbdex/](https://developer.tbd.website/docs/tbdex/)). At its core, tbDEX is an open source messaging service. Developers can use it to build applications that power global money exchange.

* **Modernizing ID management** - Along with other organizations, we're part of a collective to leverage W3C standards to reduce reliance on passwords or physical identification cards. In the future, we’re working on creating a world where it will be popular to store IDs and credentials on your cellphone via [Verifiable Credentials](https://developer.tbd.website/docs/web5/learn/verifiable-credentials), [Decentralized Identifiers](https://developer.tbd.website/docs/web5/learn/decentralized-identifiers), and [Agents](https://developer.tbd.website/docs/web5/learn/agents).

* **Introducing data portability** - We built the [Web5 SDK](https://developer.tbd.website/docs/web5/) to empower developers to create web apps where users can keep their data private and easily migrate data from one platform to another.

While many companies in this space use blockchain for data storage, we use our own invention –[Decentralized Web Nodes](https://developer.tbd.website/docs/web5/learn/decentralized-web-nodes). Many companies in this space use blockchain to anchor their DIDs. Instead, we made our own [DID method](https://did-dht.com/#terminology) and anchored it on [BitTorrent](https://github.com/bittorrent/bittorrent.org). 

## What I’m working on

**Here’s a few projects I've enjoyed working on:**

### Livestreams
I started a weekly Friday livestream. For the first few weeks, the livestream often featured my coworker Ace and I exploring the codebase, reading the documentation, building with the SDK, and debugging our applications on Twitch. It quickly evolved into a livestream where we bring industry experts from companies like Okta and Accenture to help us learn more about identity and global payments. And our community loves the show. 

![tweet from a community member stating this show has become their fave Friday ritual](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ofxhzoclmn9tdcu05ns2.jpg)

### Treating docs as code
Before this job, I never really had to contribute to external documentation. I love the way TBD treats documentation as code. Code snippets are heavily tested. We have a ton of reusable components.

We talked about our strategy here with the Head of Open Source on this livestream:

{% youtube p1O69ZiE5Gk %}

And I’m getting positive feedback on my PRs:

![Angie Jones saying my PR is beautiful and she's grateful for me](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w4tyl4bgyt28urzkll8l.png)

### Learning new programming languages

To support our SDKs, I learned Kotlin and Swift. 

Here’s one of my first Kotlin PRs:
{% github https://github.com/TBD54566975/developer.tbd.website/pull/1212 
%}

Here’s one of my first Swift PRs:
{% github https://github.com/TBD54566975/developer.tbd.website/pull/1327 %}

I love Kotlin, and I’m determined to gain a love and understanding for Swift. I’m looking forward to learning Go, Dart, and Rust.

### Experimental Writing
I love writing. If I don’t have an opportunity to write, I’ll create it. I have a not-so-weekly newsletter called [Last Week I Learned Web5](https://www.linkedin.com/newsletters/last-week-i-learned-web5-7112837685639032832), where I chronicle what I learned that week.

I am also experimenting with [illustrated blog posts](https://dev.to/tbdevs/the-illustrated-beginners-guide-to-cryptographic-identity-verification-51f0 ). I use storytelling to explain Web5 concepts as I understand them. Then, my talented sister illustrates them.

### Helping developers
We have a robust community of builders. When I joined the company, we hosted back-to-back Hackathons between November and January. I helped hackathon participants debug their applications and understand different concepts so they could submit their projects. As a result, I gained expertise in our SDKs and understand how to use them with various frameworks.

## Outside of work
(I kinda **_love_** working). But I want to live a balanced life where I do more than work. I’ve invested more time into my life outside of work by:

- **Going to therapy**
- **Consistently going to the gym**
{% twitter 1743671289435377883 %}
- **Attending concerts**
{% twitter 1764157260735873530 %}
- **Reconnecting with friends**
{% twitter 1676911014309183490 %}

## Challenges

**Self-Sovereign Identity and FinTech is a new space for me. I’m still learning how to:**

* Align my messaging to developers with the company’s messaging
* Confidently explain concepts in a way that people can understand without overwhelming them
* Prepare myself to answer unexpected questions after conference talks 
* Manage my time more effectively, so I can build out more educational tools for the community like AI assistants or video coding tutorials.
* Getting my conference talks accepted and making my talks resonate with the audience. I used to have a popular talk called Level up with Copilot, but that’s unrelated to my job now.
* Review PRs better 

**Developer Advocacy can be a demanding job, so I’m working on:**

* Being present and committing to less; I often agree to too many things especially when I’m feeling outgoing, then my introversion and overwhelm sets in, and I get flaky.

## The Definition of a Staff Developer Advocate

After working as a Staff Developer Advocate for 6 months, I still find the exact requirements of a Staff Developer Advocate elusive. Similar to DevRel roles, the expectations for Staff level positions seem to vary across companies and individuals.

I aim to redefine the role of Staff to suit my goals: to make organizational and industry-wide impacts and to empower the team—and potentially the entire company—to succeed. I want to be a team enabler. I'm thinking I can start off by establishing my presence in this space, while also helping my coworkers shine and helping my manager lead initiatives.

My coworker Lam shared this resource with me about [Staff Engineering Archetypes](https://staffeng.com/guides/staff-archetypes/). I put my performance review into ChatGPT along with the archetypes guide, and ChatGPT said I display traits where I would thrive as an Architect archetype. I don't know how accurate that is, but I found it interesting.

They describe an Architect as such:

> “The Architect is responsible for the direction, quality, and approach within a critical area. They combine in-depth knowledge of technical constraints, user needs, and organization level leadership.”

Here’s a conversation I had with [Cecil Phillip](https://www.linkedin.com/in/cecil-phillip/), one of my mentors and a Staff Developer Advocate at Stripe, about this topic:

{% twitter 1764690706705289497 %}


_What does Staff level mean to you? What does it look like in Developer Relations?_