Healthcare Software Systems

Episode 16

How to Contribute to the Open Source Community: Jeff Whelpley with GetHuman

Show Details

I’m honored to have Jeff Whelpley on the show. Jeff is the CTO at GetHuman, and a regular contributor to the Angular Open Source community through his video podcast AngularAir and the Angular Universal project.

In this episode Jeff guides us on how we can all contribute to the open source community.

Topics we discuss:

1. Jeff’s Background
2. GetHuman and Jeff’s Role There
3. Responsibilities of the CTO Role in a Small Growing Company
4. Giving Back to the Open Source Community
5. How to Give Back?

Related Links:

1. GetHuman
2. AngularAir
3. Angular Universal
4. Patrick Stapleton
5. ReactJS
6. Backbone.js
7. Rendr
8. Slack
9. Gitter
10. Seven Habits of Highly Effective people
11. Twitter @jeffwhelpley

Show Transcript

Carlos: Thank you for tuning to tech people, where real life tech practitioners share their professional experiences.

Hello and welcome to another episode of tech people, today we have Jeff Whelpley on the show. He is the CTO over at GetHuman which is a startup that helps consumers connect with companies and get to customer service easier which we all know it’s a pain and they do a pretty good job at it. Also Jeff is the host of AngularAir which is a live video podcast covering all aspects of AngularJS.

I already hope you enjoy this episode, we talk about a lot of subjects and one of them is giving back to the community which I think is really important. Without further ado welcome to the show.

One of the things that we wanted to touch on today was some of the context of what it is to be a part of leadership at a startup and also have the time to contribute so much to the open source community and do all these projects that he does. Jeff thank you so much for taking the time to join us on the show, how are you today?

Jeff: I’m doing well Carlos, thanks for having me.

Carlos: It’s a pleasure, as people do we were just talking about the weather here in Boston right?

Jeff: Yeah, I have lived in Boston ever since I went to college here at Boston College over a decade ago.

Carlos: Are you originally from Boston or where did you grow up?

Jeff: I grew up in New Jersey actually in a little town called Chester which is about an hour outside New York City. Then I moved up right after college and worked here for a couple years but when the dot com crash occurred in 2001 or late 2000 there wasn’t a ton of job opportunities here and I actually moved to the West Coast for about 8 years before moving back to Boston about 4 years ago.

Jeff’s Background

Carlos: Just so to give us a little bit of context again, you are very accomplished and your career and also known in the open source community around Angular specifically, how long have you been doing what you do to this day?

Jeff: There is I guess, different aspects of what I do, at a high level I got into tech in college. I was actually started off college wanting to do premed, I wanted to be a doctor really and-

Carlos: You and I both by the way.

Jeff: Oh really?

Carlos: Yeah. I did Biomedical engineering, then I did my MCATs and everything then I started the company in.

Jeff: Oh wow.

Carlos: This is your story.

Jeff: You went further than I did because I just liked the idea, I was interested in medicine but I think during college they give you these preparatory meetings at night, where doctors tell what the life is like, and some of the details. I just decided during some of those that it just wasn’t for me and I started looking for other things. Somehow I had always somewhat liked technology but I just started trying out a couple courses, and it just stuck and, I’ve just been super passionate ever since, so I got my CS degree at Boston College and got a job at a really hardcore consulting company right out of college.

It’s just sort of been, from there drilling into different aspects of technology, both from software development side like actually doing the coding, then more recently past five years doing a lot of product management and kind of product vision type stuff. As well as the leadership stuff and kind of growing teams and that type of thing. It’s one of these things where it started off just as a passion of technology and it’s kind of grown from there into today I do probably like a half a dozen different things including different aspects of technology.

Carlos: Right and we’ll probably jump on a few of those because that’s kind of the … What’s interesting is how you’re able to manage all these different things. You work at GetHuman right, that’s your day job?

Jeff: Yeah that’s right.

GetHuman and Jeff’s Role There

Carlos: What is Gethuman and what is it that you do there?

Jeff: Gethuman is a company that tries to solve a really difficult problem which is basically how bad customer service is. I’m sure Carlos you probably had to call a company at some point in your life to deal with some sort of issue right?

Carlos: Oh my God, all the time, it is the biggest nightmare and pressing all those buttons.

