Podchaser Logo
Home
Embracing GraphQL at Meetup with Annyce Davis, VP of Engineering at Meetup

Embracing GraphQL at Meetup with Annyce Davis, VP of Engineering at Meetup

Released Wednesday, 19th April 2023
Good episode? Give it some love!
Embracing GraphQL at Meetup with Annyce Davis, VP of Engineering at Meetup

Embracing GraphQL at Meetup with Annyce Davis, VP of Engineering at Meetup

Embracing GraphQL at Meetup with Annyce Davis, VP of Engineering at Meetup

Embracing GraphQL at Meetup with Annyce Davis, VP of Engineering at Meetup

Wednesday, 19th April 2023
Good episode? Give it some love!
Rate Episode

Episode Transcript

Transcripts are displayed as originally observed. Some content, including advertisements may have changed.

Use Ctrl + F to search

0:00

Thank you for tuning into today's full episode of the Breaking Changes podcast.

0:11

I'm your host and chief evangelist for Postman Kin Lane.

0:14

With Breaking Changes, we explore topics from the world of APIs, but through the lens of

0:19

business and engineering leadership.

0:21

Joining me today, we have Annyce Davis, vice president of engineering at Meetup.

0:26

Annyce shared with me the best answer to why a company has adopted GraphQL that I've seen

0:32

to date, leaving me impressed with what Meetup accomplishes with APIs.

0:36

I always start simple, start with the basics.

0:39

Who are you and what do you do?

0:43

Hey, I'm Annyce Davis. I'm VP of engineering at Meetup.

0:48

What do I do? Everything. But these days I'm primarily responsible for our GraphQL API, as well as our native applications.

1:00

So tell us a little bit about your journey. How did you end up in this role at Meetup?

1:04

Like where, where, where'd you get started with your career?

1:08

Uh, yeah, great question. It started a long, long time ago.

1:12

Um, as a little person, I used to love playing this game called number munchers.

1:18

Um, and my teacher told me, Hey, if you want to do something like this, when you get older,

1:24

you have to become a computer programmer. And so that was pretty much it for me.

1:28

Um, ever since then I wanted to become a computer programmer.

1:32

So I did, um, I studied computer engineering in college and then I started working as a

1:37

programmer. So, um, it's been, it's been a fun ride.

1:42

So, so tell me, I think most people are listening to the show are, are familiar with Meetup.

1:47

I think who has, especially in the tech industry, uh, we've all had quite a bit of exposure

1:53

to, to what, what the magic that I think you all make happen.

1:57

So what's, what's the role of APIs at Meetup?

2:00

Yeah. APIs are just central to everything that we do at Meetup.

2:05

Um, as I mentioned, I'm primarily responsible for our GraphQL API.

2:10

Keeping that performant, um, it serves all of our front facing clients.

2:15

So if you're using like your phone, the native applications, or if you visit our website,

2:20

um, the API powers all of that. Um, as well as we do offer, um, special API access for some customers who want to just

2:29

query it directly themselves, um, which is another interesting use case.

2:34

So, uh, a lot of, a lot of folks are, are aware of GraphQL.

2:38

It's definitely, I would say one of the top, uh, types of API flavors of APIs.

2:44

However, we want to frame it, uh, today, but what's, what's the decision making

2:49

behind choosing GraphQL and, and, and moving from a rest infrastructure?

2:54

Yeah, that's a great question. So I'll say like a few years ago, um, we wanted to experiment with Meetup.

3:01

Changing some of the core business model.

3:04

And it made sense to spin off a separate GraphQL API in order to power it.

3:10

Um, and then over time, we just started seeing how more of our full stack

3:15

engineers, um, even sometimes our apps engineers can contribute to the GraphQL

3:20

API, um, mostly because of some of the simplicity that it offers via the

3:25

resolvers, as well as on the client side, we've been able to use the API

3:30

on the client side, we can say, well, you know what I want to now show a save

3:34

button here, well, that's already exposed via GraphQL.

3:38

So just add that field to your query and you're good to go.

3:42

So that has really caused us to invest heavily in using GraphQL at Meetup and

3:48

it's been a really great decision for us. So I think one of the things I'm seeing GraphQL adopted is, is in fairly

3:56

