Haseeb Qureshi – Software Engineer

Play episode

Haseeb Qureshi is a Texas-native who dominated the poker world and decided to pursue his dream of becoming a software engineer. He started playing poker at 16 years old and was able to turn $50 to $100,000. He eventually became one of the world’s best no-limit hold-em poker players at 19 but he was not fulfilled. So, Haseeb left the poker world and decided to start over from scratch by giving all of his money away.

After hearing about coding bootcamps from a friend, he decided to break into tech and join App Academy. Haseeb learned quickly, became an instructor after two months, and eventually became the Head of Product. He really wanted to work as a software engineer and his recruiting process was tough.

On this interview he shares how he got his position at Airbnb by applying lessons from poker and proving that with confidence, deliberate practice, negotiating skills, and an altruistic heart, you can always rise above any challenges you meet along the way.


Years in Tech 2
Grew Up Dallas,TX
Current Job Engineer
Date Recorded 7/20/2016

Key Points:

  • When you’re trying to learn something, you need to give yourself feedback when you make a mistake. This is the idea of deliberate practice. Try to find the smallest possible thing that could be critiqued and then get feedback on it and then try to iterate on it.
  • The biggest difference between boot camps is not the curriculum, the teachers, or the network. The biggest difference is your peers and the rate of intensity with which you’re going to be learning around them.
  • When facing rejections, remember that you have no control over things no matter how good you are. Also, pain is transient. You might feel awful today but you will feel better the next day and the next, until you can barely even remember. Besides, people can’t say no forever.
  • Consider plugging into your network for job search referrals through informational interviewing. Reach out to anyone in your network, sit down with them, ask them about their company and experience, and get referrals.
  • A large part about negotiation is power. Be mindful of it, where it comes from, and how to maintain it. Have leverage in your negotiations by having the ability to not accept it because you have another offer. Interviewers can’t read your mind. It’s not a zero-sum game.

Show Notes (focus on the Stepping Stones):

[1:33] Growing up in Dallas, Texas as a shy, introverted yet very competitive kid and taking the TAMS college program initially wanting to do Physics but hated it and not knowing what he wanted to do

[2:47] Starting to play poker at the age of 16 with $50 which he turned into $100k in just a year and at 19, became one of the best poker players in the world and bought his first house

[4:16] Haseeb’s dad wanting him to gain technical background but his interest at that time revolved around philosophy

[5:22] Quitting poker at 21 and not having any idea what to do next having spent 5 years of his life mastering the game and not knowing who he really was, Haseeb went on to finish his English degree and worked as a mental coach to poker players until he gave all his money away in 2013

[6:23] Starting from scratch: Haseeb considered getting into tech and eventually he joined his coaching client who was starting a startup. Not knowing any tech skills, he ended up doing marketing (which he didn’t like) but still found the need to be technical to know how to code. He then took some online tutorials at Codecademy on HTML, JavaScript, and SQL.

[8:19] Taking those online tutorials made him realize three things:

  1. He really liked it.
  2. He was picking it up quickly.
  3. He hated marketing.

Haseeb then knew he wanted to become a developer.

[9:15] Hearing from a friend that a boot camp is the fast track way to become a developer, Haseeb applied to every single boot camp in the Bay Area, learning as much Ruby as he could, and moving to San Francisco when he finally got into App Academy (which was his top choice)

[10:24] The interview process: Online coding portion > Live coding interview

[11:51] Advice on picking a bootcamp – The biggest difference between great bootcamps and a not-so-great bootcamps: Peers + Rate & Intensity level (with which you’re going to be learning around them)

[13:37] Haseeb describes his boot camp experience as being intense and fun. What was supposed to be a 3-month program, Haseeb got an offer at the end of 2 months to become an App Academy instructor (He actually considered rejecting it because his goal was to join Pivotal Labs and eventually, Facebook)

[15:29] Considerations / Reasons for accepting App Academy’s job offer:

  1. To solidify his knowledge and gain experience through teaching
  2. Health insurance

(What was supposed to be a 4-month short-term contract, became a 9-month stint because he got another offer from App Academy to be Head Instructor and ended up becoming the Director of Product, a position that he basically created.)

[17:51] His job description as Director of Product: Product development,software engineering for internal systems in application trackings, lecturing instructions, Algorithms curriculum

[19:12] Deliberate Practice – Haseeb’s secret sauce for being world-class in poker and his boot camp journey (Feedback mechanism is key!) – Working on Codewars, massive practice, going back over and over to fix mistakes, and understanding the pattern

[21:31] Music is a great analogy for learning how to code: deliberate practice is like learning to play the cello (As Ruben’s cello teacher puts it, “ I fear not the man that practices 10,000 kicks but I fear the man that practiced one kick 10,000 times.” )

[23:22] The job search experience: Feeling the need to spend time as an engineer at a software company, Haseeb went out into the job market. What seemed to be an easy job search experience for many ex-App Academy instructors, all Haseeb got were rejections (25 rejections, actually)

[25:10] Reason for getting 25 rejections: Haseeb’s resume containing his “weird” background

[26:06] Getting his first bite through a job referral from his friend at 23andMe and realizing cold applications didn’t work for him (He thought he nailed the interview but still got rejected.)

[27:42] Dealing with self-doubt: Haseeb doubted his vision of the world and this picture of himself being somebody who could just walk into an interview and nail it and have all these offers

[28:31] How to deal with rejections:

  1. You have absolutely no control. No matter how great you are, no matter if you’re the best player in the world, there’s always a chance that you’ll lose.
  2. Any pain is transient. What you feel today will be softer the next morning and the next.
  3. Keep going. People can’t say no forever.

[30:58] Informational Interviewing – Plug into your network (reaching out to anybody in you network, sit down with them, ask about the company and their experience working there, then get referrals)

[31:46] His application at Triplebyte and the biggest thing the company gave him: CONFIDENCE – Getting offers from huge companies:

[35:05] Haseeb’s approach to the negotiation process: Dropping the fact that he had an offer from Google, every single door opened. (He didn’t get a great offer from Google compared with what App Academy graduates at Google were making) Getting his first offer with Yelp at $117k and Google at $165k all-in, his final offer at Airbnb was $250k all-in!

[37:57] Overcoming recruiter tactics that take away your leverage during negotiation:

  1. POWER as a large part in negotiation: Be really mindful of what your power is, where it comes from, and how to maintain it.
  2. Have another offer: Let the other person believe that if this deal that you’re making with them doesn’t work out, you’re going to take the other offer.

[39:41] Exploding Offers – What are they? How do you deal with these?

[43:56] Another big thing is in negotiation: Understanding the other person’s incentives + overcoming the zero-sum game mindset
[45:56] How to prepare for interviews:

  1. Practice-like performance (whiteboarding)
  2. Deliberate practice (Write the code. Read out the solution. Get it into your bloodstream. Write out by hand in words. If you’re not solid with anything, run into it again and again until you’re solid with it)

Implement it the same way I would do with Codewars. But I’d put it back into the rotation of problems that I had to work on.

[50:13] Trying to code generally speaking for like 5-hour stretches is not a great idea: Take a break in between to avoid mental fatigue

[51:21] Haseeb shares a story of his friend who applied his strategies and tactics and successfully went through the boot camp and ended up getting and negotiating a job offer

[54:09] – Haseeb’s philanthropy efforts: Effective Altruism: Earning to Give – To pursue a lucrative career so you can give to charity. Every year, Haseeb has been giving ~33% of his income to charities.

[56:23] The Lightning Round

Imagine you get dropped in a new city. You only have a $100. You don’t know anybody and you’re starting again from scratch, what would you do and how would you spend it?

  • Haseeb would try to find the nearest university and go to the nearest bar in that university and then try to talk to people and see if he can build a relationship as students can be very welcoming people.

Whenever you hit any of those roadblocks, was there any piece of music or a movie that you watched or quote that you heard that inspired you to get psyched up and break through that wall?

  • The book Barabbas by  Par Lagerkvist

The next question is having gone through this journey of breaking into a startup, learning how to code, teaching others how to code at App Academy, what is the one piece of advice that you would want one of our listeners to know who is contemplating on maybe leaving their corporate job and then breaking into startups?

  • Before you decide to throw everything away, make sure it’s something that you know there is no way that you cannot do it. Go meet developers. Learn how to code on Codecademy. Ask engineers to if they can teach you.