Jeff: Yeah I mean this culmination of the fact that it takes a long time and when you finally do talk to someone it can be very aggravating and at the end of the day the reason for that is that the power dynamic right now is all in the favor of the company. For the company they are focused on squeezing you in general this is, for your top value. There is all sorts of enterprise software built around getting the most value per user and companies action sort of center around that.

On user side, you have to deal with all these companies but you don’t have nearly the tools and the ability to manage companies in the same way that they manage you. That’s sort of the problem that we’ve always been trying to solve starting off with just giving easy ways sort of you don’t have to wait on hold for when you do have to call a company. That’s sort of where GetHuman started as this directory of tips and tricks through the call mazes, but now we’ve evolved since then to just solving the entire problem where you can kind of hire us almost like TaskRabbit style but focus on customer service and you just, “Here is $20, and okay I want to transfer my service,” or, “I want to lower my Comcast bill” or something along those lines.

Carlos: Oh wow, I was aware of what you guys did in the past but I didn’t know that it had evolved to something like that. I’ll tell you, I have a quick funny story, so last year my wife and I purchased our first house and it was, as you might imagine it was a big deal for us and just everything was very hard, being a business owner you have to jump through a bunch of hoops. One of the biggest hoops that we had, we had some issues with basically getting transcripts from the IRS to our bank to the bank that was going to approve us.

I kid you not, I probably spent one week where I probably was in the phone for more than 20 hours, on hold. Because there would be a day where I had to talk to somebody and I swear 4 to 5 hours to get somebody on the line. As easy as, “Oh no well we actually need this other thing, call back tomorrow after you got it.” I had to do that same thing all over again the next day and I mean, to this day I’m kind of traumatized by the whole experience.

I never want to call the IRS ever again, you’re better off going to a local IRS place. Like here in Miami you have to be there at 4:00 in the morning if you want to get in to get a turn for the day. I rather do that than be on hold for hours on end. You guys are solving that problem but doing it for people?

Jeff: Yeah yeah, and then the IRS is the worst, I’ll tell you that. In fact we have a free tool that anybody can use in general to avoid the wait time that if you give us your phone number we’ll call them and then just call you back once we have a live person on the phone, but for the IRS that tool, and the IRS and a couple other companies it doesn’t work because they have actually … The IRS agents have a script against us, like us specifically GetHuman. That when our robot gets through to them they automatically hang up, and also just their call tree, even if you’re calling, they regularly will just drop the call.

They just say like, “Oh too many, too many people are trying to call the IRS right now sorry call back later,” and they just drop you. One thing with our, you know premium, our concierge service, or whatever you want to call it where people pay us to solve their problem. Sometimes people do it to like solve like a specific issue like, get us this form with IRS or whatever but now because it’s so hard to contact them, people will just pay us to, “Okay you guys just get somebody on the line, then three way call me in, and like that’s all I want you to do.” Just so that they don’t have the problem that you dealt with of all the aggravation of waiting on hold for 20 hours.

Carlos: Understood, all right and so tell me a little bit about your role as … I know your official role is the chief architect, is that a different term of CTO, or do you work also with a different person who is the CTO?

Jeff: Actually in, I think the month or so since I talked to you last kind of preparing for this that sort of change. I am actually the CTO now, I know the title is like a small startup that’s the thing is that they don’t mean very much because at the end of the day when you have less than like 10 people everybody does everything to some degree. I mean chief architect, CTO chief technology officer whatever, you know that you are a sort of near the top dealing with technology and to be honest, even if I gave you a definition, people will have different definitions for these things so I don’t think it’s that big of a deal.

At the end of the day what I do is I am in charge of technology at GetHuman so that means not only today doing a lot of the development myself because it’s a smaller company but as we kind of grow it’s hiring all of the technical staff, I’m setting the technical direction. You’re deciding, basically having an impact as well on kind of product decisions on how we actually build our products and what we focus on.

Responsibilities of the CTO Role in a Small Growing Company

Carlos: Got you. Yes, there is not a big difference in the roles per se but it’s interesting to see how a lot of people that are in larger companies they might imagine let’s say, lot of listeners of the show are probably working at a corporation, let’s say VMware, Amazon, Google whichever you might imagine and there are more of what I call their day to day is working on user stories building products within a product team.

It’s interesting to get a little bit of the context of what leadership does and why there is a CTO in a company and that sort of thing and more than likely people know but at the same time it’s good to hear from yourself, so tell me a little bit about, what is a typical week look for you? Let’s say within a company that as you say is not as large yet but what are some of the responsibilities of this CTO role within a small company in growth mode?