large organizations, cause they have such a, uh, an expansive data graph

4:02

that they need to, to expose. I'm curious how, how big of an organization is Meetup?

4:08

Meetup is so small. Meetup is less than a hundred people.

4:13

And I remember when I joined Meetup about three and a half years ago, and I started

4:19

to learn about like the architecture and some of the functionality and it is

4:24

deceptively complicated for an app where you say like, I just want to go to an

4:29

event or I just want to host events.

4:32

But we offer so much customization, so many hidden features that you don't even

4:37

know about, um, honestly, I was just blown away by how much is actual Meetup.

4:45

Um, and also keep in mind Meetup is 20 years old.

4:48

So there's going to be a lot of legacy things that are still there that kind of

4:53

get in the way of, um, some, some of the things that we want to do at Meetup.

4:58

And so you always have to keep that portion of infrastructure or product work

5:03

in mind as you're moving forward, um, to make changes.

5:08

Yeah. It's a, it's a interesting just to hear that you're so small.

5:13

Cause when we first talked, I was kind of blown away that I was just had something

5:17

else in my head, cause y'all have been here for my entire, kind of the last phase

5:21

of my career. And so I just assumed it was like get up, GitHub or some other company and just

5:27

super large, um, but you're, you're in charge of engineering.

5:31

How much of your, your day to day is business versus technical things?

5:36

Uh, do you spend your time on? I'll say probably 20 to 30%, maybe business things and the rest is very technical.

5:48

Um, just to give you an example, business things, negotiating contracts, meeting

5:53

with a new vendor, uh, following up on these other kinds of things, like, uh,

5:58

there's always a lot of administrative work that needs to be done.

6:02

Um, and then as far as being technical, that's where I get to, um, kind of get

6:08

in the weeds a little bit, look at some performance optimizations, learn about new

6:13

things that are coming along and just monitoring the health of the organization.

6:18

Um, and our platform overall.

6:22

So how much, uh, I mean, as a technical person, how much of the business should us

6:28

developers, uh, understand when it comes to doing APIs, do we need to be intimate

6:34

and aware of, of how business works or, or is it all right if we just kind of stay

6:38

in our, our little, little rabbit holes and focus on the, on the code bits?

6:43

Yeah, I think it's good to come out every now and then and take a look around at

6:48

what's happening, um, with the business.

6:51

I know before as an engineer, when I was just an individual contributor, I, I

6:57

thought I knew what was going on with the business and I would say like, why

7:01

don't they just blink, you know, it's so obvious they should just blink.

7:06

What are the business people doing? They don't know anything, right?

7:10

Cause when you're a programmer, you know, everything. Um, and when you start to learn more about the business, learn about how

7:18

does a business make money, what counts as revenue versus an expense, what's

7:24

the difference, where are the buckets of money, how is it allocated?

7:28

How does it impact taxes? Do you need to know about every single thing?

7:32

No, but just knowing that there's more nuance there than you're probably aware

7:38

of, I think it's really healthy.

7:41

It helps you to build empathy for some of the decisions that the business makes a

7:45

lot of times that maybe you might not fully understand or agree with.

7:49

And I also think that it helps you as an engineer to make sure you're

7:54

optimizing for the right things. Um, so if I can just give an example, what if my company, um, is looking to

8:04

get rid of one aspect of our, of our project and use a third party solution.

8:09

Would it make sense for me to spend all my time?

8:12

Oh, let me make sure that this is redundant and I'm, I'm backing this

8:16

thing up and it says the perfect architecture and everything is abstracted

8:20

away or let's just make it work.

8:22

Cause next month we're giving it off to a third party.

8:26

Yeah, of course it would be a no brainer. So you need to know what's going on with business also to help you make

8:31

smart decisions as an engineer. Yeah, I agree.

8:36

And I see this divide between business and IT kind of narrowing.

8:40

I think it still exists and we need people who are, are specialization in

8:45

each area, but I see a lot of the classic divide closing up, but coming,

8:51

coming back to the, the, the graph go up.

8:53

Cause I think a lot of our audience is going to be very curious around, uh,

8:57

they're dabbling. They they've made a decision or they've been thinking about, uh, implementing

9:02

GraphQL what's, what's been the biggest benefit as far as having GraphQL

9:06

