Chris Castiglione Teacher at One Month. Faculty at Columbia University where I teach Digital Literacy. I write about coding, the internet, and social impact.

How I Got Hired at GitHub

36 min read

​Joel Califa is a professional problem solver. He’s a successful designer, developer, team leader, and overall self-proclaimed generalist. His current role is as Senior Product Designer at GitHub.

A few years ago, Joel Califa’s web design portfolio went viral.

Joel Califa Web Design Portfolio

In one week Joel’s portfolio was at the top of both Hacker News, and Designer News. Why? “I think it was because what I did didn’t really exist that much at the time,” Joel told me.

What had he done!? Joel created a portfolio that was straightforward, minimal, and it included long cases studies. In short, Joel did something called “Boring Design.”

Since then Joel’s career has led him to the role of Senior Product Designer at two well-known digital companies: Digital Ocean and GitHub. Over the years, Joel has interviewed hundreds of job applicants (both technical and non-technical). Last week I sat down with Joel to ask him, “What advice do you have for someone trying to get hired at GitHub? And what rate should web designers be asking for 2019?” 

What is Github? Git, the technology behind Github, is used by nearly every professional developer in the world (or at least, it should be). And Github, the leading company (and website) using Git, allows you to upload, download, collaborate and store revisions of projects. It’s a big deal. How big? There are over 60 million projects live on Github! 

In this episode you will learn: 

  • How Joel Califa prepares for an interview
  • How to get hired at GitHub
  • How much money a web designer makes in 2019
  • Interviewing tips for getting hired as a web designer 
  • Joel’s favorite web design tools and apps
  • Salary negotiating tips anyone can use!

PS. 🐶 Please subscribe and rate the Learn to Code Podcast on iTunes!  ❤️

iTunes SubscribeYouTube SubscribeStitcher SubscribeSpotify Subscribe

When did you decide you wanted to be a web developer?

Joel Califa: When I was, I think around 10, I joined a computer class after school hours with a bunch of kids my age where we did Visual Basic and C++. And, QBasic, of course. I think that got me into it. I was excited about doing all this sort of stuff. Then I stopped doing that for a while. I don’t remember the exact timeline, because I don’t remember anything.

Chris: Was coding cool at the time, or a chore?

Joel Califa: No, it was cool. It was something I wanted to do. Learning to code wasn’t school related, it was just [extracurricular].

Chris: This was Tel Aviv?

Joel Califa: 10 minutes away from Tel Aviv. If you want to think of it as Tel Aviv, you can. So, I went to this basement full of old computers, and we did QBasic. It’s not as sketchy as it sounds.

When you were growing up, were other kids coding? Or were you on your own learning?

Joel Califa: It was on my own. I think I met some friends there, but I didn’t go with anyone. I don’t remember how I got into it. We should get my mom on the podcast. But yeah, I’ve had access at least to a computer since I was like six, played a bunch of like old-timey computer games and just going online and looking for cheat codes.

It came pretty naturally to me. It wasn’t like, “Oh, what’s this thing? Let me write some stuff.” It was like, “Oh, I wonder how I can create a program like the ones that I use.”

What did you study in college?

Joel Califa: Design and Technology. I stopped coding for a while because that stuff was just a hobby and fun. Then I think maybe two years later when I was like 12-ish, I learned HTML.

You learned HTML when you were 12?

Joel Califa: When I was 12, yeah. Everyone at that age learned HTML.

Chris: Everyone in Israel?

Joel Califa: Everyone who was a nerd and online, because everyone else had their personal websites and webrings. If you wanted to be part of that community, or you wanted your space within it, which everyone did at 12 because everyone thinks their voice matters. Well, today as well, but everyone thought their voice matters and wanted sparkle gifts online.

So, I learned HTML. I think this also had to do with … I don’t remember what came first, but I was part of this site called Neopets. Neopets was this online site where you could have your virtual pet, kind of like a Pokemon type deal.

Chris: Like a Tamagotchi. We used to have those.

Joel Califa: Totally. I think you can make them fight too, so maybe more like Pokemon. The site had an auction house and so many mini-games and its own economy. It would be huge today. It could build a page for your pet, like pet pages.

So you learned HTML because of Neopets?

Joel Califa: You had to code the page yourself because they didn’t have any WYSIWYG thing as far as I remember. They had a page to like, “Hey, learn HTML.” It was like a W3Schools type of thing like, “Here’s all the stuff you can do.” That was like a gateway drug, and so many people around me also got into it. Actually, today, if I tweet out, “Hey, who learned to code through Neopets?” So many people are going to respond that are around my age group.

Chris: Wow! Is it just an Israeli thing or is it also American?

Joel Califa: No, no, it’s actually almost not Israeli at all. People who are Americans, and in Australia, and all over Europe.

Chris: That’s great. I find it interesting that this was your gateway because I feel like every designer or developer has this gateway moment where they see something, you know, that moment you see something, and you’re like, “I want that, I can do that,” and it unintentionally pulls you in. It sounds like that’s what happened here. It wasn’t planned as much as it just kind of happened.

Joel Califa: Yeah, I think so. Then I just kept making things.

What was the first website you ever built?

Joel Califa: What’d I make? A client website for Counter-Strike. My own website with my own phpBB forum for graphic design. What else? I started freelancing a bit, making a bunch of sites for people, horrendous sites.

When I was, I think 14 or 15, I had a summer gig making an intranet for a company with my cousin. I built, or I designed the intranet with these big aqua buttons, like this circular gel buttons. Absolutely not appropriate at all for a serious tech company.

Chris: Yeah, they were all over, I want to say it was the late 90s, at least in my memory. When Apple came out, that was all those colored apples, and then every button was glossy or embossed. Is this the kind of a thing?

Joel Califa: Yeah, it was like 2000-…

Chris: 2001?

Joel Califa: 2002.

Chris: Yeah, there was a time when all the buttons were like that. The web seems to have these designs, and you would probably be able to speak to that more than I would.

Joel Califa: Yeah, different phases. I made a grunge website. You remember all those grunge brushes where everything was textured and distressed?