Going through this process, what is one thing that you fundamentally believed in that changed your mind on after completing going through App Academy, finding a job, becoming an engineer?

  • Haseeb imagined interviews as like windows to your soul, but really, they’re not. They only get a very, very thin slice of you but they won’t really know you. Interviewers can’t read your mind.They could read your actions but they cannot read your mind. This gets so magnified in negotiation where somebody is just terrified that the recruiters are going to know that they don’t have any other options or they’re not good enough. They’re not going to know it unless you tell them or you give it away through your behavior.
[/section] [section id=”resources” paddingtop=”0″ paddingbottom=”0″][header size=”16″ weight=”600″ paddingtop=”0″ paddingbottom=”20″] Articles Mentioned & Resources:[/header]

Learning Resources
App Academy
Software Engineering Daily podcast

Cracking the Coding Interview
Barabbas by Par Lakgervist

Contact Information:

Haseeb Qureshi
Blog: haseebq.com
Twitter: @hosseeb

Full Transcript: 

Intro: Growing up we’re told that in order to be successful, you have to be a banker, a doctor, or a lawyer. That’s what the gatekeepers want you to think. But we’re a part of something bigger. We’re part of a technological revolution. Either you’re at the table or on the table. Getting eaten. 10X.

Ruben: Yo, yo, yo, this is Ruben Harris, I’m here with the homies Artur and Timur Meyster and this is the Breaking Into Startups Podcast. Timur, can you please tell the people what we’re doing today?

Timur: We’re sitting at App Academy tonight. It’s a beautiful Wednesday night. We have this gorgeous view of the Bay. You can see the sunset. And we have a very special guest on the show tonight. Artur, please introduce the guest.

Artur: Today, I’m super excited to have Haseeb Qureshi with us. Haseeb is a software engineer at Airbnb and he has an extremely interesting story of going from being an English major to professional poker player. He’s been at the top of the charts. He wrote a book about being in poker. But what’s interesting about his story is that after dominating the poker world, he decided to become a software engineer. Over the last year and a half or two years, he’s been able to become Head of Product at App Academy and then from there he negotiated his way up to one of the hottest startups in the Valley, AirBnB. So Haseeb, before we jump with your story, tell us a little bit about yourself, where you’re from, and what were you up to before you got into tech?

Haseeb: Yeah, absolutely. First of all, thanks for having me guys. It’s a total pleasure to sit here and share this evening with you guys. So I’ll take you back to the start. I was born in Texas. My parents were immigrants from Pakistan. My first memory I think is probably growing up in Dallas very briefly and then we grew up in the suburb of Austin. And I remember my parents being very, very focused on education when I was young, my parents being pretty religious, being a Muslim family. And I was always a very shy kid. I was very introverted. I was very close into my own world. But I was also very competitive. I think that a lot of that came out in, one, it came out in academics. It also came out in playing video games or sometimes playing sports, soccer and stuff like that when I was a kid. And that grew more and more as I grew up. I was a really sharp kid and when I was 15 when I went into this program called TAMS, which was this college program for kids who were really into math and science. So I thought at that time that I wanted to do physics and I was super into physics because it just seemed to me like this beautiful abstract thing of sitting in a laboratory and divining the way the universe works. And I was convinced that that’s going to be what i did and then I went off to this TAMS place, basically at a university at the age of 15. And I hated it. There’s nothing about it that was appealing to me.

I was kind of at loss for what I wanted to do and I started to get more and more interested in things like philosophy and literature and poetry, which really engaged me a lot more. And that was around the time that I found poker and it was very haphazard. It wasn’t really planned. I wasn’t really somebody who had gambled much or knew much about gambling or really knew anybody who did gambling. I barely even knew the rules of poker. But one day, some friends of mine invited me to play a game of poker and I didn’t know what I was doing. I didn’t know what calling was. I didn’t know how betting worked. It was totally alien to me. I lost the game. I lost all my play chips and then I went back to my dorm room. I was like, “Man, this is annoying. I want to know how this game works. And I want to know how I can beat other people in this game.” So I started reading up on some of the strategy of the game and I ended up coming across this article about this generation of poker players who were making all this money, figuring out this game in a way that people hadn’t figured out before. And I was like, “Damn, I think I could do that. That doesn’t sound that hard.” The truth is that it’s really hard but…

Timur: It’s not impossible.

Haseeb: Yeah, it’s not impossible. So I started at the age of 15 or I guess at the age of 16 then and I started with $50 without being able to play or make any money of my own. And I very slowly grind it up until one year, I turned that $50 into $100K and three years later, I was one of the very best poker players in the world.

Ruben: How old were you?

Haseeb: I was 19 at that time. And I just bought my first house. Things were really crazy. This whole poker thing, it kind of rolled into this huge avalanche that I wasn’t really expecting. Because at that time actually, I wanted to be a philosophy professor. That was my life’s goal. And I remember at that time when I finished TAMS that I was going to apply to get into the University of Texas at Austin. I remember getting this big argument with my dad after I was making all this money as a poker player about studying philosophy instead of studying physics because my dad was always like, “You’ve got to study something technical.” My dad was an electrical engineer and so he had this technical background. My mom was very much the opposite. But as a kid, he always ingrained in us that “you need to do something technical” because he was like this immigrant. He was able to make a living for himself. When he came over, he was basically penniless. We had almost nothing. And by the time that I was 15, 16, we were middle class because he built a career for himself as an immigrant. And he tried to impress that on us and of course we totally rejected it. And so I was like no, philosophy. That’s what I’m interested in. I’m motivated by the life of the mind. I don’t care about making money. It’s totally abstract to me.

So poker was a totally insane roller coaster and about five years into it, I finally got off and by the time I was 21 was when I quit and I really had no idea what I was going to do because I’d spent 5 years of my life, basically my whole adolescence learning this game and mastering this game and really investing myself in this identity as being a great poker player. Once I decided to leave all that behind and just totally abandoned it and start over from scratch, I didn’t really know who I was or what I was going to do with myself. I was 21. I withdrew from school so I didn’t have a college degree. All I had was a chunk of change and just myself. So I decided to come back to the states and really kind of work on myself and develop myself as a person. I decided to go back to school, finish my degree, and I worked as a mental coach for a little while. I worked with poker players on the psychological and emotional side of poker. And I wrote a book, as you guys mentioned, and I also ended up giving away all the money I made as a poker player. I think in around 3013.

Ruben: Why?

Haseeb: And deciding that I wanted to start over with a blank slate. None of the stuff that came to me through poker I wanted to be dependent on. I wanted to basically totally mold myself from scratch. And so around then is the time that I thought about coming into tech. I was weighing a couple of different things like it may be law school, it may be business school. I always knew though that I wanted to Silicon Valley. That was the one constant. I remember I was thinking about going to law school, I was yeah I want to work in a law firm in San Francisco that does law for startups, which is a really stupid way to make it into tech. But that was actually the way I was thinking about it because I thought to myself, I have no skills that would make me capable of actually coming into tech directly. There are people who have been doing this since they were 12 years old. I’m never going to be able to catch up with those guys. I didn’t study anything technical at school. I ended up finishing my degree in English with a minor in philosophy. So I gotta get in through the backdoor is the way that I saw it. And at that time, I was like oh maybe business school, get an MBA.

And then what happened was, a client of mine, actually a coaching client, he was starting a startup. And he invited me to come join him. He was out in San Jose. I was like wow, this is a great opportunity. I should totally do this. My first instinct when I want to do something new is just jump into it and start moving around and figuring out what I can do. And I thought, great this is the opportunity to do that. So I asked him, I don’t have any skills though so what I can do and he was like, “Well, we need someone to do marketing.” And I was like, oh shit. I don’t want to do marketing but I was like, “Alright. I want to learn what it takes to become a great marketer.” And they were like a few months away from funding. So I started going online, looking at all these articles on growth hacking because that was the thing that was taught around all the time back then. And what I saw was that you needed to be technical. You needed to know how to code. And so I was alright I guess I’ve got to learn how to code. So I started doing all this online tutorials on HTML, JavaScript, SQL. And I found that one, I really liked it.

Ruben: What were some of those tutorials?

Haseeb: I think it was all just Code Academy at that time. I was doing a bunch of things simultaneously and so basically in the evenings and weekends, I was working on going through these just very basic tutorials. Just kind of like getting my feet wet. And I had the revelation as I was working through these, that one, I really liked it. Two, I was picking it up pretty quickly. And so I seemed to have somewhat of a knack for it. And third was that I completely hated marketing.