Jeff: That’s a good question and before I start getting to that one thing I’ll mention is that, I did have in the past filled some of the other roles that you’ve mentioned. I used to work at Wells Fargo which is a very large company and I was an enterprise architect there for a little bit and then engineering manager. I understand at the larger companies how some of those, like some of those titles actually do mean kind of specific things and more segmented in kind of what they focus on.

For me now, maybe I’ll contrast as I kind of go through this, some of the differences with the larger company roles that I’ve had. Like for me right now, one thing that’s I guess different is that at the larger companies I dealt with we do planning on like kind of monthly cycles or maybe sometimes even multi-monthly cycles where we’re saying, some larger item, the businesses has all these queue of staff, and like okay, over the course of these next couple of months this is what we are doing. That type of thing is like impossible at a smaller company because things are moving so quickly and you’re doing so much that although you do think a little bit about stuff down the road, you have to, really every week, you kind of have to reconnect with everybody.

If you think of things in terms of the scrum cycles, the Agile cycles it’s really no more than a week because so much has changed so you have to say, in the beginning of the week, okay this is we’re at, this is what we have to focus on this week. Everybody is synced up now go do it. When we go and do it, through the week it’s a mix of, because I’m a smaller company I am implementing a lot of that myself but then also I need to set the stage for the next week of activities.

There is usually on my own personal board I kind of have a mix of specific development tasks that I’m deploying that week, as well as planning out like design stuff like trying to figure out for this particular product the overall user design so that, for the next week that someone else can start working on that. You need to be able to set things up so that you can quickly iterate. Then on top of all that, these past couple of months have been especially crazy because we’re trying to raise money so CTO, CEO at the top you … Especially for when you’re raising money there is all this extra responsibility to start going out, they’re talking to investors, getting other advisors involved.

It’s not just the pitching, when you’re raising money there is a lot of stuff involved with getting a whole horde of different people on your side and kind of pushing in your direction to help you kind of land whatever goal it is you’re trying to achieve in terms of investment.

Carlos: Got you, yeah there is a lot of moving parts that are running at maybe different speeds so you can’t necessarily just defer to like a standard Agile cycle, it’s like you have to be more agile than Agile is kind of what … Right?

Jeff: That’s a good way to say it, yeah, yeah.

Giving Back to the Open Source Community

Carlos: All right, but that’s the thing. I can imagine a little bit of that chaos and a little bit of what that looks like but I know that you’re involved in the open source community, in different aspects and with different projects as you mentioned, probably half a dozen. Let’s touch on a few, you’re doing AngularAir and so how do you have time for AngularAir, and tell us a little bit about AngularAir for those who don’t know what AngularAir is?

Jeff: Sure, first Angular which I know Carlos you do some work with Angular right? It’s a frontend Javascript framework that’s used for building web applications. Actually with the more recent version of Angular they sort of expanded so that focus is on building apps in many different types of environments so not just web apps but also mobile apps and desktop apps, and that type of thing.

AngularAir is an online video podcast so that’s the extra element of not just audio but video to go over various topics in the Angular community. So typically we balance between discussion shows where we kind of just talk about the latest happenings in the world of Angular to more focused kind of tutorial shows where we’ll take something like the UI router for example that we did this week. We’ll have the main maintainer of the UI router project and he’ll come on and give 3 tutorials where we’ll comment on as he’s kind of going through it, ask questions and that type of thing.

It’s almost like an type style tutorial except you have other people involved that are kind of giving feedback in real time. That’s working well and I’ve been doing that for about a year now, a little over a year. Then it’s a lot of fun, I know you do this podcast obviously and I think for people that do it it’s a great way to like meet other people and kind of stay on top of a lot of different stuff.

Carlos: Yeah but it is a lot of work and I tell you it is … I’m able to spend a lot of my time doing this, and I also have say the day job responsibilities but how do you do it, how do you … When I say how, I mean specifically like do you do this after work, do you do this in the office? How do you execute it?

Jeff: I would break down to like three different parts, so there is the actual show itself, like when everything is happening and we’re actually recording the show. That in some ways is the easiest because you just have to like, you’ve already done all the prep and everything you’re just doing the show. It’s just a matter of allocating that hour so I do that during the week and it’s just one hour a week during the week that I would do that on Tuesday afternoons.