Chris: I don’t remember that. I mean, if I saw it, it’s probably one of the things I’m emitting from my memory because this doesn’t sound like a good period of my history.

Chris: So then you learned how to build an intranet?

Joel Califa: No, my cousin built it in ASP, or .net or something and I worked with him through that. I coded at this point, more or less, you know what I mean? I learned PHP because I needed to put the phpBB thing together, and I wanted to code up a blog from my site, which needs basic CRUD stuff.

What is CRUD?

Joel Califa: Create, read, update and destroy.

Chris: Dude, you got it? The basics of databases, CRUD. Was this the first project that you accepted money for? Because, I do feel like there’s a lot of people who are getting started as designers and developers and you’re like, “I’m pretty okay,” but asking someone to pay you for it sometimes feels a little bit intimidating.

Joel Califa: Sure. Probably that summer gig was the first one and then from there, I started making some band websites, mostly for free and album covers.

Chris: That’s how I got started, band websites. I was a music major, and I just needed a website for my band. That was my gateway, drug or whatever you want to call it.

Joel Califa: That’s awesome.

Chris: Then everybody else wanted one.

Joel Califa: Yeah, I took money for some of those. Yeah, that’s it.

Chris: Then you just made it happen.

Joel Califa: Yeah, from there on just more and more stuff. Mostly website. I started with web design.

When you were learning to code, what was your favorite tool for designing websites?

Joel Califa: Photoshop probably. Photoshop and just a text editor of some kind.

Chris: Okay. I think that makes sense. 

Do you still use Photoshop?

Joel Califa: I don’t. I mean, rarely ever. I use it for what it’s meant for now.

Chris: Which is photo editing.

Joel Califa: Right, exactly. Photo editing, or creating memes, I don’t know.

Chris: You used to be able to make entire websites in Photoshop, export HTML, all this kind of thing.

Joel Califa: I don’t think it’s ever had export HTML, but you would slice it up and then you would just put it on a website. You’d have to download an entire image basically.

Chris: Basically, or just the sliced up image.

Joel Califa: Yeah. That was the way to create buttons once. If you wanted rounded buttons, you had a thing called the Nine Grid, which was, you had to slice up your button into nine pieces.

Nine Grid Button Example
A nine grid button was one image of a button that you’d slice up into 9 smaller GIFs or JPGS and reassemble as a button. Today web developers no longer use the nine grid method, and instead just use good ole’ CSS to get the job done.

Chris: I didn’t know it was called the Nine Grid, but I know exactly what you’re talking about.

Joel Califa: Right, so you have one piece for each edge, each corner.

Chris: The round button, it was a grid of nine pieces to make them come together.

Joel Califa: That’s so you can grow the button basically. It’s basically a little table, and each thing is a separate link. It can scale that way because it knows like, “Oh, this is the background, the repeating background.” It’s a mess. I’m so thankful for CSS.

What is the modern way to make CSS buttons?

Joel Califa: You set a border radius on a button and set it to whatever you want, and it’s automatic.

digital ocean homepage

What is Digital Ocean?

Joel Califa: It’s a cloud hosting platform. The most similar thing to it would be AWS. It’s like a simpler, better-designed version of AWS.

Chris: So, it’s a place where I could get my website live, but it’s particular types of websites or apps that I would use. Like if I had a WordPress blog, I wouldn’t come to DigitalOcean?

Joel Califa: Actually, you could. If you open DigitalOcean, there’s a one-click install of WordPress, and you just have it on your server.

Chris: I didn’t know that.

Joel Califa: It makes it pretty simple to do a lot of stuff, but then you have something “as simple” like WordPress. Any kind of app you can host on that really.

Would you recommend Digital Ocean for new web designers and developers?

Joel Califa: I think it depends on what you’re interested in. If you’re just creating like an app in Rails or something, you probably might want to do Heroku or something that abstracts away all of the hosting stuff. DigitalOcean doesn’t abstract that away. It makes it really easy to create, but then you have full root access to your server, you can change its configuration, you can jump in. If you have any interest in that at all.

Chris: At DigitalOcean, you can configure is what you’re saying?

Joel Califa: Yeah, yeah. It’s also cheaper I think than Heroku.

Chris: But it’s maybe a little more expensive because you have to do all these processes.

Joel Califa: In that sense, in the time since for sure. But if you really care about making things right or even learning about any of this like sysadmin server stuff, then it’s a really good place to go.

Chris: Would it be like AWS and Digital Ocean, is Linode in that as well?

Joel Califa: Yeah, totally. Everywhere that gives you a VPS, a Virtual Private Server.

How did you get a job working at Digital Ocean?

Joel Califa: That’s a good question. Three ways actually. I was at Amicus before that, which you know. Amicus is like a social outreach platform that used Facebook to connect you with friends of friends and neighbors for social causes.

Chris: Yeah, it was a wonderful idea, Seth Bannon’s company.

Joel Califa: It’s fantastic. We worked with the HRC and Rocana.

Chris: HRC is?

Joel Califa: Human Rights Council. And like, Moms Demand Action Against Gun Violence and a bunch of really awesome causes. That comes for one reason, or another reached a point where it wasn’t sustainable, at least in its current form and so a lot of us, basically all of us had to find new jobs. So, I did it in a few ways. First, I built a portfolio that went semi-viral.

Chris: Your portfolio?

Joel Califa: Yeah, my portfolio. Not the one that’s online now, the previous iteration of it. It got a lot of hits very quickly and a lot of interview requests.

A few years ago your web design portfolio went viral, can you tell us why it attracted so much attention?

Joel Califa: I think it was because what I did with the portfolio didn’t really exist that much at the time. I guess I’m what you might call a boring designer. Cap Watkins coined that, in the sense that I don’t really make shiny things, and I’m not attracted to shiny things. What I care about is the decision-making process, and making things happen, and models and flows and things like that.

Read more about: “The Boring Designer