So I was like, “Alright, you know what I’m going to do? I’m going to try to become a developer.” Because this was may more fun and it’s way more interesting to actually try to build the product rather than try to market it. And basically, my plan was I’m going to learn how to become a developer as fast as I can and then by the time these guys get funding, I’m going to beg them to hire me as a developer.  And if they don’t then I’ll figure out what happens then.

Timur: So did you know about the whole tech ecosystem being in Texas or you kind of had an idea then you moved to San Jose or San Francisco and then you learned about this whole startup scene?

Haseeb: I had some awareness of the startup scene and I had read things about entrepreneurs but it was very much as a sort of distant world that I’d never really be able to take part in. And I was living in Austin at that time when I found out about coding boot camps.

Ruben: How did you hear about those?

Haseeb: A friend of mine was really interested in it and he had always been talking about the idea that one day he was going to join a boot camp and quit his job which he wasn’t doing. It was just sort of this pie in the sky thing. And I think the pieces connected when I realized that this was a fast track way to become a developer. And it was really risky and there was no guarantee that it would work but this seems like the best way in. So one frenzied weekend, I applied to every single boot camp in the Bay Area and I studied my ass off, tried to learn as much Ruby as I could. And I ended up getting into App Academy which is my top choice. So not really knowing what the future would have in store for me, I packed my bags, moved to San Francisco and started here at App Academy, a coding boot camp, learning how to code.

Timur: What a great story. And when you were applying to App Academy, how would you describe their interview process?


Haseeb: The interview process was, I don’t know if it’s changed by now but at that time, I remember there’s an online coding portion that you do, this set of questions that are timed. When you pass that, you go on and do a live coding interview. And that I remember just being sacred shitless at that time. I was just so nervous and stuttering and totally, I couldn’t sleep the night before. It was really, really intense. And there was this long coding problem that takes 40 minutes to solve and I remember having no idea if I did well. It seemed totally nebulous to me if I’d nail it or if I’d bombed it because the guy who was interviewing me just gave no feedback. But I did well. And then I did the final interview with Kush, the Founder. And everything went well and they were like, yea, come on out for a next cohort.

Ruben: And there is a new education model that’s popping out, this boot camp thing and so there’s a lot of them and so what actually led you to choose App Academy out of everyone that you were researching?

Haseeb: That’s a good question. So for me, one is that initially when I started applying, I had no idea which were the stronger boot camps and which were weaker. And at that time also, there wasn’t that much information that was readily available. I remember Yelp reviews and things like that where everybody just says their boot camp’s great and a few people say the boot camp is terrible. It’s like restaurant with three reviews. You don’t really know what that means. It could just be the weirdest person who decides to post on Yelp.

Timur: Or your mom.

Haseeb: Or my mom, yeah. So yeah, after applying, the biggest thing that clinched App Academy for me was seeing all the interview processes for different boot camps. And some of them, basically, when they interviewed me, they just called me on the phone and asked me about myself and they gave me an acceptance. I was like, okay, if this is the bar for getting into this boot camp, this is probably not the place I should go. I think a really good proxy for what these boot camps are like and I’ve come to understand this more since working at App Academy and seeing more of the boot camp ecosystem that honestly the biggest difference between boot camps is not the curriculum. It’s not the teachers. It’s not the network. Most of them are actually pretty similar. Most of them don’t really make that much of a difference. The thing that makes the difference is your peers and the rate at which and the intensity with which you’re going to be learning around them. And that’s the biggest difference. If you go into the places that are hardest to get into, that’s where you’re going to be surrounded by the really driven, just insane people who are going to work their ass off to try to become developers. And that’s I think the biggest difference between a really great boot camp and a boot camp that is not so great.

Ruben: I think that’s a great philosophy to join any type of organization.

Haseeb: Yeah, totally.

Artur:  But especially boot camps because it’s pretty unknown until you actually get to the place to see the intensity level so the best proxy is the entry process. So it’s a breeze, then most likely they just let everyone in, which means the filter is not there and then you’re going to be starting most likely from very foundational concepts and you’re going to spend out of 12 weeks that you’re there, you’re going to spend maybe 20% or 30% covering the very, very basics and stuff you could have probably learned in Codecademy.

Ruben: So you got through the interview, you got into the boot camp, you’re surrounded by all these really smart people, how did you feel? Was it easy?

Haseeb: It was not easy. I don’t think anybody who goes through a boot camp would find it easy. They’re really, really intense. They’re these life-consuming projects but it was a lot of fun. And I think that’s one thing that I think not everybody experiences in a boot camp is fun. I definitely had fun in the boot camp but it was also really hard, really intense, and really exhausting. But basically, what happened after I got in was I ended up rising up the top of my class. I worked my ass off while I was in there because for me, I moved up in San Francisco with a bag. That’s all I had. I left all my stuff back in Austin. I was living in this really shitty dorm with bunk beds with another guy who’s going to App Academy and just one tiny little room, smaller than the room that we’re in now. And that was my life. I just got up in the morning, went to App Academy and I was there until the night and I’d come home and sleep or sometimes not sleep depending on if we had assessment the next day. But that was basically what I did for three months, I guess two months.

So at the end of two months, this is a three-month boot camp. At the end of two months, the founders of the boot camp actually decided to make me an offer to become an instructor in the boot camp. So it’s funny actually because at that time I was planning to reject the offer because my thought was I know that I can do better than this. I was so totally confident that I can do better. My goal at that time, it’s funny actually, when I first came to San Francisco, my goal was Pivotal Labs because I thought Pivotal labs was the most hardcore, most insane to get into, just the flyest company out in the world. And I was like, if I go to join a consultancy, I will learn so much code. I’ll just be a code ninja. I’ll be better than anybody. And that’s how I’m going to make my start. And then people told me actually it’s not that hard to get into Pivotal Labs. I mean it’s so hard to get into Pivotal Labs but it’s not like a moon shot kind of goal.

Timur: It’s not getting into like Facebook or Google kind of a boot camp. It’s not 10x. It’s like 1 or 2x.

Haseeb: No, it’s a great company though. It is a fantastic company. But after talking to a bunch of people, I had mended my goal to be like, alright, I’m going to get into Facebook. So my goal at App Academy was I want to be good enough that I can get into Facebook. And so the idea of becoming an instructor for App Academy was well this is a detour. Why would I do this? It’s a waste of my time. But actually what ended up clinching it for me were a few things. One is realizing that I would be able to solidify my knowledge and learn at a much, just kind of like really have a deeper understanding of the stuff that I was learning by teaching it. But also just give me, actually one of the pivotal things that was in my negotiation for the instructor role was that I wanted the contract to be really short for two reasons. One is that I didn’t have health insurance at that time. But the other reason was that, that would allow me to basically work at App Academy for four months and then go out and do my job search. And so basically it gave me this buffer where I would learn a lot, get my chops, get some experience. And then give myself a platform to do whatever I wanted to do after that. So that’s what ended up happening except a couple three months in, they got away from the fact that I was looking for a job and trying to figure out how to do my job search.

And they were like, “Hey we want you to come on full time.” Initially, they made me an offer to be Head Instructor. And I turned it down because one, it would be really weird to be Head Instructor after three months, but also, because I knew that my goal wasn’t to teach. My goal was to become an engineer and to eventually make my way into tech so that I could be entrepreneurial. That was the original goal back when I was thinking about law school as a weird way to come into tech and then join a startup and be general counselor or whatever I was imagining that this was the way I was getting into that. And so, I ended up negotiating at that time that instead of being instructor, I wanted to work on product because I thought that would be the most interesting thing that I could work on that would teach me what I didn’t already know. And so I ended up picking a title, which was Director of Product. And I signed an offer with them and I ended up working there for about 9 months. I was Director of Product.

Timur: So what is a product in the context of a boot camp? Is it curriculum or internal tools that people use. Can you give us a few examples?

Haseeb: Yeah, that’s a good question. At a startup the size of App Academy at the least of time, Director of Product was just kind of a fluffy title. Basically, my job was to do anything that wasn’t getting done. So for example, one thing was developing new products and figuring out different ways we could take the fact that we have this core boot camp experience, how can we monetize this in different ways rather than just 12-week courses? Are there other ways that we can make money off this model? But then the other thing is, one, I was also doing a lot of the software engineering for our internal systems in our applicant trackings. I also was doing a lot of instructions with the lecturing. I did all of our Algorithms curriculum, which is like three weeks worth of lectures. And so I kind of played every role. I was sort of kind of an every man, which I think is very often what happens at startups that are fairly small like App Academy. So I did a lot of different stuff. I learned a tremendous amount from it which is really awesome.