in place for your, for your team. Yeah.

9:11

So I'll say the biggest benefit is that we understand what is available.

9:19

I mean, I know like in the past, maybe we had swagger or we'll have the rest

9:23

CPI and, um, we were just pulling tons of, tons of data, too much data, um,

9:30

different rest requests over the years, as I mentioned, Meetup is super old.

9:33

So maybe there was some, some reason why we needed all of that data.

9:38

And then we changed the UI and we don't need that data anymore.

9:42

So on the apps, it was always so slow downloading tons of data that we didn't

9:48

even end up displaying to the user.

9:50

So I'll say one benefit is just performance that we only pull what we need.

9:55

I'll say another benefit is understanding the business.

9:59

Like this, these are the groups, the networks are comprised of groups.

10:04

These groups have events, attendees go, attendees have this, they have tickets.

10:10

They, this is the status. Um, I think for being so small, we can't even, we can't even, we can't even

10:16

Um, I think for being so small, we can't afford to have, um, knowledge silos where

10:23

only some people understand the business and know about, you know, what makes Meetup

10:30

tick, having the GraphQL API has really helped so much where I know personally, I

10:38

have such a much better understanding of Meetup and how the pieces fit together.

10:44

Yeah, I like that. Cause I think that reflects what I'm seeing with a lot of groups.

10:48

They're just trying to get a handle on that data graph, that sprawl.

10:53

It's almost become like Los Angeles or Atlanta when it comes to like, you know,

10:58

the neighborhoods, like it just goes on, you can get lost, you can get lost in

11:03

those neighborhoods sometimes, where am I? How did I get here?

11:07

Where am I going? And so I think that's a pretty good reason to, to jump in, but on the flip side,

11:14

what, what's been some of the challenges and adopting GraphQL, what'd you say?

11:19

I think the, I'll say one of the biggest challenges is not fully letting go of

11:24

rest and it just takes so long to deprecate the rest API.

11:32

So it's like, first of all, you have to make sure that you're instrumenting

11:35

everything properly to try to nail down who's even calling it.

11:39

And is it important enough that we don't want to break it for said person?

11:43

So it took us a while to just get like all of our pro clients off of rest

11:47

and onto GraphQL. Once we were able to do that, it's like, yay, victory.

11:52

Now we have to finish getting off of it ourselves and just going through,

11:57

okay, this team, can you make a corresponding query in the GraphQL API?

12:03

Great. Now adopt this new query. Wonderful.

12:06

Now wait two, three months for people to upgrade their apps and we no longer have

12:11

to support that one endpoint. And then while this is all happening, business happens.

12:18

You never stop building features. You never stop releasing things.

12:22

So it's, it's difficult to justify, oh, don't build any features instead, just

12:28

deprecate this endpoint, it will be exact same experience for you.

12:32

It will be exact same experience for, for the customers.

12:36

No. So it's like, it's for me, I think the biggest challenge is just completely

12:43

being on one system and, and fully deprecating the other one.

12:49

Yeah. It seems like it's really helping you manage change in a way that's, that's

12:53

positive and I don't think, not that rest can't manage change in some ways, just

12:59

knowing how to, how to manage change with rest, I think isn't a widely shared

13:04

knowledge and everyone is on board or knows how to do it and GraphQL definitely

13:10

kind of comes out of the box and in adapting and evolving with the different

13:14

applications you're going to use. Yeah.

13:17

I have definitely seen that to be the case.

13:21

So, uh, speaking of change, what's changed during COVID for y'all?

13:29

Yeah. Uh, so we're meet up and we were all about people meeting together in

13:37

person, real human connections.

13:40

And when COVID hit, we really had to make an adjustment and for the first

13:45

time ever we introduced online events.

13:49

And that was huge. Um, and I remember when we were initially thinking of it, everyone was like, how

13:56

in the world can we make meetup work for online events?

14:02

It just, there's nothing in our like schema or our database tables in the

14:08

fields that can support this, but we were already using GraphQL.

14:15

And so that was just like the perfect thing because, you know, it's an

14:18

abstraction layer, so we could say, Hey, everyone start calling this new query.

14:24

You'll get some online events data. Let's create a new mutation and then we'll call that mutation and we'll say,

14:30