The way my portfolio differed was with very long case studies, so I called it a text-heavy portfolio. I don’t know, I think maybe it was luck, perhaps it was just instinct that it happened to hit on something that people were interested in and would resonate with. But now you see that everywhere, and I think it’s awesome that it’s everywhere. But at the time, for one reason or another, it might’ve been the copy, it might’ve been something, but people really enjoyed it and shared it, and it went a bit viral.

Chris: Do you think it went viral on Hacker News or…?

Joel Califa: It was on Designer News at the time.

Chris: So, it hit … I’m trying to trace. It hit something and exploded.

Joel Califa: It started out with Designer News and then exploded.

Chris: Which was a newsletter right?

Joel Califa: Designer News was kind of a Hacker News for designers.

Chris: Got it, okay. Does it still exist?

Joel Califa: It still exists, yeah. It’s probably more popular than it was then. With the popularity comes some stuff that Hacker News has. Anyways, so the hiring manager at DigitalOcean saw my profile featured in Designer News.

Chris: And reached out to you?

Joel Califa: No. He saw that, and at the same time, I applied to DigitalOcean because I had seen them at a bunch of hackathons and I thought it was a cool company. Then at the same time Seth, the CEO of Amicus, sent out an email to a bunch of our VCs. One of them was IA Venture, who was shared with DigitalOcean. And so, you got me from three different directions with the CPO of DigitalOcean coming, Seth forwarding him that email. It was just serendipity.

Chris: They say that with marketing. I don’t know if it’s true or not, but you have to see a message four or five times before you buy the product, that’s what it is. So, maybe you were the product, and he just couldn’t help himself.

Joel Califa: Maybe yeah, he bought me.

Chris: He bought you. Take one of those. That’s great. That’s really exciting. I love that story. I didn’t know that. So, then you started at DigitalOcean. What was day one at DigitalOcean like?

Joel Califa: I pushed some code on day one. I think it was definitely HTML and CSS, and probably some Rails.

Chris: So, they put you on some feature, and they were just like, “Go and do it.”

Joel Califa: Yeah. There wasn’t really much onboarding when I joined, there were 60 people. Digital Ocean was in New York. The entire company was 60 people. It was about half remote. I think I worked on a thing that … I mentioned you can one-click install WordPress. We didn’t have any landing pages for those, so I started working on what could a landing page design look like, and how could it tie into the product?

Maybe you could click a button and automatically get to the right page, and with the right setup? I don’t remember exactly what I shipped there, but I did start writing code on the first day. I remember it like I had a PR merged.

What was your first day at Digital Ocean like?

Joel Califa: At that point at DigitalOcean, I was fairly confident, whether I should’ve been or not. But yeah, I felt like I knew what I was doing.

Chris: You just jumped in and just swam, just figured it out?

Joel Califa: Totally, yeah.

What does a Product Design (at Digital Ocean) do?

Joel Califa: I think it really depends on the company. It depends on the designer, I guess. You can be any kind of designer. Product designer, I think is a term that was popularized by Facebook, or just other companies in San Francisco or the Bay Area. It’s what used to be an interaction designer or a UX designer. We stole the product design term from industrial designers who make real physical things. What it includes depends on where you are, and which other roles exist.

If you have product managers, maybe you have fewer responsibilities on that end. If you have engineers, you have less responsibility on that end. But usually, you do some combination of user research, product management, project management, interaction design, visual design, information architecture, and front end code as well.

Chris: This is really interesting because I teach a course called programming for non-programmers and in it, I try to break down what I think are the four main roles for launching a successful product. I’d love to throw them at you right now and get your thoughts on the way I see it, but I’m hearing similar things. I generally say there are four roles. There’s the UX, there’s the information architecture, there’s the design, which I’m talking about visual design, and then there’s the coding and developing.

I tend to see those as roles, as somebody can do all four of those, or it could be at a big company, different people that are doing each one of those. I’d be curious, what’s your thoughts on that breakdown and/or, it sounds like the product designer, in this case, you were doing all of those roles; UX, IA, information architecture, designing and coding. Is more or less accurate? What’s going on here?

Joel Califa: Yeah, there’s some level of all of those things for sure. Not everyone does all of those. I was always kind of a generalist, and I think a lot of the people who ended up being product designers are generalists. The breakdown was UX, design, did you say product?

Chris: IA.

Joel Califa: Oh, IA.

Chris: Information architecture, and code. What else? Is there something else in there?

Joel Califa: I think business or strategy is a big part of it, marketing.

Chris: The product designer, you did that as well? You did all of this?

Joel Califa: No. I don’t know what the breakdown is for. If it’s for everything that needs to go into a successful product launch, yeah, I think there’s a lot more, there’s writing. Maybe writing copy.

Chris: Yeah, that’s a good point too. I like to debate this. There’s not one right answer.

Joel Califa: Totally, yeah. There’s a lot of roles and a lot of things, and I think different companies require or ask for different things. I think companies are actually asking for way too much these days. I saw one startup, a job requisition for a head of design and head of engineering as one role, as the head of both departments. It’s like, who wrote this? Why don’t you have one of these and how much are you paying this person to do both?

Chris: When I hear ”the head of”, I think of you’re managing a team of some sort and so if you’re head of both and you’re managing two teams, which sounds like a lot, right?

Joel Califa: Right. I mean, you could be managing two teams or managing managers, but still, it’s just the areas of expertise, and the areas of thought. They’re so disparate.

Chris: Yeah, that makes a lot of sense.

Joel Califa: Basically, companies are asking for a lot these days. They want designers who code, who are also strategic, who also are really good visual design, good at flows, all this stuff. Those people exist, but they’re kind of few and far between.

What coding language would you suggest beginners learn first?

Joel Califa: Sure. In terms of languages and tools, I don’t put any one of those on a pedestal. I think they’re all pretty much interchangeable. As a designer, you’re going to want to know HTML and CSS. I wouldn’t even call that as just to get hired, that’s really empowering. If you’re making stuff for the web, then knowing how to literally make this stuff is going to be useful to you.

Chris: The language of the web is these two languages.