Artur: So it sounds like you entered a completely new field and you completely dominated App Academy. They saw how talented you are and how quickly you could learn that they asked you to come on board but you did the exact same thing with poke, right? So I’m curious, what are the similarities and what learning strategies did you use to become world class at a particular area because you did it with poker and then two years later, you do it with coding. What is the secret sauce?

Haseeb: Secret sauce. Well, I think a lot of it is about process. A lot of it is about the way in which you organize your learning and the way in which you structure your learning. I think a lot of people think of the way to learn something is to just throw yourself into it and bash your head as long as you can. For one, we know a lot about learning now that we didn’t know, for example, 20 years ago, right? One of the big things that I talk about a lot in my blog is deliberate practice.

The idea of deliberate practice is basically when you’re trying to learn something, you need to give yourself feedback when you make a mistake. For example, most people, if they’re writing some code, they will just sit there and they will write code and then they’ll wait for someone to tell them why all that is bad or they’ll never hear it from anyone why all that is bad. In fact, a lot of people will actually avoid getting that feedback that the code is bad. And the way that I’d always approach it is that I would try to find the smallest possible thing that could be critiqued and then get feedback on it and then try to iterate on it.

So constantly, the feedback mechanism that you’re building into your learning is so important. For example, one thing that I did as I was preparing for App Academy was I was doing a lot of Codewars. It’s like HackerRank. It’s one of those sites where you can work on the very small coding problems. And the thing that I always did on Codewars is that I would try to solve a problem and sometimes I wouldn’t be able to solve it. It’s too challenging. I wouldn’t understand it. I would go and look at the solution. Or even if I finish that I would go and look at the solution. Almost invariably, the solution was much more elegant than whatever I did. It used all this fancy Ruby magic. It was just concise and there’s something really clever going on there that would never have occurred to me. And I think most people when they see that, they’re like “Cool, I’m done” or “I’ll never be that good.” That’s I think most people’s response is. My response is that, okay, I’m going to learn how to do that. What I would do is, without fail every single time, I would go back. I would read through the solution. I would go back. I would read through the solution, make sure I understood it, like the really elegant solution. And I would go back starting from scratch and tried it, implement that solution for memory. Just whatever it is the solution did, can I implement it without looking back? And if I failed and I couldn’t remember exactly what I did, I would do the exact same thing. I would scratch everything, go look at the solution again, make sure I understand it and go back and try to re-implement it from memory. And not really from memory but from understanding the pattern.

Ruben: That deliberate practice must be like learning to play the cello, same type of thing where you listen to your end goal like someone performing it as best as you wanted to sound. You learn the notes. You memorize it. You record yourself. And then critique it as if that was that recording. If it’s not there, you keep working backwards. You find a little spot. You keep working on it over and over and over again until you get better and you finally get there and interpret it your own way and then you add your own style to it so it has your own beauty to it whenever somebody else finds it.

Haseeb: I think music is a great analog for learning how to code especially the thing in music where if you’re playing a passive and you make a mistake, one of the big things in music is that you don’t just keep playing because you’re going to reinforce the bad habit. And again, that happens all the time in coding where you start coding something up and you know that something isn’t elegant. When you know that something isn’t coded up the right way and you just ignore it. You just keep blowing because that’s what you do. It might feel like it’s faster right now to do that but in the long run, it’s going to be much faster if you stopped, fix the mistake and get the code that you want to have before you would blow pass and wait for this fluge that would just end up accruing.

Ruben: Yeah, and related to that point, playing the same passage over and over and over again wrong, is not going to help you. So you could spend hours practicing how to code but if you’re practicing it wrong, it’s not going to work. Today, Bruce Lee died and something my cello teacher told me is that, I fear not the man that practices 10,000 kicks but I fear the man that practiced one kick 10,000 times.” You’ve got to do it to get better and better every time.

Haseeb: Absolutely.

Artur: It sounds like at this point in your journey, you’re working at App Academy. You’ve learned so much over the last nine months. Now you’re writing the curriculum. You’re also writing the back end tools for App Academy and then you decide to go into the job search, right?

Haseeb: Yeah.

Artur: Do you feel like that experience helped you in the job search?

Haseeb: Oh yeah, tremendously. For one, while I was at App Academy, I was also advising a lot of the students and these people would come to my office, asking me for advice on negotiating or how to deal with this interview or whatever. In part, I think I was kind of getting antsy at the time that I was Director of Product in that I still remember that goal of wanting to get into Facebook, the fire with which I came into App Academy, with this clear goal in mind that this star that I was going to hit. And then just being like, “Oh well this thing came along so I guess I’ll do this.” And I knew that I wanted to be an engineer. For better or for worse, I don’t know if I’ll be an engineer for the rest of my life. Probably not. But I knew that I need to spend time as an engineer at a software company. And so I decided at a certain point that this is great and I really love App Academy but I need to go and explore this thing. I need to actually spend some time as a real software engineer. So I told the founders that I was going to go out and search for a job as an engineer.

And it was interesting actually going on my job search because I remember knowing other people who taught at App Academy, all the guys I knew who had left App Academy had really easy job searches. It was just totally night and day compared to the students. The students would often have a lot of trouble that they’ve sent out a lot of applications and people wouldn’t take them seriously. And most of the instructors, it seemed like they just walked out with an offer in hand. Like they almost didn’t have to try. And so I thought that my job search was going to be gravy. And when I first started applying at companies, all I got were rejections. I think it was like 25 rejections that I got again and again and again. Some companies that I’ve, actually like I knew people. I had spoken with them for my time at App Academy. And I couldn’t get a bite from anyone.

Timur: Do you think it was your resume or what do you think was turning them off?

Haseeb: I think it almost certainly had to be my resume. Being somebody who had, one, because I withdrew from school. If you recall the story, technically, I graduated from UT-Austin in 2014. And I started in 2007. It was like a 7-year graduation and which is technically 9 if you count TAMS. So it was like really long time to spend in college, studying English, with a weird background as a poker player and now doing this weird product thing working on boot camp. So I think people just saw my resume and they were like, “I don’t know what the hell is going on here. This is garbage.” And it was really terrifying because I thought that I was good enough. I had learned all the stuff. I had worked my ass off to get here. I’d thought that I’d be able to show my skills and actually prove that I could do this. And it just seemed that I didn’t get a single technical screen. Nobody seemed to want to talk to me. Nobody was even interested if I could do this stuff.

And so, the first bite that I got was from a guy who I went to App Academy with actually. He was in my cohort. He was a really sharp guy. He still is a really sharp guy. He worked at 23andMe. He passed on my name to a hiring manager at 23andMe and this was when I started realizing that okay, maybe I should start using referrals and people I know rather than just going through cold applications because it seems like whatever their filters are, I’m not making it past. So the only way that I’m going to get in the door is by somebody saying my name and wanting me to manually jump that fence. So I ended up getting this phone screen at 23andMe. I totally blew it out of the water. They invited me on site and I felt like I killed it. Every single interview question, I just totally nailed. I got all the time complexities optimal and I remember walking out of that interview pacing back and forth in the train in Mountain View as being like, oh man just like savoring every question that I had because I nailed that. I was so perfect. Nothing that I would have changed about how I did that interview.

Artur: What do you think would have happened? So they called you that day and gave you an offer, do you think you would have just went with it? Because you just 25 rejections. If they called you back and said, we’re giving you an explosive offer. You’re at a point where you’re kind of crushed from all the rejections, do you think you would have taken it or you think you would have said no?

Haseeb: I think I would have said no.

Ruben: Before continuing that idea, when you got all those rejections, how did you feel? Did you doubt yourself?

Haseeb: I totally doubted myself. Maybe in a way, doubting myself is the wrong way of putting it. It’s more of like I doubted my vision of the world, if that makes sense. I doubted this picture of myself as being somebody who could just walk into an interview and nail it and have all these offers. I thought I’m going to have to really adjust my perception of how tech interviewing works. I’m not going to be able to just show up and write some code and prove that I can do this.

Ruben: What did you do to psych yourself back up?

