Podcasts

077 - John Jung talks about solving problems by leaning into the weird

April 27, 2021

Nylas director of engineering John Jung believes good software development comes from the inner weirdness of developers. That's why he's focused on creating the space needed for his team to find creative ways to solve problems. Learn how you can take a leaf out of his book and reap the benefits in this actionable interview.


If you enjoy this episode, please consider leaving a review on Apple Podcasts or wherever you listen.

Please send any questions or comments to podcast@pluralsight.com.

Transcript

Interviewer :

Hello, and welcome to All Hands on Tech, I'm Josh [inaudible 00:00:10]. Today's episode features my conversation with John Jung. John is a director of engineering at API workflow infrastructure company, Nylas. In our conversation, John explains how he and his team solve complex problems by leaning into the weird, let's listen in.

I know you're interested in this whole idea of finding creative solutions to big, complex problems. I want to dive into that if that's okay, and just start with your process on how you begin to unpack and solve these problems with your team?

John Jung :

Sure, so to solve really difficult problems you need to come up with all kinds of solutions. So, the number one thing is the best ideas kind of wins, right? And it can come from anywhere and it can come from anyone. And in order to do that, you have to kind of create an environment where people feel safe, and that's really where that whole idea of psychological safety comes in. But to also add to that, you got to also be a little bit weird, right?

So, I mean, I kind of know what it's like to be a little weird just from my background growing up, I kind of know what it feels like to feel left out. So, I think at some point in my early teens it just kind of clicked for me, I could just be myself, be a little weird, accept it, embrace it, be nerdy, and it's okay, right? So, I really want that for everyone, so I want that for everyone on my team, and when they're allowed to be the best version of themselves, then they can really thrive. And that's really where all three of those things kind of merge. So, we want to create a psychologically safe environment where they can be themselves and be open about it, and that kind of stirs their creativity for these really difficult problems that we're solving.

Interviewer :

I like that, so what are some things that you look for in a team to create this? I mean, do you look for specific character traits or is it something that you kind of inject into the team?

John Jung :

Right, I mean, you want to have a lot of variety in your team members. To come up with the best ideas, you need to have a lot of different perspectives. So, I would say that there's no real formula to it, but then at the same time, you also want to make sure that it's a cohesive environment for everyone. So, you want to also make sure that personalities are compatible. So, I would say one of the ways we hire, we hire a little bit slower because of that compatibility. Each team is very organic, they're very different, they all have different gaps, and really what you want to do is add team members, and then you want to make sure that anyone you're adding to that team it grows organically. And that takes time, you need people to feel comfortable with everyone else and understand that.

The other big thing is, again, going back to control of your environment, you want to make sure that the people are actively involved in the process, so when you're scaling up a team, you want to have people be a part of the interview process because they might see things that you might not see, and they might not, but you want to make sure that everyone likes to work with each other on a daily basis. So again, that's the way we do it.

Interviewer :

For sure, so are there things that you do to inject that creativity? So, if you have a team member that is really strong but they're not willing to go out on the limb or get a little more creative, even if you're giving them that space, just curious on your process on how to scale this out?

John Jung :

Yeah, you can't really force creativity. So, I would say a lot of times engineers, they get really excited about a problem, especially when it's difficult, and you want to kind of fan the flames. So, it doesn't come very often, sometimes they get really passionate about a certain type of project or a certain type of problem. You want to just make sure that that flame is there. So, some people are, again, going back to the whole aspect of creating an environment where people thrive, some people they work best in the early morning and some people are our night owls. So, I tell them, "Block off your calendar and don't let anyone take that precious time away, because that is when you're coding at your best or when you're thinking at your best." So, just block it off your calendar and don't let anyone's schedule meetings, because ultimately that's best for you to be productive and it's best for the company, right?

Interviewer :

Yeah, I like that, and I think it's definitely a big thing, especially since the pandemic and all of that, I feel like everyone's trying to figure out the whole new meeting scenario. And I like the conscious effort to minimize meetings. So, when you're coming at these problems, what are some examples of how this is kind of played out and you've let that creativity flourish when maybe leadership or certain forces in the company are trying to contain it? Does that make sense?

John Jung :

Yeah, I mean, any organization that gets large will have that friction. So, I mean, I came from a startup and we were only about 10, 15 people, it had 10 engineers, 15 people, and then post acquisition we joined a larger company, it was over, I think, we were around 130 people and it's growing pretty rapidly.

Interviewer :

Was it June?

John Jung :