Joel Califa: Totally. Yeah, it’s going to be useful, and also it’s going to help you know what the limits are and what the constraints are, and that’s going to help you save time. What else? Again, this depends on the hiring manager. I actually have a whole talk about how to get hired and what to learn.

Chris: Tell us.

Joel Califa: Okay, cool. It’s called Full Stack Anxiety. I’ve done it in several places around the world so far. I think I’m done doing it, but it’s out there, it’s online. If you just Google it, you’ll find one of them. It talks a bit about how to figure out what you want to be, how to figure out what to learn, how to figure out how to get a job at a specific company. We could rehash it, but it’s all out there.

Joel Califa: What the talk is about is mostly about how to do the right research to figure out what you need to learn for your specific role or roles similar that at your level.

Chris: Research meaning on the job research, or before you apply?

Joel Califa: Before you apply research. Researching what exists out there in terms of roles for each role, what kind of skills show up over and over again, what kind of characteristics are people looking for? Then figuring out how you gain those characteristics and skills.

Chris: I love this. So, your approach to getting from zero, feeling like you don’t know anything, to getting a job is going through the roles that are out there. You’re saying look at all the roles that are out there, and learn about them? Is it learning about them or is it seeing one that you like and then trying to emulate it? What’s the next step there?

Joel Califa: It could be that. It could be seen when you like or seeing one you resonate with and being like, “Hey, this is something I’d like to do? What do I need to know?” Then going through what you need to know. There’s no one answer of like, “Hey, learn Rails or React and then you’ll get a job.” At least in my experience, it doesn’t really work like that.

I have this part of the talk where I talk about, I forgot the term I use, but like interchangeable skills, not interchangeable. There’s a word for it. But, the skills that have to do with languages or tools, those are ephemeral. Do you know what I mean? Like I am very good at Sketch, and now I’m trying to use Figma, which is a new design tool, or a newer design tool.

Chris: These are both design tools.

Joel Califa: Yeah, these are both design tools. They do basically the same thing, but at GitHub, we are all kind of transitioning towards Figma because our design system is going to be built there, et cetera. I don’t know, and my knowledge in Sketch, if I move to Figma, is not going to be that useful to me, even where I am in my career. I don’t really worry about that too much.

Like, I know PHP, is that useful to me? Once you learn a programming language, you know the basics. You know loops, you know conditionals, you know functions or methods or whatever.

Chris: You’re saying if you know PHP, then you can go and learn JavaScript, it’s not too much of a leap.

If you know PHP, then do you think learning JavaScript is easy?

Joel Califa: The syntax is going to be different, there’s going to be different constraints, but it’s the same concepts, and honestly I think knowing about programming is more valuable to a product designer anyway, then knowing programming.

Like, I don’t know React. I can’t jump into a React app and be super productive immediately. But, I can figure out how to be productive, and I can speak to my engineers in their language. I see that as being more useful for a product designer, not for an engineer necessarily, but even engineers will tell you the same thing where they’ll be like, “Oh, now I need to learn Go. I know how to learn Go, it’s not a big deal.”

Chris: That makes a lot of sense. And Go is Google’s programming language that they made?

Joel Califa: Yes.

Github repo example
An example GitHub Repo

How do you get hired at GitHub?

Joel Califa: Sure, so five ways. No, I’m just joking.

Chris: We have a nine grid approach too.

Joel Califa: Yeah, exactly. First I rounded the corner.

Chris: You get around the corners, press the button.

Joel Califa: Let’s see, I was looking for roles. I actually had two offers already, and then a friend of mine who works at GitHub told me that there was a role opening up. I was like, “Okay, cool,” and I talked to them and they flew me out within like a week. The interview went well. I already had a day with all my work that people ran; similar to a case study, but in presentation form like how I made decisions, what the evolution was.

Chris: This is like a PDF that you mailed or?

Joel Califa: Yeah. Well, I didn’t email it in it.

Chris: You bring it to the interview.

Joel Califa: I bring to the interview, and then I present it.

How did you get an interview at GitHub?

Joel Califa: Well, there’s a hiring manager screen, there’s a recruiter screen.

Chris: But did you just apply online? Did I miss that? Did you apply online or?

Joel Califa: No, no, I applied through that friend.

Chris: Through that friend, okay, okay.

Joel Califa: Yeah, through that friend. She connected me with the hiring manager.

Chris: Got it, got it.

Can you tell me about the presentation you brought with you to your GitHub interview?

Joel Califa: That presentation, I would rebrand it for each company, use their colors on each slide, their fonts and things like that.

Chris: Fancy.

Joel Califa: Yeah, yeah, I’d go like deep in the details. That one went well and I didn’t screw up the interview.

How long was the interview at GitHub?

Chris: How long was the interview?

Joel Califa: It was a day long.

Chris: A whole day?

Joel Califa: Yeah. Well, if you’re going to fly someone out to New York… Yeah, I was about six hours, something like that.

Chris: Did they feed you?

Joel Califa: Did they feed me? Yeah, they fed me.

Chris: Sounds good.

Joel Califa: It was a good time.

As a hiring manager, was there one question you loved to ask designers and developers?

Joel Califa: What we would do is use behavioral interview questions. We don’t really ask you like, “What would you do in this case,” or stuff like that, or like, “How do you think about this?” We really ask you like, “Tell me about a time when you did this.”

Chris: For experiential, you know, you’re looking for that kind of experience.

Joel Califa: Right. The best indicator of future behavior is past behavior. That’s the gist of that. We’re not going to learn as much about you if you give us hypotheticals, we’re going to learn about you if you give us like, “Hey, tell me about a time where you disagreed with your product manager about something and what did you do?”

Chris: Wow, and you don’t know this coming in if you’re interviewing. You just have to improvise and say whatever comes to mind.

Joel Califa: Totally. Some people took some time to think about it. They were like, “Okay, I don’t have something off the top of my head,” and they took like 30 seconds or a minute of quiet which went quiet feels like a long time, but it’s understandable.

Chris: Is that normal? That’s understandable?

Joel Califa: It was normal for us.

Chris: On the hiring end you’re saying it’s normal for you?