Haseeb: 23andMe helped because I could tell that I could do this. The questions they were things I knew how to solve. I had the skills that were necessary to do this. Now when they emailed me back and told me that they rejected me and they didn’t want me, that definitely dug a little bit deeper. I thought I was coming out and I was like oh no I’m not. But I think a lot of it goes back to poker. When I was a poker player, I was really young, 16, 17 at the time and the biggest hardest thing about poker is losing because the thing in poker is that you will always lose. Poker is game that’s all about randomness and there’s so much noise and so much stochasticity in poker that I guess I would say the biggest thing about poker that teaches you about yourself is the fact that you have absolutely no control. There is nothing you can do to force yourself to win any game of poker. If your opponent has a better hand than you or if they’re just getting lucky or if they just go on a hot streak, you have no power. There is nothing you can say or do no matter how great you are, no matter if you’re the best player in the world.

One thing that I often tell people that really surprises them is that even if I am an amazing player and you are a really awful player, when I play you, there’s like a 20% chance that you’ll win. And that’s not the case in tennis or in chess or in any other game but in poker it’s always there. No matter how good you are, there’s always a chance that you’ll lose. And feeling that day in and day out everyday at a young age, I think you just learn a few things. And one thing that you learn is that any pain is transient –  any sense of self-doubt or disaster or like “there’s no way I’m going to be able to recover from this.” I remember many nights when I was a poker player and I lost half of my bank worth. My net worth just chopped in half in one night. And I remember feeling like I’m never going to come back from this. This is like months of my life that had been wiped away. I’m never going to be able to start over again and not feel this loss that I have just endured and the reality is humans are strong. And you wake up the next morning and it’s a little softer and you wake up the next day and you barely even remember. And if you focus on what you have in front of you then almost any kind of loss, I mean obviously there are grades of loss and losing money is one, the easiest thing is to lose, But everything is transient.

I think when coming out of getting this rejection at 23andMe, that day? I felt like shit and I felt like I don’t know if I’m going to be able to get a job. That was what I was saying in my head. I don’t know if I’m going to be able to get a job. But at the same time I also knew that tomorrow morning I’m going to feel different. Tomorrow morning I’m going to wake up. It’s going to be a new day. I’m going to apply to more companies. I’m going to talk to more people and the process is just going to continue and they can’t say no forever.

Ruben: What did you do to form that plan of action after 23andMe?

Haseeb: One thing that it showed me was that I had a lot more of an in, like I was saying, by getting referrals and talking to people. So I decided, cut the cold application. Those aren’t getting me anywhere. I’m just going to plug into my network. And I’m going to talk to everybody I know who works at a tech company and just do informational interviewing. So I talked about this a lot on my blog. But basically, I reach out to anybody. It doesn’t matter if they’re an engineer. It doesn’t matter if they’re a manager. It doesn’t matter if they’re a salesperson and if they work in support. If you live in San Francisco, you know lots of people who work in tech. And I literally just reached out to everybody I knew who worked at a company in which I was remotely interested, sat down, bought them coffee, and just ask them about what the company was like and about what their experience was, what they thought about tech, and eventually, I started getting referrals at more and more companies and that started this pipeline going.

The first thing for me was I applied to Triplebyte. Triplebyte is like this company that… basically what they do is blind interviews. They take somebody without knowing anything about your background, any of your resume, anything like that, work experience, and they interview. And if you’re good, then they figure out who you are and what you do and how long you’ve been doing it. And then they try to pair you up with, at that time I think was mostly YC startups but I think now they’ve branched out. So when I passed their interview, that to me was like the golden egg that was like, yes I can do this. I have what it takes. I knew that I did and this is the validation that I needed. And I think honestly after Triplebyte, so Triplebyte introduced me to a couple of companies but, honestly, the biggest thing they gave me was confidence. Just this unadulterated confidence that even if I don’t pass the interview and actually one of the two companies that I was connected to by Triplebyte, I was rejected from. I just had total confidence that I can do this. Anything that I can’t do right now, I will be able to do when I go home and look up the answer from interview. And so if I just do enough of these, I’m going to nail it and I just know that.

And from there, I got my first offer from Yelp and then I got an offer from Gusto, which I was connected to by Triplebyte. Then Triplebyte made me an offer to join their team and then from there, things just started popping into place. As soon as I had one offer and I let other people know that I had offers, people just started getting interested who normally weren’t responding to me. So I ended up getting an interview with Google and I passed the interview and I got an offer from Google. Then that opened the door to getting offers from Uber, Twitch, Stripe, all these companies that again, I wasn’t able to talk to all and Airbnb was one of them as well where actually I had previously gotten rejected for another position at Airbnb and then chatting with a guy who knew I had an offer from Google, he was able to re-open the recruitment pipeline. I did a phone screen, came on site, nailed the onsite, and they made me an offer. Basically, i negotiated, figured out what I wanted, very final stretch it came between Airbnb and Google and I decided to go with Airbnb and that’s where I work now.

Ruben: Awesome. So let’s take a step back to unpack this whole transition from 23andme to negotiations and the offer to Airbnb. First of all, did you approach the application to jobs similarly to how you approached finding boot camps? Did you just spray and pray after 23andme? I know you set up all the meetings but then after that, how did you approach the negotiation process?

Haseeb: After 23andme, I pretty much stopped this spray and pray strategy because I just knew that one, I was still working full time at App Academy while I was doing all this so not just preparing for interviews but also talking to people, getting coffee dates, sending out emails, doing all this stuff. I was basically only going off referrals because those were the only way that being somebody who had a really weird background and the one thing I had going for me was the ability to instill faith in people that I could do this, that was what I saw as my only asset. My resume wasn’t going to do much at all for me. So the second part of your question was…

Ruben:  How did you approach the negotiation? So the referral strategy started paying off. You started getting these offers and your first big one it sounds like wasn’t just Yelp and Gusto but it was Google which started getting the attention of anybody else where you hit a tipping point and then started getting this waterfall of offers. So you have all these cards that are dealt to you. How did you play them?

35:05 Haseeb: After I got Google, that definitely really changed the way that I approached interacting with different companies because I didn’t know this although I suspected it to some degree but as soon as I dropped the fact that I had an offer from Google, every single door opened. There was nobody who was willing to put my resume in the trash bin knowing that I had an offer from Google. It’s kind of like no one ever gets fired for buying IBM. I think that’s probably the recruiter approach to Google offers. And so knowing that I knew that I could get in basically any company that I really, really wanted to top somebody, as long as I could get my resume in the hands of somebody who knew someone or someone who I knew who knew that I had an offer from Google, they would be able to just make the conversation happen.

And so once I had offers and I had this offer from Google, initially actually the Google offer was not great. It was 165 all-in and that’s including stock and guaranteed bonus which is obviously really awesome. It was more than I was making at that time. But I knew that it was also on the medium to low-ish end for Google offers. So being that I’d seen a lot of people from App Academy get offers from Google, I think we’ve had 14 or 15 students get hired at Google from App Academy. So I had some sense of what students were making. And in my mind, I thought that I feel like I’m worth more than just the average App Academy student but it kind of seemed from what I was getting that I wasn’t, and I wasn’t so, “If that’s what the world thinks, cool. I’m just going to have to go and prove them wrong.”

But I knew in the very beginning that I had some room to negotiate because any offer always starts with a room to negotiate especially at a big company. So I was thinking okay we’re going to settle somewhere around maybe 180 or something. Maybe 15k, 20k then maybe I’ll be able to push them up but that’s probably as far as I’m going to go. And so I remember when I got the Google offer feeling like I got 180. That’s basically what I’m going to be doing for the next year. But as I got more and more at these companies and I started… it was funny. the very first offer that I got, the all-in value, I think it’s from Yelp, the all-in value was 117k. And by the time that got my final offer from Airbnb, the total all-in value, including the value of the RSU’d was 250k. So it was more than twice what I was originally offered.

Artur: It’s insane.

Haseeb: It was really dramatic and definitely it wasn’t what I was expecting going into it.

Timur: And I think in our pre-interview, we talked about a little bit about the mindset you should approach each offer, kind of the negotiating leverage you want to bring to the table, can you talk about some of the tactics that you’ve witnessed recruiters use to take away some of your leverage? Because I think that’s very valuable to our listeners. There’s a few things you mentioned like explosive offers and what to do in those cases. Can you just tell our listeners what you found through experience that you got to do?