The harder parts are the two other parts as far as time consumption and managing that, so one is, a lot of the nitty gritty for like editing the audio, and like making sure the website is up to date. Like all of the stuff like the prep for it and then afterwards post production. Now, for that I have started to like automate/kind of defer some stuff to a production company that I use. That helps a lot, but it doesn’t solve everything. It’s not like you can just throw everything over a wall. It’s more been like an ongoing process of like figuring out how to like slowly start pushing more and more over to them.

Then the kind of third part is that last remaining stuff that I basically can’t have them do yet that I still have to do, and for right now for me for the show it’s actually like finding guests in the first place, like doing the sort of cultivation and talking to them and like kind of setting things up in that same point and then like coming up with the initial topics and like the outline. There is a lot of stuff that maybe I would never outsource anyways but that is more of an … It’s the hardest I say because the time needed to do that is like more unknown, like sometimes it could be quick sometimes it could take many hours.

Carlos: Right because in the end you want to have quality in the show, you don’t want have somebody come on the show without a purpose in mind. You want to have a little bit of a curation in what everything looks like. It seems to happen to me with this show is we have different subjects that we cover and not just different subjects but also different people have different experiences so that’s why it’s called Tech People at Work is we want to know what that work means for them because everybody, work means very different things for everybody.

We recently had one of the chief technology and I apologize because I forgot his full title but he’s like an agency CTO at NASA on the show. His day job is very different, he’s in a public, he works with the government so it’s like a different ball game and I had never been exposed to this sort of thing to his worries. Like he’s worried about things that maybe you and I don’t care about, for example like plugging in those E-cigarettes, you know how they need to be charged, so you need to charge them. People charge them using their USB port, it turns out those thing can have malware and you know who cares about malware and security? The government, especially NASA.

It’s interesting to hear that point of view but then also hear your point of view. You got to prepare for those things. Also aside of AngularAir though you are also part of an open source project, Angular Universal right?

Jeff: Yep, that’s right.

Carlos: How do you do that to this date, is it you doing main contribution or do you manage the project overall?

Jeff: I’m definitely not the biggest contributor to this library. I was at the very beginning of it but Patrick consistently, Patrick Stapleton who’s the person who started that library with me over a year ago. He continues to be the person who contributes the most code to it and then some other people who’ve come and jumped on board since.

Carlos: He’s at GDI2290 right?

Jeff: Yes, that is right. That is right. He’s the best, I love Patrick. Basically what Angular Universal is, is a library that is part of the Angular 2 Core that allows Angular 2 to run on the web servers. It’s mostly used for like SEO purposes or when you have a publicly facing web app and you want it to be search indexed or you want it to load very quickly in the browser, that’s what it’s very good for us. It’s one of these things that was almost impossible in Angular 1 to do something that React … You were able to and a lot of people who were excited about when the React came out. They made it a big point to build for the internals of Angular2 this ability to render in different environments.

The thing that Patrick and I have been working on here sort of takes out and runs with it. There’s … It’s as way things where it is at the end of the day something in some aspects is so small and simple. I mean you are just talking about the initial, very initial load of a web app. When you first click, type in the URL and you go to a page and then that’s it. It’s just with that first load up of the app. From that sense it’s like this small simple thing but it has such a big impact. It’s so impactful for publicly facing web apps and there’s like … The library is pretty intricate in terms of there’s so many different pieces involved with it that when you start actually building it in and expanding on a lot of features. You realize that this could … What someone might think is like weekend project. It really is like this multi-year effort to build this perfect tool just to provide this 200 millisecond of experience.

It’s kind of funny from that perspective but, it does a lot … Anybody who is creating publicly facing web apps love it. They love the fact that it’s part of Angular 2, they love that Angular Universal exist so we’ve been getting a lot of great feedback

How to Give Back?

Carlos: The natural question of course is, let’s say some of the people that are as an engineer again working in that team and they hear this podcast and they see what you’re doing. We all know the benefits of contributing and giving back to the community. Let me put that in better terms, I don’t think everybody knows I think they’ve heard of the benefits right? They fantasize of the benefits, but they don’t know how to get started. I think the first question is how does one get started? Let’s put it in perspective for you. How did you get started, how did you think that this was a good project to start working on and making a part of the open source community for Angular?

