Growth Hacking for Remote and International Developers - Part 1
Jon Christensen đ
Posted on August 6, 2019
Chris Hickman and Jon Christensen of Kelsus, along with Rich Staats of Secret Stache, discuss lessons learned while working with remote and international engineering teams.
Some of the highlights of the show include:
- Jonâs Excellent Experience: Most of his career has been working with international team members, some went on to be Chief Technology Officers (CTOs) and Chief Architects
- International Opportunities:Jon jumped on the Bangalore bandwagon by volunteering to go to India to help hire a team
- Two Teams, Mixed Results: One high-performing team, one very low-performing team
- Chris Comes Along: He already had worked for and managed high-performing teams in the United States and remotely; now known as âTSA random signalerâ at Kelsus
- Two Major Challenges: Being a virtual team and dealing with non-U.S. developers
- Us vs. Them Mentality: If you hire a remote or international team, offshore, nearshore, or whatever, it costs less, but itâs not as good
- Friends or Frenemies? Meeting team members face-to-face for the first time and getting to know them to establish relationships;
- Despite cultural differences, companies still need high-performing teams
- Best Indicator for Success: Whether somebody has software skills depends on how much time theyâve spent on high-performing teams
Transcription
Rich: In episode 71 of Mobycast, Jon and Chris discuss lessons learned while working with remote and international engineering teams. Welcome to Mobycast, a weekly conversation about cloud-native development, AWS, and building distributed systems. Letâs jump right in.
Jon: Welcome, Chris and Rich. Itâs another episode of Mobycast.
Rich: Hey, itâs good to be back.
Jon: Good to have you back. Today, I think weâre just going to jump right into it because todayâs episode is less talking about details and more about some storytelling. We want to get into some of the transition that Chris has gone through moving through his career and starting to work with Kelsus, starting to work with remote and overseas teams. Rich, youâve been looking at some of our analytics more than I have, but I think a lot of our listeners are from overseas and maybe work remotely and this is the audience we are talking to. I think we want to work directly to you today. Is that right, Rich?
Rich: I actually donât know. I can probably find out as we go through this but thatâs a good question.
Jon: Okay, maybe I have been paying more attention to analytics than I let on. Itâs true.
Rich: Okay.
Jon: Hello, international listeners. Thank you for listening. I have done my career largely working with international team and that started in 2001 at a company called StorePerform. We had a US-based team which is a really high-performing team. Some of the people at that team are now CTOs at major hedge funds that you would have heard of, theyâre Chief Architects at Nasdaq. These people were excellent.
One of them is a Chief Architect at Twitter, really good developers on this one team that I worked for in 2001. While I was there though, the leadership of the company was Indian and that guy [âŠ] decided that he wanted to have a team in India because thatâs where he had come from and he just felt like he wanted to pay back a little bit from where he had come and I volunteered to go there and hire a team.
In 2001, that was really early for doing that in Bangalore. When I visited, I didnât see other people that were on that trip doing the same thing that I was doing and it was very easy to find people. I went back two years later in 2003 and it was not that way at all. I havenât been back since, but I imagine that if I were to go there now, I wouldnât even recognize the place. It would just be a Silicon Valley of India.
Anyway, I donât want to make this too long of a story about myself, but the point I want to make in that is, after I hired that team in India, what we found was that we had two entirely different teams. We had one high performing team and one very performing team. Iâm not blaming the team in India; it was just a fact. We had a good one and a bad one.
Since then, I have worked with different teams all over the world. Iâve worked with teams in Nepal, teams in Thailand, teams in South America, and Iâve finally landed with Kelsus and building a team that I have been working with for the last 11 years that I would claim as a high-performing team. Theyâre a very good team. Chris came to this a couple of years ago with an entire careersâ worth of working for a high-performing [âŠ] and managing high-performing teams.
It was a journey for him, switching from working inside US teams to working with a remote team, and heâs been instrumental in taking the Kelsus team from mid to high to extremely high-performing. Chris, I just want to talk to you about that experience, about switching from working in the US-based teams to working with Kelsus. I guess, let me start by asking a question, what did you expect when you first joined us? What were your expectations coming in?
Chris: Just the TLDR would be, I expected the unexpected, really. I really didnât know what to expect and that this was a new experience. These two ways: one was completely virtual company which was somewhat new for me. I had worked in completely virtual company before. My bootstrap startup was a virtual company, but that was all with folks that I have worked with in person before, so itâs a little bit different.
Jon: Do you even work for Kelsus, Chris? We are not a completely virtual company. We have an actual office with people that show up every day in Resistencia, Argentina and another office in Corrientes, Argentina.
Chris: Itâs virtual to me. From my perspective, right? Itâs just a matter of what lens youâre looking at. But absolutely, yeah. We actually do have leases and physical office space.
Jon: Iâve just bring that up because in my own experience, Iâve been to those offices twice now, I think. It just blows my mind when I go there. Itâs like, âWhat? This company I founded 11 years ago have offices?â Okay, I guess we have offices. Itâs always surprising. Go ahead.
Chris: That was one major difference being a virtual team and then the other part dealing with non-US developers. Iâve had some experience with that, but more tangentially, like I said. I worked with a couple company positions. I worked for a mobile software development company and it was on the larger side for me. It was probably about 600-700 people when I joined, it did recently go public. They were still a pretty young company but kind of growing quickly. Engineering team was probably 20-30 people big when I joined at their offices that I was at, but it turns out that we actually had a whole offshore development team in India and actually growing that but for me it was a bit of black box. It was always a mystery.
Jon: That was so typical. So often companies just keep the teams separated, âOh, yeah. Thereâs that darkhorse team somewhere else thatâs overseas,â or in the Eastern Europe, or India, or [âŠ], or some other place China and the developers in the US donât even know what to do. I think thatâs sort of terrible.
Jon: Right. It was not a good experience for me. It didnât give me a high degree of competence in that model just because I didnât know what they were doing and why they were doing it and then they were working totally different hours. Itâs like, I would come in the morning and see the result of what had happened the previous night and now the build would fail. Just major spelling errors in the code and it was just like, âWhatâs going on here? Are we really paying for this? This doesnât seem like a really great deal.â
Jon: Just to interrupt you again, that was my initial experience at StorePerform too. Even though I went in Creative Team, I think people within the company that were above me that were VPs of engineering or CTOs or whatever were trying to take care of the feelings of US developers who didnât want that team to exist and were pretty vocal about, so they were just like, âYeah, Jon. You do the Indian stuff and make sure it doesnât impact the US stuff very much. Just keep them separate.â That was my job. I could tell that it just wasnât working and thatâs already a lesson learned. If youâre going to do this, creating us versus them situation with your remote teams is a good way to fail.
Chris: Yeah, absolutely. I think definitely hitting a very real issue there and it goes with the industry itself especially US developers. Thereâs this feeling of, âWeâre the best in the world. Weâre the only world-class developers out there and that weâre worth the most money. We have the best salaries, the highest rates.â If you go and hire a remote team or an international team, offshore, nearshore, or whatever it costs less and itâs not as good.
That whole mentality, I think, like what I said, what youâre describing there is like dealing with that, right, and managing. Thereâs managementâs perception or fear that the US-based team is going to have some morale issues, just perceptions issues with this work thatâs being done by these other teams. Thereâs not an integration. Itâs trying to build that wall between them. Itâs almost like, âDonât worry. Thereâs nothing going on over here.â
Jon: Exactly, which is not how the business sees it, so itâs incorrect.
Chris: Right.
Jon: That kind of leaves a bad taste in your mouth. Then another experience I specifically recall with you is when we were working together very early on where your company is a client of Kelsus, not directly. Kelsus was subcontracting for a different company that I shall not mention. You and I were working together. I remember specifically you sent me an email or a message that said, â Hey, whatâs up with this code?â And it was a code I got that still works with Kelsus and in fact I have written. It was like 100-characters long on a line of lots of weird node checking or something and it was just ugly to read. I just remember being like, âOh, Chris is reading our code. Whatâs going on with that?â That was unique for Kelsus. Can you remember that?
Chris: Yeah. I think it may have happened a few times. My role there was, I was the primary interface with you and that team. I was writing most of the backend services, the API, and your team was building the mobile client, and so at the end of the day, I was on the hook for making sure the whole thing works end to end, right? Part of that was just I was doing a lot of testing and using of that app. Getting the new builds of it, looking at it, of course, we have access to the code base. Until to this day, I do code reviews of all the codes thatâs coming through, but definitely looking at [âŠ] even just really quickly.
Jon: Youâre like the TSA random signaler of Kelsus.
Chris: Yeah. Itâs one of those things where thereâs certain things that just always stick out. In that particular case that youâre talking about, I think that was actually a bug that was causing a problem, and then I went and looked at the [âŠ] and when I saw, I was like, âOh, come on. This is not good.â
Jon: [âŠ] five years ago. I just remember seeing that and being, âWhoa.â Because (a) I knew you were not an iOS developer so I really didnât expect you to be looking at the iOS code. The other thing was sort of like, âHa, I wasnât even reviewing [âŠ] myself.â I was just doing some testing, some black box testing, but I was not looking at its code. It was like, âCome on, Jon. You know better. You should be helping that [âŠ] and the other people in the team are looking at their code and giving examples of what to do.â In my prior experience, I had seen that whenever I write code or thereâs another guy that we worked a lot with Kevin Barnes, whenever he would write a code, all of a sudden, the code of the rest of the team will start to look a lot like mine or like Kevinâs.
I was like, âOkay. The team is learning by example.â All of a sudden, Chris jumps in and heâs a like new example and shocked me with his quick mastery of Objective-C which is a pretty opaque language. If youâve never looked at Objective-C and you look at it for the first time, itâs hard to tell what function call even is. First was his quick mastery of that and second was he was really paying attention to our quality. I knew we could just wing it with Nick and Chris on the team. That one moment led to eventually Chris joining Kelsus. If you had not done that, I donât think we would have ever worked together. Isnât that wild?
Chris: Yeah. For sure. You never know the path you go down and what with the background and what not.
Jon: Right. It was you doing some feedback and ended up creating this great respect. Chris is really with it. Then you joined us, and as you said already, you knew to expect the unexpected. I think your first experience really working with us was actually meeting everybody in person. How did that impact you? What was your takeaway from that?
Chris: Timing worked up pretty nice. I joined in January, I had a couple weeks of getting settled in the team and networking on the virtual team and really interacting day to day via video calls with this team thatâs down in Argentina, but then about two weeks or three weeks later, we had an offsite in-person, but we all met down in Uruguay and I got to meet everyone face to face and spent a week down there with folks, getting to know them and their families, and whatnot. From a timing standpoint, very fortuitous. It helped establish does bonds and relationships, understanding some of the nuances, the cultural differences, and whatnot. It was just a great experience for me, for sure.
Jon: I think one of the things I recall you telling me, maybe you were just being nice to the new boss because that was the beginning of us working together. You said to me something more or less along the lines of, âI havenât really had the experience where Iâd like spending time and being around my fellow colleagues before.â Can you elaborate on that?
Chris: Yeah, I was totally lying. No, I meant it. I think this really goes to the really great advantages that Iâve come to appreciate working with international teams and especially our team in Argentina is the cultural differences. Here in the US, Iâve worked on very stressful, high-performing, high-demanding teams where itâs kind of you are competing against your fellow developers. Thereâs very real money on the line. Your career is on the line, stock options, bonuses. You are stackering against each other, so it really creates this culture of pitting you against each other. Youâre in that really high-stress, frenzy environment. The last thing I want to do is go hang out with these kinds of people right at the movies or something like that. It kind of discourages those emotional connections, the empathy. It very much dissuades that.
Jon: Right. The real players in a team like that, do you create the close bonds and then undercut each other.
Chris: The backstabbers. Thereâs all that, right?
Jon: Yup.
Chris: You can play the politics game and Iâm not just good at that. It feels so wrong to do that. With the coming of speed, mainly in the team in Argentina, the thing that really struck me is, âThatâs not the culture they have.â Itâs a we instead of an I type of philosophy. They love being just being with each other and working together and the wins are celebrated as group wins not as individual wins. They donât see each other as adversaries. They truly see themselves as a group of people, and to a huge extent, friends come first then work. Not to say that they donât work hard or theyâre very much high-growth mindset. They love to learn and collaborate. Itâs just a different cultural feel to it.
Jon: You just mentioned something about celebrating wins as a group wins, and literally today, I was just talking to [âŠ] and I was like, they were doing a direct messaging feature for ZooPix which is going to be awesome. Itâs going to be so cool for people in ZooPix to be able to just have conversations with each other outside the public view, but itâs been a bare and I just know itâs been a drag for everyone so I was like, â[âŠ], when you finish that, maybe you should have a celebration for the team.â Then it just occurred to me, I was like, âOh, maybe you should just include everybody else in the company too.â [âŠ] was like, âThat would be awesome,â and then it was like, âYeah, of course, you have to include the whole company because thatâs just how it works.â You canât have the ZooPix team have a celebration off by themselves. Itâs a company win.
Chris: Right.
Jon: Okay. I realize I interrupted you, and I donât remember exactly the point you are trying to make, but we are on this thing of your first impression of meeting the team and the group mentality that they had. I want to rewind with my first impressions of meeting the team because I met the core members of the team all at the same time just many years before you did. I just want to tell that story really quick because it was a similar story for me.
I was an individual contractor living in Uruguay with my wife. I had come from doing business development and product management at startups and before that development in Denver. We are spending a year in Uruguay just for fun, and I got asked by my client Tasks, which no longer exist unfortunately, but they asked me to go over to Argentina to hire a team. Actually, Iâll be very specific. Roshan Cholas who is still on the team was the sister-in-law of one of the founders of [âŠ] and she was moving to Argentina from San Diego to live there. She was going to marry [âŠ], theyâre married to this day, and he was going to be a seat member of a team in Argentina and software developers for [âŠ] and they were going to do Flex, Adobe Flex.
Then Kevin was like, âJon, go to Argentina and hire a team of Flex developers,â because Roshan was a civil engineer and didnât have the skillset to be able to hire a team. I flew from Montevideo to Resistencia, Argentina and [âŠ] had put a position description into this university, this National Technical University in Resistencia, and said that I was available for doing interviews.
The first ever person I interviewedâmaybe not the first personâbut I think Federico Tukey was the first person I interviewed. I was just like, âWow, cool. This guy is really enthusiastic. He has the fundamentals needed to be a software developer.â Of course, he doesnât know Flex and his work experience was this awful, terrible Java program that he had been working on for some company or government entity. It was so bad. It was like, âWhoa, I have not seen a software this bad since college.â
Then Fede got all his friends to interview too. Thereâs [âŠ], Raul Herrmann, Rodrigo Bechara, and Jonathan Diaz. All of those people interviewed. [âŠ] is no longer with Kelsus because he moved to Ireland. Got this really cool job in Ireland working for one of the biggest conferences in the world, but everybody elseâJohnny, Raul, and Rodrigoâare still with us. Actually, I didnât choose Rodrigo at first. I could tell that this was really hurting Fedeâs feelings that I didnât pick Rodrigo and it was a mistake because Rodrigo is one of our best people. I just wasnât seeing his dedication and passion for software development come through that interview so I decided not to go with him and Fedeâs like, âNo, Rodrigo is one of the best. You should hire him.â Later we did.
You just talked about how this group seems to care about each other and really, I hesitate to say family because thereâs a sort of a negative connotation, especially in the US of saying your team is a family, thatâs against the rules in the US, but thatâs sort of the vibe I got.
Chris: Yeah. Thatâs definitely the vibe that I got in meeting them in-person in Uruguay. Little things just blew me away. Like sitting at the dinner table and someone noticing that someoneâs glass is not full and refilling the water in their glass. Just watching over each other, that was just mind-blowing to me.
Jon: Right on. Weâve established that thereâs this different culture in Argentina in particular maybe just even the northern part of Argentina and maybe just this particular group of people, but I think the key is that different places have different cultural aspects. At the end of the day, thereâs still a need to be a high-performing software development team that has specific requirements. There are certain things you have to do to be a high-performing software development team despite or your culture doesnât really matter to that. You still have to do those things.
Chris: Right. It definitely wasnât all roses, right? Itâs like some of those initial impressions that I had of the differences between US-based teams versus international teams was true. There are a lot of great positive aspects that surprise me. Assets, strengths to be leveraged, but then also looking at the tools and technologies, the processes that people are using to develop softwareâs, it definitely wasnât at the level that I was used to. Definitely some challenges there is like, âOkay, how do we level up? How do we marry the best of both worlds?â Become a high performing team without being a bunch of ego-centered jerks better in a doggy dog world.
Jon: I want to get this point in to because I think this underscores why were even talking about this. Itâs been my experience and itâs our theory I think that time spent in a high-performing team is the best indicator of software skills. Itâs more than what university you went to. Itâs more than what your GitHub Repository has in it. Itâs more than what Udacity and Udemy courses you got in. In fact, those even maybe even make you worse sometimes. The best indicator of whether somebody has a lot of skill in software is how much time theyâve spent on high-performing teams. Agreed, Chris?
Chris: I think itâs definitely a very good indicator because by nature, high-performing teams, if someone is underperforming or is just not at the same level, theyâre going to get weeded out pretty quickly, attrition will happen. If you are part of a high-performing team and you stay there, it means that youâre probably a valued contributor and youâre performing at that same level. If youâre not, if it was a hiring mistake or youâre just not able to perform at that level or kind of hide behind other peopleâs work, people smell that and they know that. Thereâs also the resentment that comes on to play too. If you joined a high-performing team and then have actually stayed on that high performing team for some amount of time, thatâs a very good indication.
Jon: Right, thatâs our theory and then you come in and see this group of people that loves working together and loves helping each other out and essentially what you want to do is you want to apply what you learned in the high-performing team to this team, right?
Chris: Absolutely. Yeah.
Jon: Rich, how long have we been talking now?
Rich: Going on about 30 minutes.
Jon: At this point weâve laid the groundwork and we know where you came from and what your expectations are, I think itâs just been a fun story. I think what we should do is maybe finish off the story if there are other parts of the story that we should tell and maybe next week we can talk about, âOkay enough story time, how do you make a high performing team.â
Chris: I think weâve covered the landscape there. Itâs the typical US-based teams, expectations, culture and how folks work and this biased against offshore remote teams as being cheaper and quality not as high, not capable of doing the heavier lifting type of thing, and it definitely doesnât have to be that way. At Kelsus, weâve been fortunate to leverage some of these strengths and assets that come from this remote international teams, and then have the mentoring, coaching, the growth hacking, the growth mindset to level up and become a high-performing team. How do you do that? Weâre still on that journey. Weâve come a long way. We can get into some of the practicalities on that next time.
Jon: Yeah, I think letâs do that. In order to finish up story time though, I think thereâs one other story I want to tell to make one other point about high-performing teams. Thatâs a story about a small group of smart people over a short time can produce just about as well as a high-performing team without doing the right things and someone has to tell a story about that because itâs not the same.
This is sort of a fake high-performing team. We worked with a team at Intel few years ago towards the end of 2015, beginning of 2016 to produce musical experience for the keynote that the Intel is giving at CES, the Consumer Electronic Showcase, the biggest conference in the world, 600,000 attendees across 20 hotels in Vegas. Itâs ridiculous, itâs so big. They were giving one of the keynotes and I donât even know how many keynotes there were if it was the main one or there were 500 keynotes. All I knew was it Intelâs keynote and it was one of the first keynotes at the conference and it felt important to me.
What I found when we joined that team was that they were basically a bunch of really smart people that were driven by just a kind of an ego-centrical leader who was just going to keep adding until it was too late to add anymore. That was his mentality, âWhat can I squeeze into this thing and how much more can I add to it until itâs basically showtime?â I was like, âWhat is happening here? I think we did use Git but it wasnât even Intel one. It was some smart developer that I had worked with previously, we better use a repository.
Then we had no communication, but that same developer was like, âI just made my own personal [âŠ].â I was like, âReally?â and he was just like, âLetâs have this lighting feature. Letâs have this new configuration. Letâs build a monitoring system.â We just kept being, âOkay, weâll just try to add it and layer and layer more features just getting added to the point where in order to get the thing done, everybody had to stay in Las Vegas. Fortunately, at the Venetian for 14 days leading at the CES. Fourteen days straight and each of those 14 days we worked at least 12 hours, thank God Kelsus was charged by the hour.
That was it and it was Fede and me in Vegas trying our best to save the world and to do heroics to get the thing done. In the end, it went off. Iâm not going to say it went off without a hitch, but we did the performance and the keynotes was more or less a success. I think it could be successful with a little bit more discipline, but that is a surrogate for a high-performing team. It was a team of smart people that got a lot done in a very short amount of time with heroics. What we are talking about when we talk about high-performing teams is not that. A high-performing team is able to sustain high performance and you can only do what I said for a short time.
Chris: Yeah. You are also rolling the dice. Youâre not going to be, like in that particular case, it kind of worked out well, but it could have easily gone the other way and could have been a disaster.
Jon: Yes, exactly. Weâll talk more next week. Itâs going to be some sort of the things we talked about that make a great software developer, but more specific to remote and independent developers. People are out there on their own and doing this for Kelsus. Looking forward to that.
Chris: Absolutely. See you next week.
Jon: Yeah, talk to you next week, Chris. Thanks.
Rich: Later.
Jon: See you, Rich.
Rich: Well dear listener, you made it to the end. We appreciate your time and invite you to continue the conversation with us online. This episode, along with show notes and other valuable resources is available at mobycast.fm/71. If you have any questions or additional insights, we encourage you to leave us a comment there. Thank you and weâll see you again next week.
Posted on August 6, 2019
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.