Hey, this is an online event. And the venue just happens to be in the middle of nowhere.

14:35

Great. So we were able to sort of hack our own system using GraphQL to support online

14:40

events and we did the whole thing in about a week, so honestly, it was so

14:47

impressive and it's one of those make or break moments, um, in a company.

14:52

And thankfully meetup was able to pull it off because I do strongly believe that

14:58

it's good for humanity and it really does help people, um, do things with

15:04

someone that has similar interests.

15:06

So, um, really proud of us for the work that we did there.

15:12

Yeah, it's, um, and I think, I think y'all are straddling the line between,

15:17

we all still need to meet up and share knowledge and share information.

15:21

We're in this weird moment where we can't get together, but then we need to go back,

15:25

but maybe not all of us can go back to in-person and so hybrid events.

15:31

And I think that it sounds like GraphQL is allowing you to kind of really flex

15:35

with that and I liked the, the meetup is, is nowhere because the, the virtual

15:41

events, I feel we, we, my team, my dev rel team and we joke, it's like screaming

15:45

into the void, you know, because you'll be like talking sometimes and who are

15:50

you talking to, you know, and so I like the meetup and nowhere that fits well.

15:56

It's like, is this thing still on? It's, it's definitely, and I've done that and had, yeah, I, and I've done that

16:05

and had like three or 400 people listening like, yeah, we're all here.

16:08

We're listening. We're, we're, we're interested in like, oh, okay.

16:11

Okay. Well, thank you. It's, uh, um, so how about your consumers?

16:17

I mean, you say you're, you know, your website mobile or consumers, but how have

16:21

your partners adapted to GraphQL?

16:23

Are they pretty, pretty open to this change?

16:27

Yeah. Um, so a lot of the pro customers who had to switch from REST to GraphQL, um, we

16:34

tried to do it in a very like gradual fashion.

16:38

So we wrote some documentation. I tried to look at the REST requests that they were making the most often, and

16:45

then add that to the documentation as well.

16:47

So, Hey, you want to get a list of all groups in your network?

16:51

This is, this is the rest endpoint.

16:53

And now this is how you do it with GraphQL. And so I will go through just based on data, look at the types of

17:00

requests they were making and say, here's how you do it on GraphQL.

17:04

Um, and then for a few people actually just hopped on a zoom call and said,

17:09

okay, show me, show me your code, show me your queries.

17:13

What are you trying to find out? Oh, okay.

17:15

This is what you need to do. This is this sort of object.

17:20

Um, it was very, um, high touch white glove treatment, I'll say.

17:25

But in the end it worked out really well and they were appreciative and

17:30

grateful that they can still query our API in a way that worked for them.

17:35

And then also for several of the people, this was their first time working with GraphQL.

17:40

So they were just kind of excited as well to be able to, um, try out this

17:44

technology that is kind of taking over, um, the industry.

17:50

Yeah. Do you, do you feel like you learn from those, those high touch engagements

17:54

and, and learn from the consumers as well? Definitely.

17:58

You, I, you assume that, you know, what people are doing, um, because you

18:05

have some data, right? I can look in the dashboard and see, oh, they keep using this endpoint.

18:10

Great. I'll just make the same exact thing in GraphQL.

18:14

And then you meet with them and you find out actually we do these two requests.

18:21

Then we do this and put the data together ourselves.

18:24

And then we loop over and you're like, wait, wait, no, you don't have to do that

18:27

with GraphQL, one query, combine this.

18:31

And it's like, oh, nice.

18:34

So I think for, for me, it's always just don't make assumptions.

18:40

You, you think you know, but you don't know.

18:43

And you have to talk to people. Um, I know I tend to be kind of shy and introverted despite the fact that I'm

18:50

talking to you today and I'm like, Anisha, you just have to talk to people.

18:56

You have to talk to them, find out what they're trying to do, how they're

19:01

currently doing it and what are the pain points because people always have pain

19:05

points just because they're doing something and maybe not complaining about it.

19:10

Doesn't mean that it's working wonderfully for them.

19:13

Um, so I definitely get a lot of value out of talking to, to customers and just

19:18

finding out what are their pain points. Also, what were we missing?

19:23

There were a few things that I didn't even know they were querying for, and we

19:26

hadn't covered it in the graph. So I'm like, great.