Jeff: Yeah it’s a good question. The way I get started is, I’ll talk about my specific thing and then I’ll talk more general about how kind of, I think other people can usually get started. For me specifically, about three years ago, we had a very specific problem at work that we were trying to deal with. That GetHuman back then was just focusing on like the contact information thing and we were just starting to talk about expanding out and doing all these other crazy things.

One of the important requirements that we had for this new app that we were building was that it had to be search engine friendly like we are a publicly facing site that gets a lot of organic inbound search traffic but it had to have a lot of real time features, a lot of using … Where we use Firebase but whatever. You happen to use to provide this kind of real time feel and interactivity once it uploads up, the page loads on the screen. Mixing these two worlds that started me down this path. Back then … Again this was like three and a half years ago or so React wasn’t really much of a thing and Angular 1 definitely was just in its infancy and didn’t really have … It definitely did not have anything like this.

There’s really just Backbone and if you remember there was a library called Rendr that Spike Brehm from AirBnB had created. That was really the only thing out there for the most part that to do this type of thing. Basically because nobody else had created it and we really needed, this was a first class citizen important thing that we needed. I just decided, “Okay I have to build this.” I started building in … I started trying to use Spike’s library but I realized that it probably wasn’t the best idea to build everything off of Backbone like Angular was starting to really be up and coming so I said, “Okay I’ll just do what Spike did with Backbone for Angular.” I’ll just build the equivalent right?

To be quite honest, if I realized how hard that was back then I probably wouldn’t have done it, I probably would have given up a long time ago. I started naively thought that it would be like this just couple week project and fast forward I think it took me probably six months to get out the initial prototype. I definitely realized how in-depth and crazy it was. I ended up having to do, I went through a number of different iterations and I ended up to actually create my own completely separate library not … Although it took Angular 1 syntax and the code of Angular 1, it was a completely different rendering engine like that I just kind of duplicated some functionality and kind of wrote it fully separate because the core of Angular 1 was so intricately tied to the DOM and to the browser that it was just impossible to do it.

By doing that and that experience and as I was doing I’m like, “Oh maybe I should open source this because this is something that people would find useful.” I did try to open source that, the problem was because it was sort of this tack on thing that … I mean really was a hack at the end of the day and not really generalized to meet everybody in the world’s use cases. I did have some people trying it out and using it but they ran into a lot of issues and I just didn’t have the ability to support it. I was frustrated, I was starting to think about how I could deal with that when Angular 2 came along.

It just was this confluence of different serendipity or whatever you want to call it, different things that Angular 2 did have the potential at that time to do server rendering but it didn’t actually have that functionality yet. I had just started to make more connections with the Angular Core team and Patrick Stapleton started talking with me about this too, that all these different events coming together that, I was like, “Okay all the stuff is aligning, let’s just work on this all together.”

It just worked out that we were all kind of at that point that we all needed it. I needed it for work they wanted it for Angular Core and so we were able to build this more general library for Angular 2. To shorten that story is that, and sort of how I can translate that to the more general thing, is that I was able to align my needs for work with doing open source stuff. That’s why it really what made it possible whereas, I don’t think I could do it if it was just this ancillary thing that had nothing to do whatsoever with what I was doing at work.

Carlos: Before we jump on giving people some ideas of how they can start. Let’s get them excited though. I mean if you can and I’m sure there’s many but, how has it changed your career? That’s a question and what benefits have you received from this right? You say you wouldn’t have done it but would you like knowing the benefits that you might have gotten from it. How has it benefited you outside of the day to day job? Give us a little bit of that upside of it.

Jeff: Yeah there’s definitely a couple things there. Number one, it’s just been personally gratifying to me. I personally like helping other people. It brings satisfaction to me when I know that I’m not only solving my own problem but I’m solving other people’s problems and I get that good feedback. Whether I do and work outside and it just happens to be that because the Angular Community is so big, when you are able to make a good contribution, you get a lot of great feedback. Like there is this just positive, really good feeling when you talk to people. That’s just like, more like makes me feel a bit personally right? But a little more substandard … Actually one more thing along those lines is it was pretty amazing at ng-Conf this year, which I think you, were at right Carlos?

Carlos: Yes I was there, I think we, and I didn’t see you or we didn’t cross paths. You guys were busy. You were doing a show there right?