Yes, it was June.ai. So, when you're making that kind of transition, everything has its trade-offs. I mean, you have a lot more support, you have a lot of peers, you have a sense of community, you have a lot of that, but then yes, I mean, we had to try to consolidate some of our tooling that we use sometimes, but again, I mean, I mean, we're still, I would say, a lightweight organization, so we try to make sure that the processes that we have in place are A, lightweight enough so that people can adopt it. So, you don't want to create a process just for the sake of creating a process, or you don't want to create a lot of these documents just for the sake of creating a document.

So, whenever I tell people, whenever you're starting a document, always know who your audience is, keep it lightweight, keep it verbose enough so that people understand it, for the people reading it, but at the same time, you don't have to make it so formal, this isn't something that's getting published, it's just still a form of asynchronous communication. So, I mean, we just try to keep the processes lightweight. And every team, again, they have different processes, we have a lot of different teams, and a lot of different teams have their own way of operating in a way, so we're very fortunate for that.

Interviewer :

Right, so everyone kind of has the ability to operate on their own, but there's still those touch points. And is that where those documents come into play of, I mean, whether it's like a strategy document or something of that nature where everyone's trying to get aligned on that piece?

John Jung :

Yeah, exactly, I would say, especially during this COVID, there's so many Zoom calls and so many documents and so many people producing work. So, I mean, occasionally you have misalignments and in order to do that you have to have those meetings, you have to have those documents, you have to have a single source of truth, otherwise we're just running around over here just doing everything.

So, I mean, to be aligned towards a single mission you want to make sure that whatever direction you're picking too, it's only like one thing. If there's too many processes or too many themes, then people don't tend to remember it. People tend to remember the beginning and the end, but all the middle parts they kind of forget about it. So again, try to keep the process lightweight for people to actually remember and actually use it, that would be a theme that we pick.

Interviewer :

I like that. The concept of keeping a process lightweight, I'm just curious if you have any examples of a time that process was getting too cumbersome and you had to just cut out the fat and start over, or you know what I mean?

John Jung :

Yeah, I mean, so we have a lot of inter-team meetings, and occasionally they're relevant, but occasionally they're not, and everyone's just heads down trying to get a lot of work done. So again, the idea is, "Okay, we have this meeting to talk about X, Y, and Z, but if we find that it's unnecessary, just discontinue them." If there is a project where there's a lot of back-and-forths going on with a specific team, then we'll start those meetings up, but there's no reason, because if you have a meeting people are going to just fill it up, so if you have a 30 minute time slot someone's going to just talk for 30 minutes.

Interviewer :

Yeah, exactly, so when you say the single source of truth, is this coming from your product architects? And then are they kind of like the end all be all on who's got the roadmap?

John Jung :

Yeah, so, I mean, we have product, we have engineering, we have marketing, we've got sales, there's a lot of documents flying around, so we try to just keep it all in one document so that there's alignment on everyone. So, if you're working on something, if you scroll up a little bit, you see exactly what's going on, and so you're not misaligned on anything. So, that's what we really mean by keeping it all in one place in a single source of truth.

Interviewer :

Gotcha, so when does creativity need to take a backseat?

John Jung :

That's a good question, so there's a good time for trying new things and then another time where you need a ship to production. So, we try to keep a healthy balance of it on both sides. So, when you're trying to tackle new problems, kind of these greenfield projects, you want to have high iterations. So, learn by doing, just code a little bit, see what it's like, because whenever you're tackling any kind of problem there's a lot of uncertainty. And as you work through it, you just unravel these problems, and you know that this is going to take a lot of time, this isn't going to take a time, so you start getting a feel for that.

So, at some point, the idea is to pick a route that we're going to go, double down on it, and then get it shipped. So again, the only way you're going to do that is if you have high iteration, if you're able to iterate quickly and fail quickly, fail fast, and you only do that by trying, you got to learn by doing. So, it's not whether it's a new framework, a new product, you just need to just get your hands dirty and start doing it, and things will just kind of unravel.

Interviewer :

When you say fail fast, how do you build your processes and ensure that you're kind of doing this like slow tug of the string to make sure you're understanding the unraveling of this code that you're starting to build out?

John Jung :

Right, so I mean, so our teams actually do one week sprints. So, we tend to, because you're kind of talking with everyone every week, again, we try to keep the meetings lightweight, not too micromanagey, but high touch. And it's really hard to do, but we try to stay focused on making sure that whatever we're working on, nothing is a surprise. So, when you're doing kind of these iteration cycles on a weekly basis, you're able to get a better estimate this week and a better estimate the next week. And you can kind of start drawing the dotted lines and the trends for what is a good solution and what isn't a good solution.

Interviewer :

Yeah, do you have any sort of recommendations for your team and for other leaders to give their team for this blocking out?

John Jung :