Haseeb: The first thing in understanding a negotiation is that negotiations in large part are really about power, which makes things very, very tricky to navigate and most of the time, most people in most negotiations, give up their power. And so one of the big things that you have to do is be really mindful of what your power is, where it comes from, and how to maintain it. Most of the time in a negotiation when you’re negotiating with a recruiter, your power comes in the fact that you don’t have to take the job. That is probably your primary source of power. There are other sources of power in a negotiation but that is a huge portion of it. So the number one thing that you can do for yourself if you really want to have leverage in negotiation is have another offer. And not only have another offer but have the other person believe that if this deal that you’re making with them doesn’t work out, you’re going to take the other offer. A lot of people suck at that. They cannot actually represent that the company they really want to go to, they’re going to consider going to the other company if the offer isn’t good enough, right?

And so, so much of a negotiation is about not giving away the way that you really feel. Because oftentimes, I know a lot of people who for example, they just really, really love one company they’ve got an offer from. And so, they’re like, “I just know I’m going to sign here. I’ve got other offer here but I know I’m going to sign for this company.” They can smell that a mile away. They know exactly what that sounds like on the other end of the phone. If you say, ” I want 5k more. I want 10k more,” they might give you some portion of that and then say, “No, we’re not moving any further.” Because they know that that’s what they need to get you. But if you can actually really represent that “If we don’t get a deal, I really want to work for your company but if we don’t manage to find a deal that we’re both happy with, I’m probably going to end up working somewhere else.” If they really believe that, they’re going to work their ass off to try to find a deal that they can come up with that’s going to be mutually beneficial. So I think that’s one big thing that I think is important to keep in mind when you’re in a negotiation.

So you mentioned exploding offers, like tricks that people use to not get you to negotiate. These kind of go together because exploding offers are probably the primary way that a lot of companies especially startups nowadays try to get people to not negotiate. So if people aren’t familiar, an exploding offer is basically an offer that expires within usually 24-72 hours So basically, you have a day, two days to reply and if you don’t, then the offer expires and the whole process is wasted. That’s sort of what they’re signaling. And so I actually got a few exploding offers while I was in my job search. The advice that I give and I talked about this again in the blog post. The advice that I give is that you should outright reject any offer that you get that’s exploding. And when I say outright reject, I don’t mean just like take the offer and then don’t do anything with it. What I mean is you should tell them, “This does not work for me. If you give me an exploding offer, it’s like you didn’t give me an offer at all. This is garbage. I cannot do anything with this offer. So it’s really unfortunate that we both wasted our time, but I’m just letting you know right now that there’s no way that I can make an important life decision in 24 hours. It just doesn’t work. So I’m sorry but I can’t even literally make a decision off this.”

Ruben: Is it an important caveat to do that, to reject something when you have another offer or when you have some experience under your belt? Or do you recommend that in any situation even coming straight out of a boot camp?

Haseeb: Honestly, I would say that even if you’re coming straight out of a boot camp, almost never will somebody be willing to walk away. If you do that at the moment that they give you the offer, again, this is not something that you do after saying, “Okay, that sounds great.” And then you’d call them back a day later and tell them, “Hey, it’s no good this exploding..” You need to make it really, really crystal clear that this is just like a non starter for you. Because there’s huge difference between somebody who comes back a day later and says “Hey, what is this exploding offer business? I don’t really like this,” and somebody who when they receive the offer, they’re just like repulsed.  

Ruben: And it goes back to that confidence thing that you were talking about.

Haseeb: It goes back to confidence but it also goes back to giving away your hand. If you are somebody who when you receive an exploding offer, you just sit there and you’re like okay, okay, okay, and then the next day you call back, they know you’re not the kind of person who’s going to get an exploding offer and be like, “What are you talking about? Of course, I’m not going to do this.” That is a person who has a lot of value. That is a person who knows exactly what they want. And if you don’t speak up initially, they know you’re not that person. There is nobody who is like really, really valuable and has a ton of options and is going to hear about an exploding offer and just sit there and be like, “Okay. Great. Thank you for letting me know.” They’re going to be like, “No, what are you talking about? This is bullshit. There is no way that I can do that.” The language I’m using is a little bit aggressive. Don’t be aggressive when you’re turning down an offer. Try to always be compassionate and understanding and say like, “This really sucks because I really want to work for the company and I’m really excited and I really enjoyed the interview process but there’s just no way I can make a decision with that amount of time.” You want to always be excited about the company. You want to always be happy to continue the negotiation.

Artur:  It almost sounds like recruiters whose professional job is to give out offers almost daily, they’ve done it so many times that it’s almost unfair that as an engineer or as someone getting an offer, you’re probably getting an offer once a year, maybe once every so often. Whereas as a recruiter, you’ve done it so many times, so you could read people very easily as well and it sounds like an explosive offer is almost like a test to begin a negotiation because if you accept the explosive offer that you only have 24 hours to decide, you don’t say anything to reject it, then they’d already know that if you start negotiating your salary, maybe we’ll give him 5,000 more but we’re not going to really go up because he doesn’t value himself as an engineer or what he brings to the table.

Ruben: And I think something else that you brought up too that’s interesting is being aware of what other people are getting in that position. So like you knew the average person that graduated from App Academy was getting X and they offered you Y but you knew that you were a cut above just given what you had done at App Academy. So you knew your value and you knew that they were trying to low ball you and so you had leverage. And you know what their incentives are. They’re trying to hire to hit their numbers too so it’s interesting.

Haseeb: Yeah, absolutely. The other thing too that I think is really big in negotiating is understanding, like you said, the other person’s incentives. The thing too is that when a lot of people think about negotiation, they think about it like it a zero-sum game. Meaning that they think, “If I get something in negotiation, you must lose something.” And basically, if you add the wins and losses together, it’s always zero. I can only win when you lose. But that’s not really true in a negotiation and there are a lot of ways in which this really, really comes in handy when you are negotiating.

For example, when I was talking with companies, one of the things that I would straightforwardly ask them is, “Which is easier for you to give me? Is it easier for you to give me cash? Is it easier for you to give me salary? Or is it easier to give me RSU’s?” And most companies, what you’ll find is most of the time, it’s easier to give a signing bonus or easier to give RSU’s than it is to give salary because a signing bonus is a one-time thing. They don’t have to pay again and again. And it doesn’t mess with their payment bands for different salary ranges. And they don’t have to have it on their books as part of their burn rate that they’re going to have to pay every single year. And RSU’s of course are higher risk. The thing is if you as an engineer are happier, like you’re totally fine out of taking a one-time payment or assuming more risk, then you can actually get a higher value offer by moving more the money out of salary into stock or cash.

Ruben: I think that’s a very good point.

Haseeb:  Yeah, quite a few times in my negotiating.

Artur:  That’s awesome. So let’s take a step back and talk about, it sounds like you were very good in negotiating but you were even better at solving these technical challenges and killing the on-sites and we know that a lot of on-sites are whiteboarding, algorithm questions, data structures. Can you tell us a little bit more about what you did to prepare for those interviews? Because you literally went against the giants, Google, Uber, Stripe, Twitch, Airbnb. These companies represent the cream of the crop of engineering teams. So you’ve seen a lot of their interview processes. Tell us a little bit about what advice would you have for people who want to prepare for these types of interviews and what tactics you used to get yourself ready.

Haseeb: Absolutely. I first learned computer science at App Academy. That was my first introduction. When I came here, I didn’t know what a stack or a queue was. I didn’t know anything at all. And so the very seed of what I learned came from the algorithms curriculum at the end of my time here at App Academy which I eventually ended up teaching. But when I was preparing for interviews, it’s a totally different beast to just know an algorithm or know something about computer science and to actually do this thing that is standing in front of a whiteboard and solving a problem for somebody else. It is performative in a way that poker for example is performative. And so I knew that if I wanted to get good at this, I’m going to have to practice this thing. I’m going to have to practice as close to the skill as possible. In learning, we generally call it practice-like performance. That you want to get whatever it is the way you’re practicing as close as possible to the actual performance.

For example, Olympic runners, one thing that often hear is that they will go the day before the actual race and race on the track that they’re going to race. And they’ll imagine themselves actually being at the Olympics. So that’s kind of the approach that I took that trying to teach myself how to do these interviews well. I would practice whiteboarding with people. In my off hours, when I had time with people, I would sit down with them, give them a problem out of Cracking the Coding Interview and we’d interview each other and try to give real feedback as we were in a real interview. So that was for the actual in-person side.