Jeff: Yeah, we did a show, we had a tutorial, we had our talk, we had a whole bunch of stuff going on. That was imagined is that that ng-Conf this year was amazing and for me … I said earlier in this show that I wouldn’t have done it again but you’re right. I actually would have, part of it because during ng-Conf like just seeing not only with the feedback from our own stuff they were doing there, our own talk and tutorial and workshop or whatever but also like Brad for example.

Brad Green, the head of the Angular project during both of his keynotes, talked about the work that we were doing and talked about a lot the stuff that our contributions that just made my day. Like that made it like all worth it almost right? Because you can see that how someone you respect greatly, sort of shows his respect for what you’ve done. That’s just like there is nothing better in the world than that.

Carlos: I’m sure it becomes self-gratifying but at the same time it also pushes your curiosity forward … That much forward because you know that if somebody were to change, you know you don’t need to be worried about finding a job, putting it lightly.

Jeff: That’s true but that leads me to like two other things that have been benefits like actually within the work realm. From recruiting stand-point it does helps, no doubt. I do spend a lot of effort keeping close ties in the Boston community with developers here and even if I didn’t have my contributions, I think I would have good relationships with the local developers but it helps even more. It like puts it in another level because now when I go out to meet ups, go talk to other developers is that actual level of recognition. When I hire people it just makes things easier so like recruiting for sure, it helps.

The other aspect of that is I mentioned that I’m trying to raise money. When I go to raise money and I’m in these meetings with investors, one of the first things they do is kind of look up information on you because many of the VC Firms out there value the founders almost more than the idea itself. They’ll take a mediocre idea and great founders over the reverse any day of the week like over a great idea and mediocre founders.

They do their research into you and when they see that, I’m leading this open source projects that I’ve spoken at these different events about that project and that type of thing. That actually carries a lot of weight because they know that that will translate to not only shows your expertise that you can kind of deliver that work but the whole recruiting aspect if they know that for when they’re giving you lots of money, you need to hire a lot of people. If you have already shown kind of this ability to work with large groups of people and kind of bring other developers in that they can trust that you will do that with their money as well.

Carlos: Right, the leadership aspect of it that you are a thought leader and a respected person in the community.

Jeff: Yes.

Carlos: So you see there is tons of benefits. How can … Let’s say you are talking to somebody who is a senior level engineer working within … Lets make it very simple, somebody working, let’s say within a engineering team in a consultancy even, somebody who is not, who is not even working at Google because there is a few people that work at Google if there is hundreds or thousands or whatever but the majority of engineers in the world don’t work at Google right? Or the large companies. How do we get them started? What would you advise to a senior level who’s never contributed though, how can he start? What the first step?

Jeff: The first thing I think is not even necessarily contributing but just listening. Listening in my mind means, you know could be as simple as watching a certain GitHub issues on a project that you use at work or even better if you can get on like a Slack Channel where people are very active Slack Channel or Gitter channel where people are talking about the project that you use at work. You just kind of in the background or periodically kind of stay involved in that conversation. Just like very entry level, like you are just started opening the doors. Next level up is where, again, aren’t necessary even contributing code but you are starting to help other people, so you can help people without contributing code in all those different channels whether it’s Slack or Gitter or Github.

The maintainers of the project love, they love so much when somebody from the outside comes in and answers a question. Could be a simple question but if somebody else answers the question that like makes their day because a lot of times, I don’t know the percentage but maybe 50% of people that post questions or stuff that everybody, people who have been involved with no, but it just creates noise, it adds extra time, heartache in responding to them and like kind of working things out with that person et cetera.

If you can, like for that next level up just do a little bit of that that will get you more involved and it starts to get you noticed by everybody in the community like there is all sorts of benefits there. Then the next level above that is where you actually start contributing. Where you actually start pushing some coaching juice and this one is a bigger hump to get over, like mentally that is, because if you haven’t done it before, it seems like this big onerous thing, right? The only thing I would say to that is that, in almost all cases it’s not as hard as you think. If you just like force yourself almost like, “Okay I’m going to do this,” and just kind of force yourself to do it once or twice it just becomes a lot easier.

There are some exceptions like, if you wanted to contribute something to like Angular core to like critical piece, there are a lot of hoops you got to jump through? I wouldn’t see as that for first timers like trying to contribute that could be pretty intense but there is all sorts of stuff. Like let’s say when even with Angular Universal or like any project there is a ton of first timer issues and most of them … A lot of Git repositories will have a specific tag for first timers because they know that this is like an easy issue or something that someone can quickly churn out. Just do a couple of those, get familiar with it then you can go from there. That would be my sort of stepping stones towards getting involved in open source.