Right, so again, I think at the end of the day, it's all about no surprises to make sure that everyone who's working on a particular project. So, if it's an engineering team and they're working on a project, you want to be very upfront out the timelines, and you also want to make sure that you want to give them a lot of feedback and be very honest with them about, "Hey, this does seem like it's going down the right track, or not." So, the idea about no surprises is you don't want to be discouraging, you want to put up these guardrails essentially and kind of nudge them towards what is inevitable in terms of the types of solutions that come up.

Interviewer :

How does the transparency... And it sounds like you're blowing up constantly Slack and I think everyone can kind of relate to that, how are you just keeping track of how the team is doing? I mean, do you have to do these in-person check-ins, or Slack check-ins, or do you use a tool, or what are you doing to just be aware and have the data to back up these decisions, especially when you're wanting to inject this weird and this creativity to these complex problems?

John Jung :

So, we typically have one-on-ones with engineers. So, with all of those one-on-ones you kind of want to personalize it and adapt it, right? So, some people want more meetings and they want to talk since they need support on certain aspects of the things, some people, they just want to kind of work, again, every person's different, you want to create an environment that's very compatible with their life as well, there's lockdowns, there are people with kids at home, so they only have certain windows of time, so you want to kind of adjust for all of that.

I mean, so the other thing is you want to make sure that every week you're kind of benchmarking against yourself, right? So, every week you want to have one thing that you want to improve in the process, or you want to focus on one theme for that week, one thing that you can get done that makes everyone feel good. So, having those types of processes in place just helps, again, because everyone is so different, you want to just create this environment where they're just at best for as much as possible.

Interviewer :

I like that a lot. How do you get buy-in from leadership to allow your team this space? Because I know that development is this sort of black box to a lot of leaders that aren't from tech background, and so, how do you unpack that for them so that you can give your team that freedom?

John Jung :

Right, so I would the number one thing is we are a very data-driven company, so you can see the results and the results should speak for themselves. This process wouldn't work if people weren't coding at a certain type of velocity. So, I would say that creating this type of environment where people can be at their best should produce results that speak for themselves in a lot of ways. The data isn't the full picture, obviously, because people aren't data points on a map, but it gives enough of a picture for the justification of this type of process. As long as the data reflects this attitude of hard work because of the passion that's involved in solving these really hard problems in the way that you want to with as much control that you have, that's, I would say, the way to justify it.

Interviewer :

So, like a data-driven creativity model sort of thing, where it's like you may not build with the data in mind but you're going after a result doing it in a creative way, and the data is your justification in saying, "This is working and we need to keep pushing this lever."?

John Jung :

Yeah, I mean we have OKRs, so we have metrics with numbers attached to it, so if we're consistently blowing those numbers out of the water, then that is justification. Again, it's really hard to convey that, or it's hard to gather data that reflects the hard work that people are putting into something. And so, you see glimpses of that in the number of commits that are happening in little spurts, you see that, but again, it's not the whole picture, but it's enough for people to see that this is working this kind of engineering culture.

Interviewer :

So, with this personalized experience for the developers, was this something that grew organically, or is it something that of drafted from other companies? I'm just curious, because I really like this concept of just a fully individual experience.

John Jung :

Right, I don't know where I came up with it, I think maybe it came from a lot of mistakes, honestly. I mean, I've been working at a lot of startups, starting startups, and working with a lot of really talented people, and I would say that a lot of it was learning from experience. I've had some mentors who suggested, "Hey, you got to show leadership and you got to do it this way." For me, maybe it's my personality, it just doesn't work for me, and I just haven't gotten the same results that they might have gotten, so I would say that. Again, just going back to the whole thing about, "Be the best version of yourself, be the thing that's working best for you." I really do believe in that, which is why I'm practicing it. So, I would say I learned it from experience and my own personal failures and just constantly iterating on it.

Interviewer :

Yeah, and I just think it's one of those solutions of a complex problem, I guess, that once you see someone doing it, you're like, "Oh yeah, why aren't more people not trying this?" And so, I really appreciate that mentality of just constantly tweaking it. And I'm curious if you've had any issues with it, if there's issues of favoritism because if everybody's got their own tailored model of what you are to them as their leader, have you run into issues or has it been pretty smooth since you've kind of adopted this model?

John Jung :

I guess that's a good thing to keep in mind. I don't think there have been any instances of certain types of favoritism of one thing or another, because again, we're pretty transparent about everything. Again, I think the best way to answer that is the intention behind it. If everyone knows the intention behind personalizing the experience for everyone, they kind of get it.

Interviewer :

Very cool, John, I appreciate the time. Everyone, this is John Jung he's the director of engineering at Nylas, thanks for joining us, John.

John Jung :

Thank you.

Interviewer :

Thanks for listening to All Hands on Tech, to see the show notes and more info visit pluralsight.com/podcast.