19:29

Thank you for telling me that. I'll make sure that I get prioritized so we can expose that

19:35

information in a query for you. So yeah, definitely talking to customers.

19:39

I learned a ton. Yeah.

19:42

I think this has been the biggest advantage of, of API is being closer, more

19:47

closely aligned with business and not just the classic developers in a back room

19:51

that you feed pizza to and they, they deliver an API cause we, I get like that.

19:58

That's why I do API is cause it, I was an old database architect and administrator

20:04

and, and API has brought me out of that, that basement and got me closer to

20:07

business and closer to needs. And I found that more nourishing than, than just hacking away at things.

20:13

And I think we, we don't always realize it and we're happy being our, in our

20:17

little cocoons, but it's actually better that we're not.

20:20

Yeah. Because I, engineers, we solve real problems with technology.

20:28

It's not that we're just, oh, I love GraphQL or I love REST or I

20:32

love any particular thing. Our job is to solve a business problem using technology.

20:39

For the most part, most people don't, the business doesn't really care.

20:43

As long as it's not expensive. So it's, it's up to us to say, okay, well, what is the real business problem?

20:49

And what is the tech, the right technology that will solve it?

20:55

Yeah. Agreed. Can't agree more on that.

20:57

And that's well said. So what keeps you coming in every day to work?

21:03

I love my team. They're very smart and humble, which is a great combination.

21:09

One of my favorites. And I love the mission of meetup.

21:13

I love that we're small. It, cause I could just get to wear so many hats.

21:19

I mean, one minute it's like, I'm debugging some performance issue in the API.

21:24

The next minute I'm talking to the marketing team about how we're going to

21:27

put out a new program and everything in between.

21:31

And that's, that's really exciting for me.

21:33

I like to have, I like it to be mixed up and I like to be able to use my creativity

21:39

in different aspects of the business.

21:42

And also it's a challenge. I mean, we're still a business who is trying to help people form connections.

21:49

That's not a simple or easy problem.

21:52

And so I look forward to trying to develop technical solutions

21:57

to that business problem. So that definitely keeps me coming to work.

22:03

I like it. I have to kind of second that, that I kind of owe a lot of my career right now to,

22:10

to y'all and what meetup does. Cause like I'm an evangelist, I'm chief evangelist at Postman, but I have this

22:17

a blog called API evangelists that I've run since 2010.

22:22

And I've completely dependent on the meetup ecosystem in different towns and cities.

22:28

And I used to literally live on the road and travel from Chicago to DC, to New York,

22:34

to Atlanta, to LA and, and do meetups.

22:37

And I'm talking, you know, these are technical meetups.

22:40

So some of them are APIs, but some were like, you know, in DC that's like

22:44

Smithsonian data sharing for like African-American history.

22:50

And like, it's like 15 people that are very specialized coming together to use

22:54

the Smithsonian API to like tell a certain set of stories, you know?

22:59

And so it's that kind of enablement that really has given me a career and kind

23:03

of built up all the people that I know. So that's awesome.

23:07

I love hearing these meetup stories. It's like meetup is just even before joining, I also used meetup also very

23:17

huge part of my tech career and growing my network and yeah, we're still here.

23:22

We're still doing it. Yeah.

23:25

Well, thank you for being there. Thank you for doing it.

23:28

I love the GraphQL narrative. I think it was one of the, the, the healthiest, pragmatic views of

23:35

GraphQL that I've heard recently. So thank you for sharing that.

23:38

And thanks for coming by today. Thanks for having me.

23:44

Thanks again to Annyce for stopping by. You can find more about Annyce on LinkedIn and meetup.

23:50

You can find that meetup.com. You can subscribe to the Breaking Changes podcast at postman.com

23:56

slash events slash breaking dash changes.

24:00

I'm your host Kin Lane and until next time, cheers.

Rate

Join Podchaser to...

  • Rate podcasts and episodes
  • Follow podcasts and creators
  • Create podcast and episode lists
  • & much more

Episode Tags

Do you host or manage this podcast?
Claim and edit this page to your liking.
,

Unlock more with Podchaser Pro

  • Audience Insights
  • Contact Information
  • Demographics
  • Charts
  • Sponsor History
  • and More!
Pro Features