For the skills side, the approach I took was very similar to what I described with Codewars. I talked about this deliberate practice thing. Very much the same thing when I was learning how to solve algorithmic problems. So I remember I got Cracking the Coding Interview, which I think is a really good repository of problems and basically what I did is, the first three problems out of every chapter, I would go through and I would solve them. So I’d write the code. Read out the solution. Make sure I actually got it. Just to get it in my bloodstream of writing code that solves these problems and getting the optimal time complexity. But after you do 20 or 30 of these, the important thing is actually not the ability to code. Once you do enough of these, you can code up a solution once you know the solution. The limiting factor is actually finding the algorithm and being able to express the algorithm correctly. So after that point, what I would do is instead of actually writing code for the problem, I would just write out by hand in words what I thought the optimal solution was because that’s really the hardest part of the interview.

Timur: And just to clarify were you writing pseudocode or writing out like a sentence of how you would say to the interviewer?

Haseeb:  Not even pseudocode. I would just write out a sentence basically. And not even what I would say to an interviewer but just like so I knew what the solution to the problem would be. And so I’d say, yeah if I just do this and put in the link list, etc. then this would happen in 48:36 time and space. And then I would go look up in the book to see if that was the optimal solution and if it wasn’t, then I would go back and read the optimal solution and write it down. So then what I would do is having gone through that and figured out what the solutions were with all these problems, I withdrew myself. What I had was this running queue of problems that I’d give myself and any time I was working on a problem, even if I’d already seen it before, if I couldn’t solve it or if I was taking too long to solve it or if I didn’t remember the solution that I had already come up with, I would go look up the solution. Implement it the same way I would do with Codewars. But I’d put it back into the rotation of problems that I had to work on.

So any time that I wasn’t solid with something, I would keep running into it again and again and again until I was solid with it. And that was the approach that I took to preparing for interview problems so that by the time that I was interviewing a lot of these companies, a lot of times that I’d get problems that were very close to the problems that I had trained on. The reality is like the space of possible computer science problems is not that big. It’s like one class worth of algorithms and data structures that every single company is pulling out of their ass. So you just learn many of the permutations of these common problems. It’s actually not that bad. I think it’s something that you can do in just a couple of months if you really put the time in.

Timur: Totally, and on the topic of deliberate practice, did you do it daily or did you have a certain routine that you were following like going to the gym, how you’d do it five times a week, for an hour, you time yourself. Was it something like that or was it more spontaneous where you had a rotation and you were just picking from a rotation whenever you had free time?

Haseeb: Yeah, at that time I was working full time so it really was kind of dependent on the fact that some evenings I just had to work that I finish at 8:30 or I had other stuff going on. I would make sure that I’d put in time every weekend. But it was more just a matter of like okay do I have two hours here? Do I have an hour here? Do I have 3 hours here? When I was doing Codewars, alternatively back when I was trying to apply to App Academy, there I was much more structured. There was more like, I’d spend like an hour and a half at a time just working on Codewars then I’d take a break, go refresh myself whatever and then come back and basically do it in these sort of sessions that are fairly well-encapsulated and trying to code generally speaking for like 5-hour stretches is not a great idea because you just get so much mental fatigue from sitting in front of that. It’s really good to just refresh your brain and kind of rattle yourself a little bit and get your blood flowing.

Artur: Awesome. Yeah, another question is do you have any stories of maybe some other people that you’ve taught this approach and how they’ve used your strategies and tactics to either learn how to code or negotiate an offer or find a job at a startup?

Haseeb: It’s funny actually I was just chatting with… my buddy, very close friend of  mine who lived in Austin, he was actually the guy I mentioned earlier as the person who kept talking about wanting to go to boot camp. So he was working as a paramedic in Austin and that’s where he and I became really close friends and he actually was studying Philosophy at University of Utah. He dropped out and then later got an Associates to go into Paramedicine. And so he was working as a paramedic thinking like, “Oh one day I’m going to go into this coding boot camp.” And then I was like, “You know what, I’m going to actually do that.” And so I came out here in San Francisco, got to App Academy then all this crazy stuff and I remember I would call him up every week and be like, “Hey, you’ve got to come out here. You’ve got to come do this. There’s so much stuff going on here and I know that you’re smart enough to do it.”

And so he was a really sharp guy but he definitely has a lot more Impostor Syndrome than I do. And so I finally convinced him to come out here and I gave him the exact same regimen that I followed like grinding out Codewars hours a day. He got into App Academy. He came out here. He went through the course. He graduated fairly high up in his class. And basically, all of the advice that I have capitulated to you guys, he did the exact same thing and coming to me every weekend being, “I’m having trouble with this.” And so I remember babysitting him many, many weekends where he was freaking out about not knowing whether he could do this. And again, this is a guy without even a college degree, not even what I had. And I think he graduated in January and he actually got a job. He was one of the very first out of his cohort to get a job. And he got laid off from that job two months later, And he was just devastated because he thought like, ‘Wow! The whole coding boot camp thing worked.” And then he was like, “No, it didn’t. It totally didn’t work. They found that I was a fraud.” He has this whole narrative of how everything had just collapsed and he was found out.

But I kept coaching him and this very same thing with working on different problems out of Cracking the Coding Interview, going through this rotation. And actually just a few weeks ago, he got an offer from a startup in San Francisco working in a real shop and he’s killing it now. When he got his offer, he only had one offer. And he was like, “I can’t negotiate. I just got accepted. I just got to accept this offer.” And I was like, “No dude. You have to negotiate. You have to negotiate.” And I almost wrote his emails. I didn’t write his emails but I strongly advised the wording of his emails and I coached him on the phone of how he was going to go through these phone calls. And he ended up getting I think like 15k more than they initially offered him when he signed.

Ruben:  So what are you up to now? What’s your plan? I know that a lot of people that initially read the headlines of the story saw the dollar signs but we had a pre-interview kind of like, what are you thinking about doing next?

Haseeb: Yeah, I haven’t really spoken about in this interview but originally the reason why I got into tech and originally the reason why i wanted to go into a profession like law or business school or tech in the first place because I wanted to earn to give. So the whole idea of Earning to Give for those who haven’t heard of it is the idea of pursuing a lucrative career so you can donate more money to charity. And so, there’s this whole movement called Effective Altruism which is all about finding the most effective way to improve the world. And I became convinced at the age of, I can’t remember how old I was but two years ago, that Earning to Give would be the best way for me to have a really powerful impact. So most people when they think about earning to give, they might think about someone like Andrew Carnegie or Bill Gates who makes a crap load of money and then donates it to charity, right? In a way, when you’re that rich, it’s kind of harder not to donate to charity than it is to donate to charity because what are you going to do with your extra billions of dollars. But the idea of Earning to Give is to give money no matter what you make or not necessarily no matter what but if you’re making not really much money at all, probably you don’t have any money to spare to give. Because of that, every year since I’ve started making money out here in tech, I’ve been giving 33% of my income to…

Artur: Pre-tax, right?

Haseeb: Pre-tax. And I’m doing that in large because this is one of the biggest ways that I think that I can have impact directly in my life and hopefully also, through the things that I do myself. So this year, my hope is that I can give about $50,000 because I get RSU’s. With those RSU’s don’t turn into cash for quite a while unless Airbnb goes public. So I’m going to be donating that amount of money to charity and I hope to do so every single year to donate more and more and that eventually I can donate half of my income is my goal but I’m not quite there yet because San Francisco is pretty expensive. So right now, I’m working at Airbnb as a software engineer and I really love it. It’s an amazing place. But I know that eventually my goal is going to be to go into entrepreneurship and to found my own company someday. So I don’t know when that’s going to happen. I still got my ear to the ground. I’m still figuring things out. But I know someday that’s in the cards.

Timur: Awesome.

Ruben: We’re rooting for you.

Haseeb: Thank you.

Artur: So at this point in our podcast, we do The Lightning Round and this is the point where Ruben, Artur and I will ask you a series of questions. Try to give us brief answers but include tactics, strategies, any resources that you used to get to the point where you are today.

Timur: This question will take you back to the basics. Imagine you get dropped in a new city. You only have a $100. You don’t know anybody and you’re starting again from scratch, what would you do and how would you spend that $100?

Haseeb:  Is this in America?

Ruben: Anywhere.