Joel Califa: Yeah, on the hiring end we saw it a lot. It wasn’t a big deal.

Chris: This is not a big deal?

Joel Califa: Yeah, because we wanted real examples and we knew they wouldn’t just come to someone immediately. That’s the kind of stuff we asked. That’s similar to some stuff that they asked me in the GitHub interview, I think. Then there usually is like some level of portfolio presentation for designers.

Should someone bring a laptop to the interview?

Joel Califa: It depends. You do kind of whatever you want. You can bring a PDF. Some people did that when they had more confidential stuff. Some people just showed us their website. Some people made special presentations or a special page.

Chris: Does Digital Ocean tell you ahead of time you have to make this presentation? Like if I were to get an invitation to go on an interview, should I assume that this is a known thing or they tell you, “You’re going to have 30 minutes to do this presentation.” Or, how long was the presentation?

Joel Califa: It was about an hour for me.

Chris: That’s a long presentation.

Joel Califa: Yeah, it’s usually like 45 minutes to an hour, it could be less. Not all places have their shit together when it comes to the interview process.

How many people were in the room during the interview at Digital Ocean?

Joel Califa: For me, I think about five in the room and two remote, something like that. I had done the same presentation at every other place I interviewed, so it wasn’t a big deal.

Chris: You had it down.

Joel Califa: Yeah, I also have speaking experience, so I wasn’t stressing out about presenting.

Chris: This is really good. I’m very interested in the thing I’m about to ask you. I have a really good question.

Joel Califa: Here’s a really good question.

Chris: The next thing is going to be an excellent question, be excited.

Joel Califa: Tell me about …

Chris: It’s like when you say, “I’m going to make a joke,” and then you just can’t make a joke, nobody’s going to laugh at your joke. But what I was wondering is … Then he forgets the question? No! You’re clearly a really talented guy. You have a lot of experience. With that said, how many interviews do you think that you had been on it because you mentioned that you had some skill doing this? Is it like you had done dozens or was it only a few and you just got lucky so to speak?

Joel Califa: First time, after Amicus for DigitalOcean, I had the privilege of like being unemployed for a bit. I called that a privilege. It’s usually not, but I could handle it for that time.

Chris: Was it a privilege because it was a vacation or some other reason?

How many companies did you interview while looking for work as a web designer?

Joel Califa: I interviewed at 60 companies. Yeah. If I go back to my Google Calendar, there are back-to-back interviews for three weeks.

Chris: Were you being offered positions at that time?

Joel Califa: Yeah.

Chris: Would you say when someone would offer you the position?

Joel Califa: I would say like, “Thank you very much. I’ll think about it.”

Chris: Wow, baller.

Joel Califa: People underestimate the power they have during negotiations. People are also investing a lot of time in you, and they don’t have other people necessarily lined up so if you’re like, “I want to wait,” usually that’s fine. I would wait three weeks with a certain company because I was interviewing with other companies. At the end of the day, I think with DigitalOcean I had a Facebook interview on Monday, or I wanted to have it on Monday, but they were like, “We’re not going to be able to fly you out until next week,” or like until a week later and I was like, “This is too much.”

Chris: Because it was too long of a wait?

Joel Califa: It was too long. DigitalOcean has already been waiting, none of these other offers are that interesting to me.

Chris: Wow! So you had a lot of practice doing 60 interviews. Is that something you’d recommend to people, just getting as many as you can under your belt?

Joel Califa: Yeah, definitely. I mean, if you have the time for it, practice makes perfect. Leaving DigitalOcean, the first time I interviewed I completely flunked.

Chris: Because you were out of practice?

Joel Califa: Yeah, and that’s fine. You know what I mean? Then you just get better at it. It’s not that big of an issue, even if it’s someplace you really want. It’s like, there are other places.

What’s a common mistake you see people make during interviews?

Joel Califa: That’s a good question. That’s a really good question. Okay, the mistake I’ve seen a lot of people make… I don’t know if I’d call it a mistake, sometimes it’s just not a good fit for what people are looking for. I think maybe part of it is just trying to understand what people are going to look for.

We rejected a lot of people who were overly visual and really cared about how something looked, and kept talking about pixels and making a color better or whatever, and didn’t talk about what we cared about. And that was more strategic thinking, figuring out what to build, figuring out why you’re building something.

I wouldn’t call that a mistake because that person has their values and the things they care about, and it just probably wouldn’t have been a good fit for them either had we hired them and expected all of this stuff from them.

Chris: Maybe what I’m hearing is if you do apply and you get rejected, or it doesn’t work out, maybe it doesn’t mean that you’re awful. As long as it’s just not a good fit, be kind yourself or be patient, all these kind of things. Because it’s probably really easy to say, “Oh, I wanted this dream job working for DigitalOcean or GitHub, and it didn’t work out. I suck.” There’s just this cultural fit sometimes, and it’s not a failure. So yeah, keep trying.

On the other side of the interview, how many candidates does GitHub look at for a position?

Joel Califa: At GitHub, we just get an influx of people. So many people want to work at Github, even in product design.

Chris: I can totally imagine. What are we talking like a hundred, or hundreds, or?

Joel Califa: I don’t have the exact number, but we just got a constant amount of people and names you would recognize in my industry. A lot of people are very interested in working and GitHub. At DigitalOcean, a cloud hosting company…

Chris: It wasn’t quite as big?

Joel Califa: It’s not quite as strong, but we did have a significant design presence. People knew us for design, so it was a bit easier for us in that sense.

Chris: You have a great blog too, I should say.

Joel Califa: Thank you. Some people came in through that as a hiring manager.

Chris: It’s really educational as far as making choices for all things server and various coding topics.

Joel Califa: Thank you.

Chris: Yeah, of course.

Joel Califa: Yeah, if you speak and if you write, then that gets more people interested as well. But, we would get a lot of inbound. I would do a lot of outbound, reaching out to specific people that I thought would be good. Hiring managers do a lot of that.

Chris: Were you trying to poach people, like steal them away?

Joel Califa: Yeah, of course.