Carlos: This has been an awesome advice because I think yes there is some whatever barrier … It’s really good feedback because it could seem like a big hurdle to get towards feeling like a contributor. I think those early steps are definitely are important so that you can start getting that context. I have three last questions for you and they are more toward kind of your … Towards you basically. What advice would you give yourself if you met yourself say, 10 years ago or 15 years ago and you could tell yourself like one thing what would it be?

Jeff: I will tell you one thing that I have thought about but then, so I’m going to say this but just realized that like I always hesitate to think about this too far because at the end of the day, it’s like the butterfly effect. If you like think too much about what you will change then maybe some of the good stuff that happened since then would have changed like some of the … You always got to be careful, right? That said I would talk to my younger self and try to leverage a lot more the time period when I just graduated from college and I had a girlfriend at that time and we got married a couple of years after college but essentially in my mind, until you have kids, kids is like a pretty big jump in terms of life.

It changes how you think about things, it changes how you prioritize and it’s not that you can’t do things but once you start growing a family certain things become a lot harder. You have to do a lot more, when you own a house you have a big family and et cetera. I don’t think I appreciate it enough and I don’t think most people do when you are more unencumbered, when you are just either in college or right out of college, to try to do the types of things that will be a lot harder later.

That would be, you know starting companies, it would be travelling. I’m just speaking like two ends of the spectrum. There is, for starting companies there is huge time sync, there is huge stress thing evolved but most people starting companies are younger because it’s just hard to do when you are older. Like it’s hard to manage that when you have a family. Same thing with travelling the world, taking a month off to go all sorts of different places around the world. It always seems like you never have time for that but for sure you have less and less time to do that as you get older.

Carlos: Also the ability of taking those risks because now somebody else kind of depends on you so you can’t take those risks.

Jeff: Exactly, exactly.

Carlos: What will be, I was going to ask you for a book that you recommend, but it could be a book, it could be a resource based on these different subjects we talked today. Do you have anything we could recommend?

Jeff: There is a lot of books I like so one, I have many favorites but this is just one sort of foundational one and it’s an old one. There is, “Seven Habits of Highly Effective people.” I feel like a lot of these, these self-helpish type books, recycle a lot of the same content but for me I’ve always found that, that was one of the first ones of that sort of realm of books that I read back in college I think I read it first. It just changed a lot in the way I viewed the world and I go back and I reread that probably every couple of years and its classic but I find it extremely helpful and I would recommend it. If somebody hasn’t read it, they, you definitely should.

Carlos: All right. That’s a good recommendation. I have seen that book around my house since, I I don’t know since I have memory. My mom always had it and I will tell you the truth, I have not read it, so I’m going to follow on that advice. I’m not kidding when I was, maybe in my childhood, I remember seeing that book in our book shelves and I just never got around to it but I’m going to check it out. The last question Jeff is how can people find you and your work?

Jeff: The easiest thing to do is to find me on twitter @jeffwhelpley and go to our website You know between the two of those you can follow pretty much everything that I’m doing because I do tweet pretty regularly about what I’m doing both at work and in open source projects. Then when you do have any sort of any customer service problems, definitely come to GetHuman and we have free tools to either you can help yourself out or if you just don’t want to deal with it, you can pay us and we’ll deal with it for you.

Carlos: Well, Jeff, I want to thank you so much. I think this has been an amazing interview, getting the context of what you do and how you do it is very, very important for people that don’t have that exposure and don’t have that experience because it’s one thing to know it after the fact, like in your case or people who know you or that in similar situations but for those who are not there yet I think it’s a huge privilege to hear first-hand from you.

Jeff: Thank you Carlos I had a great time and we got to get you on AngularAir man.

Carlos: Hey, I would love to come on AngularAir. I know that my co-author of ng-Book is part of … Goes to AngularJS a lot, Ari Lerner

Jeff: Ari is a panelist, so let’s plan on maybe in September something like that. Can you guys learn to talk about ng-Book?

Carlos: Oh I’d love to. I’d love to be on your show. Jeff once again, thank you so, so much and I hope to see you soon.

Jeff: Thanks a lot Carlos talk to you later.

Carlos: Thank you.