Haseeb: But it matters a lot where.

Artur: Well, you get to decide.

Haseeb: I can decide which city?

Artur: Yeah, you get to decide where you get dropped.

Haseeb: Okay, I would drop in San Francisco and I’d find some of my friends. It sounds pretty good. Okay, I would imagine that it’s a city in the United States and I don’t know anybody but I can speak the language. Probably what I would do, if I really imagine this, probably what I would do is I would try to find the nearest university and go to the nearest bar in that university. And try to talk to people and see if I can build a relationship because I think it tends to be the case that students tend to be the most welcoming of random people with $100 in their wallet and with no other idea what they’re doing. So probably I’d start there.

Ruben: Throughout this process, whenever you hit any of those roadblocks or any type of site that you talked a little bit about your process but was there any piece of music or a movie that you watched or quote that you heard that inspired you to get psyched up and break through that wall?

Haseeb: That’s a really good question. There’s this book that I read a couple years ago, that really, really influenced me. It’s by this guy Par Lagerkvist who won the Nobel Prize for Literature and it’s called Barabbas. Are you guys familiar with Barabbas? Have you ever heard of…

Ruben:  Yeah, in the Bible?

Haseeb: Yeah, in the Bible right exactly. Obviously, I’m not Christian but I’m familiar with the story of Barabbas. He was the guy who was going to be crucified but he was like a brigand of some sort and it was decided that he would not be executed and Jesus would be. And so the story follows the life of Barabbas when he is basically freed. It’s about this guy who sort of has to regain his life or try to figure out the meaning of his life being that he’s now been exonerated for something that he shouldn’t have been.

Ruben: Very interesting.

Haseeb: I remember that story really, really had a deep impact on me. I don’t really know if it’s the most direct answer to that question but I’d say that book.

Timur: That’s a great answer.

Artur: The next question is having gone through this journey of breaking into a startup, learning how to code, teaching others how to code at App Academy, what is the one piece of advice that you would want one of our listeners to know who is contemplating maybe leaving their corporate job and then breaking into startups?

Haseeb: What is the one piece of advice, if you’re working in a corporate job, I would say as much as you may be hearing a lot of these narratives, I mean I’d imagine if they’re listening to this podcast, they’re probably inundating themselves with narratives like this one. As much as a lot of these narratives make you think that the right answer must be to quit your job and throw everything away and just go jump into the deep end, i would imagine that for most people that’s probably not the right answer. For most people I would guess that there’s a lot that you can probably do right now that you’re not doing. The fact that you’re not doing that thing that you could be doing right now is sort of a stronger litmus test in a lot of ways of whether this would actually be something that you should do.

So I’m thinking right now of let’s say you’re somebody who works in customer support of finance or some other thing. You probably know developers. And if you don’t, you could very easily meet some. You can go in the evenings and go learn how to code on Codecademy. You could talk to people who work at your company who are already engineers and ask them if they’ll teach you. There are many, many paths to grow. And before you decide that it’s time to throw everything away and gamble it all, know for sure that this is something that there’s no way you can’t do it.

I struggle a lot with writing and when I was younger, I really thought that I was going to be a writer, that this is going to be a big part of who I became. And I did eventually write a book but it was a very uphill battle to write that book and one thing that writing a book taught me is that I’m not a writer in the sense of, it is not something that I wouldn’t be able to just function or live if I didn’t do. If you told me I’d never have to write again, I would probably be mostly relieved. And that’s not true for everybody. There are some people who have you told them ” you can never write again,” their life would not even be worth living anymore. And those people are the people who end up becoming great writers. A lot of them are so shady but a lot of them become great. So that is probably the response that I’d give.

Timur: Awesome. Going through this process, what is one thing that you fundamentally believed in that changed your mind on after completing going through App Academy, finding a job, becoming an engineer?

Haseeb: One thing that I changed my mind on.

Timur: Yeah, that you fundamentally believed in going through the process.

Ruben: You believed something going into the process and then after the process, you changed your mind.

Artur: Or maybe you had a notion or something you believed that you…

Haseeb: That’s tough because I’m right about everything. So it’s really hard to…I mean there are some things that I can think of that are more personal but I’m trying to think of something that’s more extrinsic to me. I guess the thing that kind of surprised me in talking to a lot of these companies, those are kind of one of the fondest experiences with myself is that companies actually can’t a tell a lot from you from interviews. The way that I’d imagine interviews before I started doing them was that there’s like this window into your soul and that a company that sees you as you are and they decide whether you’re the kind of person who’s going to work here. But the reality is that an interview is just a mess. It’s just totally bullshit and weird and sweaty and it’s just like “I like you for the 40 minutes that I met you.” And some companies kind of get that. They do understand that there’s actually nothing much that we can know from you even from interviewing you. So just first seeing that in the flesh and seeing that really yeah, companies see this very, very thin slice of who you are and there’s a lot that they can’t tell about you from an interview.

Timur: So is it something that you could use to your advantage?

Haseeb: Oh absolutely. Because that’s why it actually helps to prep for interviews. If interviews were a window into your soul, there’d be nothing you can do because you’re not going to change your soul in a few months but the very fact that that is the way they are it means that you can prepare specifically for interviews and work on interview skills and it’s weird that it’s sort of arbitrary in the same way that people who are good at negotiating make more money. Why? Do they deserve to? Not really. There are a lot of people who are really excellent at their jobs who suck at negotiating and they don’t make as much money. But this is the reality of the fact that negotiating is a part of running a marketplace. And so the same thing I think with interviewing is that people who are good at interviewing get better jobs. There’s not a lot that you can really do about it.

Artur: And I remember something you said before how you should never forget that interviewers can’t read your mind. I think that was super powerful because some people come into the process thinking like, “They’re going to somehow figure out what I’m feeling or how much I like this company or how much I don’t like this company.” But  can you just on it a little bit?

Haseeb: That’s one thing that people always fear. It’s kind of a connection back to poker where one of the worst things you can do in poker is think that your opponent thinks the same way you do or that they know the same things that you know. But they see the world the same way that you see the world. That’s just the basic thing about communication and interpersonal interaction but it gets so magnified in negotiation where somebody is just terrified that the recruiters are going to know that I don’t have any other options. Or they’re going to know that I’m not good enough or they’re going to know whatever it is that you think they’re going to know. They’re not going to know it unless you tell them or you give it away through your behavior. Even if you’re nervous on the phone or even if you’re fumbling or fidgeting, the reality is that most signals are noisy, meaning that even if you’re giving away some signal that you’re nervous or that you’re scared or that you don’t have any other better offers or that if they rescinded this rescinded this offer, you’d be devastated. They don’t know that. All they know is that you’re nervous. And you could be nervous for a million different reasons. Some people are nervous just all the time. Stop believing that people can read your mind because they can’t. They could read your actions and your actions can often give things away. But they cannot read your mind.

Ruben: And last question, can you share any online resources outside of your blog, Codecademy, Codewars, that you feel would be helpful for people that are trying to break into tech?

Haseeb: For breaking into tech, specifically for engineers?

Ruben: Whatever.

Haseeb: I’d say one thing that I’ve found super helpful is actually a podcast by this guy Jeff Meyerson called Software Engineering Daily.

Artur: i love that. I listen to it almost everyday.

Haseeb: Yeah, it’s a great podcast and I’ve been listening to it since I first got here to the Bay and it’s just given me a lot of context on just understanding from a wider lens, the ecosystem of tech. And there’s different companies, different technologies, the way that developers talk about tech. The easiest way to learn that is just by listening to them. To me, it’s almost like immersion therapy. It’s like if you want to learn French, go to France and just listen to French people all day. You will learn French.

Artur: And if you want to break into startups, just listen to this podcast.

Haseeb: Listen to this podcast yeah exactly.

Ruben: So how can people get in touch with you? What’s the website for your blog and everything else?

Haseeb: Yeah, totally. So my blog is haseebq.com.

Artur: We’ll definitely include in the show notes.

Haseeb: Okay, or how to spell my name.

Ruben: You can spell it out if you want.

Haseeb: Okay it’s haseebq.com and you can find me on Twitter @hosseeb which you can also find just through my website.

Ruben: Awesome. Very cool. Thanks again for spending time with us and we look forward to having you back after you make your next move.

Haseeb: Alright. It’s been a pleasure.

Timur: Yeah, thanks a lot man.

More from this show


Episode 4