Chris: Is that fair game?

Joel Califa: It’s totally fair game. Most good people have a job. I would say like 99% of good people have a job that you need to switch them out of. But yeah, I think out of all the people that reach out to all the people who reach out to you, all the people you give homework or something to screen them, there’s a recruiter screen, there’s a hiring manager screen, there’s that homework of, have they done something good enough? Through that to get to an onsite interview, it’s way fewer people.

Chris: Way less on-site interviews.

Joel Califa: Way less on-site interviews and I think most companies don’t really know how to sync them up, to have like two, three people at once.

Chris: So sometimes there can be a big delay between your interview and the next one?

Joel Califa: Yeah. I think often you’ll find that you’re pretty much the only person being interviewed at that point for that role, which isn’t ideal for the company, but it’s pretty good for you if you did well.

What are some good salary negotiating techniques you’ve seen while interviewing candidates?

Joel Califa: For me, the salary negotiation has never been part of my responsibility. We have recruiters for that, and I’m thankful because I don’t want to be accountable for someone getting paid less than they want. Usually, people negotiate.

Chris: They do?

Joel Califa: Yeah, I’ve always negotiated. Actually, I did have one designer who asked for less than I ended up giving them. They asked for less.

Chris: Oh, they asked.

Joel Califa: They asked for less than they were worth. But yeah, often negotiation is just par for the course. I guess it depends on the hiring manager. But for me it’s like, you’re your own person. You owe me not much essentially. I’d like you to be excited about the role, and I’d like to feel that you’ll be here for a while and you’ll give it your all. But if you need more money to be excited about it, that’s understandable.

Chris: Does DigitalOcean or GitHub put out the offer first and if so, you’re saying it’s normal to push back on that or does the candidate in these cases usually put out the first?

Joel Califa: Oh, like who says the first number?

Chris: Yeah, who says the first number?

Joel Califa: I think good recruiters or decent people recruiters are not going to ask for a number, at least until the end. We don’t start with like, “Hey, how much do you want to make? Just so we know that this is fine. That’s kind of sketchy. But afterward yeah, we usually either give them an offer or the recruiter might ask them first like, “Hey, how much are you looking to make?” And if they’re not very good at negotiation, then they’ll say the number.

Chris: What should they say?

Joel Califa: I don’t know. I think the number one rule of negotiation is, don’t say the first number.

Chris: But what do you say when they ask you what number you want?

Joel Califa: There’s a way to do it. There’s like, “I feel confident that you’ll give me an offer that’s fair for the role and my impact as were my experience.” But yeah, there are lots of ways. It’s a game, recruiters know it’s a game. It’s like a back and forth thing. Then you get the number and you get the number up, ideally also without saying a number.

Chris: A lot of talking about numbers without talking about numbers.

Joel Califa: Kind of, yeah. I probably didn’t do that well with my negotiations. At DigitalOcean I wanted to feel like a good guy, and so even though I had a lot of leverage and I had like another offer from 20K more, I was like, “Just give me double the options because I believe in the future of the company.”

I was younger and I was afraid to come out as aggressive. That feeling is so good for companies and so bad for people because they’re trying to get you for less. It’s a business conversation. It’s not loyalty conversation, it’s not like a human to human. Looking back at that I’m like, “Yeah, that was kind of stupid to accept an offer for 20K.” I should’ve asked for double the shares and salary.

Chris: Both, yeah.

Joel Califa: Yeah, yeah.

Chris: Because at that point they wanted you.

Joel Califa: At GitHub, I was told like, “We don’t negotiate. We want you to give us a number so that we don’t give you an embarrassing offer.” I was like, “No, I’d prefer not to, I prefer not to,” and they’re like, “No really, no really,” and then I ended up just giving a number.

Chris: Where do you find that number? Do you based on your past performance or do you do research into what that role should be?

Joel Califa: You do research.

Chris: Using some kind of tool or? Like the internet or like a website or?

Joel Califa: Yeah, there’s a bunch of tools I use. Glassdoor is one of them. Glassdoor pay scale. There is a Twitter thread by Jackie Luo.

Chris: Jackie Low, is that L-O-W?

Joel Califa: L-U-O. Jackie H LOU. That’s her Twitter, and she has a few threads going one is anonymous, like how much are you making? At what kind of stage company? What’s your compensation? The other ones like, what’s your equity and what’s your exits? The other one is like the same thing, but for women. That’s useful to get a general idea of what the possibilities are.

How much money does a web designer make these days?

Joel Califa: I keep finding out that there’s more possibility like you can join Netflix and make like 400K.

Chris: That’s like a banker’s salary.

Joel Califa: I keep finding out like you can work at Two Sigma, which is a banking thing and make like 300K as a designer. There are more and more options as I make more and more money that I’m like, “Oh, this isn’t the ceiling. There’s more money that I can make.’’

Chris: I feel dumb in that I’ve touched a little bit. What should a designer, let’s say in New York City where we are right now, what’s the range from entry-level to top, working at one of these big companies? What kind of range are we looking at, salary-wise?

Joel Califa: New York’s a bit lower than the Bay Area. I’m going to say entry level product design is probably around $110,000, and it can probably span all the way up to like $200,000, $210,000.

Chris: For entry level?

Joel Califa: No, no, sorry. Entry level is like around $110,000. It can go down to $100,000, it can go up to like $120,000. It depends on the company, it depends how much money they’ve raised, how much equity you’re getting versus that. There’s a lot of different levers. But yeah, it could go all the way to around $200,000 for very experienced people.

Chris: You mean like 10 years of experience. We’re talking 50 years.

Joel Califa: Yeah, something like that. Then mid-range could be different, like $140,000 to $160,000.

Chris: Wow, I’m surprised. Maybe not surprised, but that San Francisco is higher than New York. I kind of thought they were equal. I didn’t realize you think that it’s a little higher over there.

Joel Califa: It’s a little higher. I wouldn’t say it’s much higher. There’s also way more competition in San Francisco in terms of the available great startups to work at. Here, an awesome startup that’s a darling or whatever could hire you for less, because what are your options? You have them, you have a lot of them actually in New York, but much less than you have in San Francisco.

What’s the best way to apply to work at GitHub?

Chris: You had mentioned when we were chatting before that 65% of GitHub’s team is remote. If that’s true, will GitHub hire people from anywhere in the world? If someone listening right now is in like France, or Israel or wherever, can they apply or do you have to start in San Francisco, or start in one of these cities for the interviews and then be remote?

Joel Califa: We have offices in San Francisco, Boulder, Amsterdam, and Tokyo.

Chris: Cool cities by the way. Those are all great places to live.

Joel Califa: Yeah, great cities. I think we have people almost all over. I don’t know if we can hire anywhere because it depends on whether we’re incorporated there or whether we have a contracting firm you can work through or whatever. But, we hire in most places, we have GitHub-ers all over the world.

Chris: Cool, that’s really great. We’re going to start wrapping up here. This has been super fascinating. Before I leave though, I personally want to know, and I’m sure people listening want to know, what’s exciting at GitHub right now? What are you working on, and then we can segue to anything coming up soon. But let’s talk about, what’s exciting at GitHub right now? What are you guys working on? Why do you love GitHub?

Joel Califa: We’re working on a lot of stuff.

How many people work at GitHub?

Joel Califa: GitHub is now 1,000 people.

Chris: Do you know all of them?

Joel Califa: I know every single one.

Chris: Let’s start with their names, starting with A. I’ll let you do that later.

Joel Califa: Adam.

Chris: Adam, Adam, Adam, Adam, Adam, Adam.

Joel Califa: Yeah, lots of Adams. No, I don’t know everyone. I joined when we were 600 people, and I didn’t know everyone then. At DigitalOcean I knew everyone until we were like 170 people by name.

Chris: That is amazing. I was at General Assembly when there was like from six to about 100 and something, 170 people and I think it was around 100 that I just like completely started forgetting.

Joel Califa: Well, my first week I started with flashcards.

Chris: Of people’s face?

Joel Califa: I scraped the website, and I got people’s face. I used ”The about page”, I just got people’s faces and titles and names.

Chris: What app did you use? Did you create your own app?

Joel Califa: I used an app called Anki.

Chris: Anki, I use it. Mattan, did Mattan get to you?

Joel Califa: No, no, I just was looking for one of those like memory apps.

Chris: Mattan uses this for all of our students at Columbia.

Joel Califa: It’s fantastic. So no, I don’t know everyone, but because of the scaling, I have lots of people working in lots of different areas. Some people are working on more community-oriented things, other people are working on enterprise stuff, other people are working on our project management tooling, or actions which is a thing you can use to script your workflows.

Why use GitHub actions or some of their newer features?

Chris: At One Month, we use GitHub to manage the repo of our codes. If you’re listening and you don’t exactly know what that means, there’s basically a copy of our code that we push to GitHub and me go through different revisions over time, so that I can look at different versions over the five or six years that we’ve been a company.

I think that’s probably the primary use case for GitHub or how it started. So, why would I use actions or one of these other features? What is that? I’ve never heard of that.

Joel Califa: What you were mentioning, that’s what I lead design on, is pull requests and code review.

Chris: Well, thank you. Thank you, sir.

Joel Califa: You are so welcome. It’s been around for a while. I can’t take credit for almost any of it. But yeah, what do you use actions for? You can set up a lot of things like when I push a new change here, then deploy my site automatically. People have built really crazy stuff with it.

Chris:  I think we use, I’m forgetting now. Not Code Climate, but there’s another … I think we use a third party to do that, but now you’re basically saying with GitHub you can have these actions so that when you push some code, it goes live and it tests it for you.

Joel Califa: Yeah, and you can tie into things that deploy them out at different services. As a company, I don’t think we’re trying to be the end all be all for all things, we want to be a good citizen and have different integrators work well with us.

What kind of educational resources are there to learn GitHub? 

Joel Califa: We have some things. We have like GitHub classroom, we have different bots that help you, a thing called GitHub Learning Lab that you can integrate. They take you through a pull request, which is how you merge code, or how you put new code into old code or updated it. They run you through like different things to do.

Chris: Is this just at the homepage now or is it at a certain website?

Joel Califa: I don’t know how to get to it.

Chris: So you just google that?

Joel Califa: If you google GitHub learning Lab, you’ll probably find it. We have a lot of initiatives to try and get this down. It’s not perfect right now. Probably your absolute best bet to learn GitHub isn’t through the GitHub homepage or anything.

Chris: Yeah, I was not also dissing on your homepage.

Joel Califa: No, no, totally, totally. Though it is getting better.

Chris: It was just the feeling of the questions I get at One Month about like, how do I start learning GitHub?

Joel Califa: Yeah, I think we’re trying to make it more straightforward. What I would suggest is the best way is to just start a side project. If you’re learning how to code, start a thing. Ideally, start it with someone else so you can collaborate on the same code and use pull requests and use code review.

Chris: You can branch, merge, all these kinds of things because GitHub collaboration is a big part of it.

Joel Califa: Once you get used to it, to GitHub and Git, which is the technology that it’s based on, it’s not that complicated.

Chris:  I can actually think of one feature that I really love that GitHub has is GitHub Pages, because GitHub Pages is I think, a very intuitive, easy way to do your first commit, get some code on GitHub, and then also see it live at your own URL. I take students through that in my course because I feel like if you have that aha moment of like, “Oh, I can now share this URL with friends, and then they can see what I’ve been doing behind my computer the whole time.” I feel like that’s a pretty wonderful place to start, but I like that. Well done again, sir. Anyway, we love GitHub.

My final question; and we were talking a little bit about this before we started but, what tools are you using today? We were talking, and you really surprised me because you said you use Dropbox Paper a lot just only because I’ve seen it, but I don’t use it. Tell me about Dropbox Paper and/or any other tools that you’re using right now and why?

Joel Califa: I like Dropbox Paper because it’s…

What is Dropbox Paper? Why do you use it?

Joel Califa: Dropbox Paper is just a note-taking app.

Chris: Like Evernote?

Joel Califa: Yeah, exactly like Evernote, but with a nicer design and better interactions. It just feels good. It’s a good way of putting together your thoughts. I also use like Apple Notes a lot because the main thing I do now isn’t creating interfaces, it’s more like think through products, figure out strategies, figure out ways of thinking about something like models. That stuff is less visual.

Chris: Do you share these Dropbox Papers with people at GitHub as well? Is it like a sharing tool?

Joel Califa: Yeah, usually. I don’t use it that much as a sharing tool, sometimes with people so we can collaborate on something. We also use Google Docs in the same way. I just enjoy Paper more. But when I’m ready to share it wider, then I copy everything, and I paste it into a new GitHub Issue, and then we all have access to that.

Yay, or nay: Do you use Adobe Illustrator?

Joel Califa:  Nay for work.

Chris: Yay for?

Joel Califa: Yay for just Illustration, design stuff.

Do you use Sketch? 

Joel Califa: Yay, but I’m moving to Figma as I said.

Chris: Why Figma? What do you do with it?

Joel Califa: Sketch is a good step from something like Photoshop or other tools like Illustrator because it’s better suited for UI design. It’s designed for that, where Photoshop you kind of shoehorned into that. They had Fireworks for a while Adobe, and that was a good tool.

Chris: Oh yeah. Maybe that doesn’t really exist.

Joel Califa: It doesn’t exist anymore now. It doesn’t, but it was fantastic when it did. A lot of companies recently, some people call it the golden age of design tools because there’s so many.

There’s Sketch if you want, there’s Figma if you want to use that. There’s a lot of prototyping tools like Principle and Framer. Or like, a lot of more sketchy tools like Adobe XD. I just listed out five really easily, but there are smaller tools like Zeplin which let note on your work or get your work ready for engineers in more waterfall-like methods. There are so many. There’s Envision Studio, they’re making a thing now, an Envision for prototyping..

Envision is best for wireframes?

Joel Califa: Envision is for prototyping. I think they’re trying to make a new tool for designed to. There’s Webflow for designing websites, there’s so many of these.

Chris: Do you think it’s like a battle against all of these, or is it more of they complement each other in some universe?

Joel Califa: It’s partially a battle. Like Sketch and Figma …

Chris: Are fighting.

Joel Califa: Definitely a battle because they do the same stuff. Framer is trying to get into that, like let’s actually be a design tool to. They used to be just a prototyping tool that you could use Sketch stuff, but they’re trying to be the whole thing like Envision Studio. All of them are trying to kind of like, “Let’s be the next big thing here.” Let’s be the next Adobe or whatever. But yeah, I don’t think it matters. It really doesn’t matter what you use.

Chris: Of all those options, if I didn’t know any of them, which one would you say to start with?

Joel Califa: I’d probably start with Figma because I think they have some free plans and you don’t have to install anything, it’s in your browser.

Chris: That’s the most annoying thing about … I don’t want to be a hater on Adobe, but I just feel like they’re kind of dicks sometimes over the past. I mean, they’ve kind of cornered the market. I’ve been using it for 20 years, their products, and it just gets really difficult to install sometimes and expensive for students, I think. I don’t know if there’s a free plan.

Joel Califa: I think for students a lot of the times if they’re in design school anyway, their schools cover it.

Chris: Their schools cover it. It’s good to hear that there are a lot more options these days.

Joel Califa: Yeah, I’m against monopolies. I like the options.

Chris: It’s nice to have these options.

Joel Califa: I just don’t think it matters what you use because at the end of the day, at least in my industry or area, really the thing that matters is the idea behind the thing you’re making, and it doesn’t matter how your file exists. This might be slightly different for if you’re doing mobile design and you need the exact right assets or something, but for the kind of design I do, it doesn’t really matter. The idea is what matters, and then you just recreate it in a design system anyway in code.

How can people learn more about Joel Califa?

Joel Califa: Twitter is probably the best place so. On Twitter, I am @notdetails

Let’s see, there’s my website, my blog. I publish like once a year maybe, but usually, it’s a good thing. I wait until I have something I’m really proud of.

Chris: Yeah, and just say the web address.

Joel Califa: Oh, joelcalifa.com. The name that’s on your podcast thing.com. And, I have a podcast. I have a podcast if you’re interested in hearing me speak more about dumber stuff. It’s called Immortality Weekly. It’s about immortals in popular culture.

Chris: We don’t have enough time to cover this, but I forgot to tell everyone that you’re immortal. But if you want more, you can listen to his podcast.

Joel Califa: Totally, yeah, speak to you in 1,000 years. We cover like, I don’t know, Twilight. We watched all the Twilight movies. We covered Groundhog Day and Russian Doll and Edge of Tomorrow for time loops because they’re technically immortal. We did Peter Pan if you’re interested.

Chris: I’m interested in all of these.

Joel Califa: Highlander. We did all the big ones. Chucky.

Chris: I didn’t realize Chucky was immortal.

Joel Califa: Chucky is immortal. The Chucky episode came out yesterday. Yeah, we got a lot of them. The cheerleader from Heroes.

Chris: Wow, there are so many people who are immortal.

Joel Califa: There’s a lot of people who are immortal. If you like two dudes talking about dumb stuff, then tune in to Immortality Weekly on your podcast app.

How to get a job working at Github, best tips and tricks

PS. 🐶 Please subscribe and rate the Learn to Code Podcast on iTunes!  ❤️

iTunes SubscribeYouTube SubscribeStitcher SubscribeSpotify Subscribe

Joel Califa on the Learn to Code Podcast talking about Github, hiring, and web design best practices

 

Learn to Code Comment Avatar
Chris Castiglione Teacher at One Month. Faculty at Columbia University where I teach Digital Literacy. I write about coding, the internet, and social impact.

One Reply to “How I Got Hired at GitHub”

  1. I was really interesting to read about salary negotiation. In addition there were some useful tips for recruiters. Thanks for the article!

Leave a Reply

Your email address will not be published. Required fields are marked *