CS career megathread / AMA

User avatar
suralin
Posts: 4598
Joined: Thu Jan 25, 2018 11:36 am

Re: CS career megathread / AMA

Post by suralin » Sat Oct 13, 2018 2:33 pm

wizzy wrote:
Fri Oct 12, 2018 9:49 pm
suralin wrote:
Fri Oct 12, 2018 8:54 pm
ok so.. i'm glad but also in a slight dilemma:

i ended up doing the uber onsite and i think bc i had nothing to lose? i did really well. like easily the best set of interviews i've ever had and both coding problems* were completely new to me too

anyway ended up getting an uber L4 offer that's at the top of their range:

$154,350 base (maxed out salary range) + $480k RSUs over 4 yrs + $15k annual bonus + $55k annual refresher grant over 3 yrs
= ~$310k

the initial grant has a 1 year cliff, the refreshers don't—monthly vesting for both. she said they can add a sign-on bonus monday. i'm p confident that uber will be IPOing in 2019. the RSUs are benchmarked off their latest 409a valuation, not the preferred price from the latest investment

comparing uber to snap, uber wins in terms of business outlook, ~prestige~ / company rep, and probably quality of ppl i'll work w. snap has the edge on role. i'd be a software engineer, backend, at both but snap is ML and uber will be more data infra. comp is kind of a wash? the thing with snap's TC is that the RSUs are based on the average closing price of aug & sep and so the numbers have already dropped quite a bit. the thing w uber is regardless of IPO confidence it's still not real money yet. upsides are likely close?

reneging would suck but it's not a HUGE deal. (big fan of the "companies will screw you over at the drop of a hat, they're not your friend, look out for yourself first" school of thought)

idk i have a lot more to say but will leave it at that for now. opinions v welcome
wizzy wrote:would again love any thoughts you have
*in total the onsite was 2 coding rounds + 1 system design + 1 eng director behavioral + 1 'bar raiser' combination; the bar raiser is a senior person outside of the hiring team who has ~a mandate to keep overall company hiring bar high~
Oh nice man, that's awesome! Congrats!!

Definitely agree with you on "companies will screw you over at the drop of a hat, they're not your friend, look out for yourself first," so beyond having an uncomfortable convo, I wouldn't really care much about reneging. I'm all for employee autonomy, and I think it's kinda baked into tech hiring anyway with the way that people hop jobs in search of a better role/higher TC over the boomer company loyalty mindset.

I also think Uber will IPO in 2019 from what I've read and from talking to people who seem to know what they're talking about. It's harder to evaluate Uber's financial outlook since they don't have public disclosure requirements, so it's harder to dig into the numbers that support their valuation, but they've also been one of the most anticipated IPOs of the past 5 years, so I think that they're more likely than not to have a successful IPO day/week and that you'd (hopefully) see some stock appreciation between now and then.

Would there be any lock-up period for you going into the IPO?

Also, what do the Snap stock numbers look like now with the average of August/September?

I think I'd lean Uber from everything you've written since they seem to check a lot of your boxes with respect to future of the business, prestige, quality of peers, etc. To me, Snap made a lot of sense vs. FB, but Uber seems to have a lot of the upsides Snap has with possibly fewer downsides.

I obviously don't know nearly as much about the technical side of things as you do, but how much do you value the Snap ML role vs. data infrastructure? Which aspect of infrastructure (if they break it down by data platform, network, dev infra, SRE)? And do you have any insight into Uber's workplace culture (or if that's just Blind gossip)?
thanks man!

yeah after sleeping on it i'm not at all concerned about reneging

good question/point re: lock-up, i believe it's 6 months but i'll check

snap's avg closing price in aug/sep is ~$10.58, so my RSU package is already worth <70% of original :/. comes out to a TC that's almost exactly the same as uber's: 300-315k depending on assumptions

agreed re: similar upsides w possibly fewer downsides. about role, i had been valuing snap ML nontrivially more, but the uber eng director i interviewed w actually reached out late yesterday and we had a good chat (i assume it was a sell call). i asked some tough q's re: culture, management/performance philosophy, and directly bringing up ML interest. she brought up the good points that most ML in practice just is data / data infra work, that there *is* scope on the team for ML if i want, and that as SWEs we're empowered to solve problems / approach opportunities however works best. to me rn, a direct ML role is more a means to an end, where the end is getting out of my comfort zone and optimizing for growth and learning—the uber role def checks that box. as far as learning the ins and outs of ML theory, i'm actually enrolled in georgia tech's online CS master's program w a ML specialization so it wouldn't be like i'm abandoning it

re: workplace culture, i was a bit skeptical but it really does seem like uber has done a 180. everybody i met was super awesome; my prior phone screen interviewer reached out specifically about culture too and told me i could email her anytime w further q's. also the WLB is apparently great. people work remote whenever they want and there's unlimited vacation that they actually take advantage of

in short, almost entirely convinced i'll take uber over snap esp if i get any kind of signing bonus monday. the only thing giving me pause is concern that i'm uh blinded by rep. i'm not as sure about uber vs google, we'll have to see how that pans out

(^ side-note: it sounds like i also have a google offer coming; i had assumed 👻ed by the recruiter bc it's been over a month but apparently 1 interviewer took literally weeks to enter feedback. kinda surreal—i was really thinking that i had pretty much just gotten lucky with snap (imposter syndrome goes hard) after receiving what felt like so many rejections and was also questioning whether i was a FRAUD as a data engineer. so to end up w multiple top-of-market L4 SWE offers w ~3 YoE feels great. apologies for probably coming off irrational and or annoyingly self-congratulatory)

User avatar
wizzy
Posts: 6889
Joined: Thu Jan 25, 2018 2:43 pm

Re: CS career megathread / AMA

Post by wizzy » Sat Oct 13, 2018 3:42 pm

suralin wrote:
Sat Oct 13, 2018 2:33 pm
wizzy wrote:
Fri Oct 12, 2018 9:49 pm
suralin wrote:
Fri Oct 12, 2018 8:54 pm
ok so.. i'm glad but also in a slight dilemma:

i ended up doing the uber onsite and i think bc i had nothing to lose? i did really well. like easily the best set of interviews i've ever had and both coding problems* were completely new to me too

anyway ended up getting an uber L4 offer that's at the top of their range:

$154,350 base (maxed out salary range) + $480k RSUs over 4 yrs + $15k annual bonus + $55k annual refresher grant over 3 yrs
= ~$310k

the initial grant has a 1 year cliff, the refreshers don't—monthly vesting for both. she said they can add a sign-on bonus monday. i'm p confident that uber will be IPOing in 2019. the RSUs are benchmarked off their latest 409a valuation, not the preferred price from the latest investment

comparing uber to snap, uber wins in terms of business outlook, ~prestige~ / company rep, and probably quality of ppl i'll work w. snap has the edge on role. i'd be a software engineer, backend, at both but snap is ML and uber will be more data infra. comp is kind of a wash? the thing with snap's TC is that the RSUs are based on the average closing price of aug & sep and so the numbers have already dropped quite a bit. the thing w uber is regardless of IPO confidence it's still not real money yet. upsides are likely close?

reneging would suck but it's not a HUGE deal. (big fan of the "companies will screw you over at the drop of a hat, they're not your friend, look out for yourself first" school of thought)

idk i have a lot more to say but will leave it at that for now. opinions v welcome
wizzy wrote:would again love any thoughts you have
*in total the onsite was 2 coding rounds + 1 system design + 1 eng director behavioral + 1 'bar raiser' combination; the bar raiser is a senior person outside of the hiring team who has ~a mandate to keep overall company hiring bar high~
Oh nice man, that's awesome! Congrats!!

Definitely agree with you on "companies will screw you over at the drop of a hat, they're not your friend, look out for yourself first," so beyond having an uncomfortable convo, I wouldn't really care much about reneging. I'm all for employee autonomy, and I think it's kinda baked into tech hiring anyway with the way that people hop jobs in search of a better role/higher TC over the boomer company loyalty mindset.

I also think Uber will IPO in 2019 from what I've read and from talking to people who seem to know what they're talking about. It's harder to evaluate Uber's financial outlook since they don't have public disclosure requirements, so it's harder to dig into the numbers that support their valuation, but they've also been one of the most anticipated IPOs of the past 5 years, so I think that they're more likely than not to have a successful IPO day/week and that you'd (hopefully) see some stock appreciation between now and then.

Would there be any lock-up period for you going into the IPO?

Also, what do the Snap stock numbers look like now with the average of August/September?

I think I'd lean Uber from everything you've written since they seem to check a lot of your boxes with respect to future of the business, prestige, quality of peers, etc. To me, Snap made a lot of sense vs. FB, but Uber seems to have a lot of the upsides Snap has with possibly fewer downsides.

I obviously don't know nearly as much about the technical side of things as you do, but how much do you value the Snap ML role vs. data infrastructure? Which aspect of infrastructure (if they break it down by data platform, network, dev infra, SRE)? And do you have any insight into Uber's workplace culture (or if that's just Blind gossip)?
thanks man!

yeah after sleeping on it i'm not at all concerned about reneging

good question/point re: lock-up, i believe it's 6 months but i'll check

snap's avg closing price in aug/sep is ~$10.58, so my RSU package is already worth <70% of original :/. comes out to a TC that's almost exactly the same as uber's: 300-315k depending on assumptions

agreed re: similar upsides w possibly fewer downsides. about role, i had been valuing snap ML nontrivially more, but the uber eng director i interviewed w actually reached out late yesterday and we had a good chat (i assume it was a sell call). i asked some tough q's re: culture, management/performance philosophy, and directly bringing up ML interest. she brought up the good points that most ML in practice just is data / data infra work, that there *is* scope on the team for ML if i want, and that as SWEs we're empowered to solve problems / approach opportunities however works best. to me rn, a direct ML role is more a means to an end, where the end is getting out of my comfort zone and optimizing for growth and learning—the uber role def checks that box. as far as learning the ins and outs of ML theory, i'm actually enrolled in georgia tech's online CS master's program w a ML specialization so it wouldn't be like i'm abandoning it

re: workplace culture, i was a bit skeptical but it really does seem like uber has done a 180. everybody i met was super awesome; my prior phone screen interviewer reached out specifically about culture too and told me i could email her anytime w further q's. also the WLB is apparently great. people work remote whenever they want and there's unlimited vacation that they actually take advantage of

in short, almost entirely convinced i'll take uber over snap esp if i get any kind of signing bonus monday. the only thing giving me pause is concern that i'm uh blinded by rep. i'm not as sure about uber vs google, we'll have to see how that pans out

(^ side-note: it sounds like i also have a google offer coming; i had assumed 👻ed by the recruiter bc it's been over a month but apparently 1 interviewer took literally weeks to enter feedback. kinda surreal—i was really thinking that i had pretty much just gotten lucky with snap (imposter syndrome goes hard) after receiving what felt like so many rejections and was also questioning whether i was a FRAUD as a data engineer. so to end up w multiple top-of-market L4 SWE offers w ~3 YoE feels great. apologies for probably coming off irrational and or annoyingly self-congratulatory)
Not irrational or annoyingly self-congratulatory at all; you should definitely be proud of yourself for the offers. I would feel the same way and would react similarly since it's wild/pretty cool to go from oh fuck should I maybe go to law school and be a glorified paper pusher to oh fuck do I accept an L4/T4/E4 at Google, Uber, FB, or Snap. I also never even knew about the DE vs. SWE distinction until you told me about it, so I could see the imposter syndrome going hard there because of ~job title/role~ even though you're objectively already doing the same quality work. Congrats again dude!

I agree with you that Uber is basically a no brainer here after seeing Snap's average closing price across August/September. I actually didn't think about that at all initially since companies seem to do their on-hire stock packages differently; I know others do on the 15th (or a set time) after your start date, but I guess it makes sense for Snap to average across a couple months like that, given the volatility of their stock price.

If you already have the scope to do ML on the Uber team, then it sounds like you have (almost) everything role-related you would've gotten out of Snap baked into your Uber offer while still getting the advantages you brought up for Uber with respect to business outlook, quality of peers, prestige, and excitement heading into IPO.

I was wondering about the lock-up period because of the short-term vesting flexibility you had for Snap and because Uber has been notoriously stringent in how it handles the selling of stock to effectively preclude short sellers from getting their hands on shares.
Young, private companies are traditionally difficult to short. The shares are held by either the founders, employees, or investors, and while some startups are fairly liberal in allowing their shares to be traded—allowing employees, for instance, to sell some shares so they can get married, buy a house, and generally get on with their lives outside of work—many are not.

Uber is emblematic of the latter case, prohibiting the secondary sale of its shares except in exceptional circumstances, when it reportedly will offer to buy at a valuation of its choosing. The message to Uber shareholders, including employees, is that they must by and large wait for an IPO.

In fact, an IPO is the best circumstance for a short-seller, too, at once creating the required dual criteria of much-enhanced financial transparency, and the liquidity needed to cash out fast. But when an Uber IPO will occur is an open question. Despite grumbling by important investors, CEO Travis Kalanick has vowed to put off going public as long as he possibly can, as much as a decade into the future.
https://qz.com/707947/investors-have-pl ... -short-it/
https://www.bloomberg.com/news/articles ... -you-think

^That's pretty dated, though, and I've read that they cleaned up their act a bit to make it easier for employees to sell shares to approved investors. So I was just overall considering the liquidity of your RSUs post-IPO—would've been amazing to dump Snap shares at a 60% premium on the first day of the IPO, for example, but not so good 6 months later when they had gone -60% from their ATH and -30% from the IPO price.

Not saying Uber will be like that at all, but obvi more flexibility > less flexibility, and there's value in that optionality. Do you think lock-up period is negotiable, or is that more of a hard-line company policy that they apply to all employees?

I never know how seriously to take Blind gossip, and a lot of the Uber complaints also do seem dated and presumably come with an earlier-stage startup grind that carries over into later years even if the rep isn't deserved anymore vs. what is probably now a more established place to work with improved culture. That kind of WLB with WFH sounds amazing, so with TC, quality of peers, role, continued ML opportunities, etc, I can't think of many reasons to take Snap at this point. I almost wouldn't even care if there are a couple shitty people from the old Uber Blind stories of rough culture if you have a sick work-life balance, can work from home, and if those people probably wouldn't be on your team anyway.

Georgia Tech's CS program also seems really cool, so props for continuing to build out your ML skillset. I have a friend who's doing something similar online for analytics/stats and likes it a lot. Do you think you could try to negotiate tuition reimbursement?

Google is super interesting; I'm a huge fan of their management team and love their company from an investment perspective with what they're trying to do in GCP, ML, IoT, and their moonshots. Any idea when you'll get the numbers from them and if you think you could get them to match Uber's offer? The upper end of their T4 range should also be similar, right (or they at least have flexibility on competing offers)?

Seriously amazing opportunities at Uber, Google, and Snap, so big congrats again man.

User avatar
suralin
Posts: 4598
Joined: Thu Jan 25, 2018 11:36 am

Re: CS career megathread / AMA

Post by suralin » Wed Oct 17, 2018 12:03 am

uber came through with a $50k signing bonus! (cash, 25k 1st paycheck and 25k in yr 2). wasn't expecting it since they almost never do signing bonuses; it apparently requires VP escalation and approval

but now that they have, definitely taking uber and not looking back. i'm also glad that the RSUs are based off the old 409a valuation and not 120B (https://www.wsj.com/articles/uber-propo ... 1539690343) 😶

final total compensation is ~$335k up to near 400 if based on recent funding / if IPO goes well—it's pretty fucking surreal

summary: 5 offers out of 6 onsites (uber, snap, google, opendoor, twitter, pinterest); 6 onsites out of 9 phone screens (rejected by airbnb, dropbox, stripe; fast-tracked by google; passed on stitch fix); application radio silence from notably netflix and waymo. studied 107 hours and did 130 leetcode problems (66 easy, 54 medium, 10 hard).

for system design: read all of 'designing data-intensive applications' and distributed systems for fun and profit; went thru / skimmed system design primer, scattered industry research papers like bigtable, engineering blog posts, http://highscalability.com/, and grokking the system design interview; for ML i mostly googled random shit like this github and skimmed 'hands-on machine learning with scikit-learn and tensorflow'. prepared 2-3 stories for each of the most common behavioral q's and had some solid q's for hiring managers.

offers (conservative TC):
  • uber: $335k
  • snap: $300k
  • google: $250k (downleveled)
  • opendoor: $240k
  • twitter: $220k
interview difficulty ranking (low spread, n=1, and conflating onsites w screens):
airbnb | google > uber | dropbox > snap | pinterest > stripe | opendoor > twitter | stitch fix

free food ranking: dropbox > FB > twitter >> snap | google >> uber > youtube > pinterest | opendoor >>> amazon

my massive study guide (caveats: living document and not polished) is here: https://beta.workflowy.com/s/wGqavcPQFm

User avatar
suralin
Posts: 4598
Joined: Thu Jan 25, 2018 11:36 am

Re: CS career megathread / AMA

Post by suralin » Wed Oct 17, 2018 12:37 am

wizzy wrote:
Sat Oct 13, 2018 3:42 pm
Not irrational or annoyingly self-congratulatory at all; you should definitely be proud of yourself for the offers. I would feel the same way and would react similarly since it's wild/pretty cool to go from oh fuck should I maybe go to law school and be a glorified paper pusher to oh fuck do I accept an L4/T4/E4 at Google, Uber, FB, or Snap. I also never even knew about the DE vs. SWE distinction until you told me about it, so I could see the imposter syndrome going hard there because of ~job title/role~ even though you're objectively already doing the same quality work. Congrats again dude!

I agree with you that Uber is basically a no brainer here after seeing Snap's average closing price across August/September. I actually didn't think about that at all initially since companies seem to do their on-hire stock packages differently; I know others do on the 15th (or a set time) after your start date, but I guess it makes sense for Snap to average across a couple months like that, given the volatility of their stock price.

If you already have the scope to do ML on the Uber team, then it sounds like you have (almost) everything role-related you would've gotten out of Snap baked into your Uber offer while still getting the advantages you brought up for Uber with respect to business outlook, quality of peers, prestige, and excitement heading into IPO.

I was wondering about the lock-up period because of the short-term vesting flexibility you had for Snap and because Uber has been notoriously stringent in how it handles the selling of stock to effectively preclude short sellers from getting their hands on shares.
Young, private companies are traditionally difficult to short. The shares are held by either the founders, employees, or investors, and while some startups are fairly liberal in allowing their shares to be traded—allowing employees, for instance, to sell some shares so they can get married, buy a house, and generally get on with their lives outside of work—many are not.

Uber is emblematic of the latter case, prohibiting the secondary sale of its shares except in exceptional circumstances, when it reportedly will offer to buy at a valuation of its choosing. The message to Uber shareholders, including employees, is that they must by and large wait for an IPO.

In fact, an IPO is the best circumstance for a short-seller, too, at once creating the required dual criteria of much-enhanced financial transparency, and the liquidity needed to cash out fast. But when an Uber IPO will occur is an open question. Despite grumbling by important investors, CEO Travis Kalanick has vowed to put off going public as long as he possibly can, as much as a decade into the future.
https://qz.com/707947/investors-have-pl ... -short-it/
https://www.bloomberg.com/news/articles ... -you-think

^That's pretty dated, though, and I've read that they cleaned up their act a bit to make it easier for employees to sell shares to approved investors. So I was just overall considering the liquidity of your RSUs post-IPO—would've been amazing to dump Snap shares at a 60% premium on the first day of the IPO, for example, but not so good 6 months later when they had gone -60% from their ATH and -30% from the IPO price.

Not saying Uber will be like that at all, but obvi more flexibility > less flexibility, and there's value in that optionality. Do you think lock-up period is negotiable, or is that more of a hard-line company policy that they apply to all employees?

I never know how seriously to take Blind gossip, and a lot of the Uber complaints also do seem dated and presumably come with an earlier-stage startup grind that carries over into later years even if the rep isn't deserved anymore vs. what is probably now a more established place to work with improved culture. That kind of WLB with WFH sounds amazing, so with TC, quality of peers, role, continued ML opportunities, etc, I can't think of many reasons to take Snap at this point. I almost wouldn't even care if there are a couple shitty people from the old Uber Blind stories of rough culture if you have a sick work-life balance, can work from home, and if those people probably wouldn't be on your team anyway.

Georgia Tech's CS program also seems really cool, so props for continuing to build out your ML skillset. I have a friend who's doing something similar online for analytics/stats and likes it a lot. Do you think you could try to negotiate tuition reimbursement?

Google is super interesting; I'm a huge fan of their management team and love their company from an investment perspective with what they're trying to do in GCP, ML, IoT, and their moonshots. Any idea when you'll get the numbers from them and if you think you could get them to match Uber's offer? The upper end of their T4 range should also be similar, right (or they at least have flexibility on competing offers)?

Seriously amazing opportunities at Uber, Google, and Snap, so big congrats again man.
thanks man <3 and thanks for the insightful take as always

i did ask about lock-up period and it's 6 months across the board, which is a bit unfortunate, but not that big of a deal as far as length of golden handcuffs. i'm fine w waiting until post-IPO for RSU liquidity

re GT's OMSCS, yeah it really seems like there's little downside there. i am typically against advanced degrees for SWEs bc opportunity cost / most of the time YoE trumps degree, but having it be online (but equivalent to the on-campus program) and w a total cost of <7k is insane. also it does seem like most senior-ish ML roles require it both in terms of credential screening and in terms of the actual knowledge—especially bc i went to a shitty liberal arts college and honestly lack a lot of the p fundamental academic prereqs. rn i basically know just and only enough to be dangerous

google is awesome but i ended up getting downleveled to l3 :/ so not worth it. not too surprised bc i didn't do that hot and they're notorious for downlvling. have also heard that promos are v slow there

and yeah i definitely feel really, really fortunate to have all these ridiculous options

User avatar
DOT
Posts: 8989
Joined: Mon Jan 29, 2018 10:26 am

Re: CS career megathread / AMA

Post by DOT » Tue Dec 18, 2018 12:04 pm

tag

User avatar
Kali
Posts: 1254
Joined: Thu Jan 25, 2018 2:38 pm

Re: CS career megathread / AMA

Post by Kali » Tue Apr 02, 2019 9:54 am

Just got an offer for a job in analytics that pays 35k more than i make right now. Still not rich, but making ok money 6 years after graduation feels good

User avatar
suralin
Posts: 4598
Joined: Thu Jan 25, 2018 11:36 am

Re: CS career megathread / AMA

Post by suralin » Tue Apr 02, 2019 10:43 am

damnn that’s awesome man, grats

User avatar
sev
Posts: 150
Joined: Fri Jan 26, 2018 11:43 am

Re: CS career megathread / AMA

Post by sev » Mon Apr 08, 2019 12:53 pm

I don't really have anything to add, but just wanted to say that reading this thread after listening to the audiobook of Chaos Monkeys was cool. Kudos for y'all's success.

app
Posts: 253
Joined: Fri Feb 02, 2018 4:48 pm

Re: CS career megathread / AMA

Post by app » Wed Jun 05, 2019 9:24 am

suralin wrote:
Wed Oct 17, 2018 12:03 am
uber came through with a $50k signing bonus! (cash, 25k 1st paycheck and 25k in yr 2). wasn't expecting it since they almost never do signing bonuses; it apparently requires VP escalation and approval

but now that they have, definitely taking uber and not looking back. i'm also glad that the RSUs are based off the old 409a valuation and not 120B (https://www.wsj.com/articles/uber-propo ... 1539690343) 😶

final total compensation is ~$335k up to near 400 if based on recent funding / if IPO goes well—it's pretty fucking surreal

summary: 5 offers out of 6 onsites (uber, snap, google, opendoor, twitter, pinterest); 6 onsites out of 9 phone screens (rejected by airbnb, dropbox, stripe; fast-tracked by google; passed on stitch fix); application radio silence from notably netflix and waymo. studied 107 hours and did 130 leetcode problems (66 easy, 54 medium, 10 hard).

for system design: read all of 'designing data-intensive applications' and distributed systems for fun and profit; went thru / skimmed system design primer, scattered industry research papers like bigtable, engineering blog posts, http://highscalability.com/, and grokking the system design interview; for ML i mostly googled random shit like this github and skimmed 'hands-on machine learning with scikit-learn and tensorflow'. prepared 2-3 stories for each of the most common behavioral q's and had some solid q's for hiring managers.

offers (conservative TC):
  • uber: $335k
  • snap: $300k
  • google: $250k (downleveled)
  • opendoor: $240k
  • twitter: $220k
interview difficulty ranking (low spread, n=1, and conflating onsites w screens):
airbnb | google > uber | dropbox > snap | pinterest > stripe | opendoor > twitter | stitch fix

free food ranking: dropbox > FB > twitter >> snap | google >> uber > youtube > pinterest | opendoor >>> amazon

my massive study guide (caveats: living document and not polished) is here: https://beta.workflowy.com/s/wGqavcPQFm
nice. beginning to look for a new position and these links seem useful.

did you create the workflowy study guide yourself? how much of it did you cover or had solid prep on? it seems big, much more than 107 hours.

app
Posts: 253
Joined: Fri Feb 02, 2018 4:48 pm

Re: CS career megathread / AMA

Post by app » Fri Jun 07, 2019 2:48 pm

Put in a total of about 6 hours in the last 3 days. Did about 6 med leetcode problems and some reading for sys design (FLP limitation)

User avatar
suralin
Posts: 4598
Joined: Thu Jan 25, 2018 11:36 am

Re: CS career megathread / AMA

Post by suralin » Fri Jun 07, 2019 3:14 pm

yup i created it myself but have been adding to it for like 3 yrs now. ie didn't start it from scratch at the start of the 107 hrs

i guess idc abt being anon here so if you want exhaustive detail
Spoiler:
i wrote a couple posts on reddit w fuzzed numbers:

and did a YT interview* w my friend. search 2.9 GPA and $300k

*cringy but p well-received!
don't quote

User avatar
suralin
Posts: 4598
Joined: Thu Jan 25, 2018 11:36 am

Re: CS career megathread / AMA

Post by suralin » Fri Jun 07, 2019 3:19 pm

i'm actually going to start low-key studying again—really curious to see if i can apply spaced repetition to leetcode / the prep space / CS concepts to minimize the overhead

app
Posts: 253
Joined: Fri Feb 02, 2018 4:48 pm

Re: CS career megathread / AMA

Post by app » Fri Jun 07, 2019 10:52 pm

suralin wrote:
Fri Jun 07, 2019 3:14 pm
nice. useful stuff.

i mean ~100 hours seemed way too less to get to the stage that you got, so i figured a lot of it was just revision and getting back to the point you were at in your original go. that study guide is huuge, so just writing it would take a lot of time, let alone first understanding and them retaining those concepts for the real thing.
Last edited by app on Fri Jun 07, 2019 11:12 pm, edited 1 time in total.

app
Posts: 253
Joined: Fri Feb 02, 2018 4:48 pm

Re: CS career megathread / AMA

Post by app » Fri Jun 07, 2019 10:59 pm

i'm thinking of posting my regular progress in this thread for this prep round if there is interest. hope to begin interviewing in about 6 weeks.

i came to know of leetcode style interviewing only about two years ago. before that i'd never formally prepped, let alone kept a count of hours or notes, when changing jobs. this time i'm considering keeping a daily record of at least hours spent prepping. like, i really spent only 1.5 hours today thinking about actual coding/tech question and submitted only 1 med on LC, but was in front of PC for about 6 hours. for me, it's hard to track actual time studying vs trying to study.

app
Posts: 253
Joined: Fri Feb 02, 2018 4:48 pm

Re: CS career megathread / AMA

Post by app » Sat Jun 08, 2019 12:05 am

just submitted LC947.
reading q/coming up with approach 15min
coding 25min, total 40min
first try accepted.

app
Posts: 253
Joined: Fri Feb 02, 2018 4:48 pm

Re: CS career megathread / AMA

Post by app » Tue Jun 11, 2019 9:05 pm

Put in about 10 hours over the weekend and 2 hours yesterday. i still feel very rusty with LC problems. also, sent 2 apps, one to nvidia and one to an ai startup last week and have received request for phone screens. but i have no idea what ai/ml companies ask during interviews as it's a p vast field, so still trying to figure out how far out to schedule these screens.

User avatar
suralin
Posts: 4598
Joined: Thu Jan 25, 2018 11:36 am

Re: CS career megathread / AMA

Post by suralin » Tue Jun 11, 2019 9:18 pm

this is a comment i wrote on blind in response to somebody asking about ML sys design interviews. rough and heavily weighted to practical ML (vs research DS) but

“The questions are pretty straightforward:

Design a video recommendation system;
Describe how you would rank news feed posts;
Design an ads targeting service;
How would you optimize search results
etc

Then you dive into the component parts: what would you have to log, how to get labeled data, implicit vs explicit feedback, what’s the goal ie what metrics to optimize for, how to decide what features to use, feature data engineering eg 1 hot encoding, test/train split and validation strategy, what algorithm to use and tradeoffs, how to iterate, how to launch experiments, online vs offline evaluation, how to productionize, what model performance metrics to track and their tradeoffs (eg have an opinion on AUROC vs F1 vs log-loss), for ranking: pointwise vs pairwise vs listwise, how to handle feature drift, A/B vs bandit, and so on”

User avatar
suralin
Posts: 4598
Joined: Thu Jan 25, 2018 11:36 am

Re: CS career megathread / AMA

Post by suralin » Tue Jun 11, 2019 9:22 pm

my ml interview experience was weighted toward ml swe so more of the above questions than theory. but in general you won't really get asked hard math beyond obviously some stats and probability. and startups esp don't want you reinventing the wheel anyway, they probably actually want a data engineer who dabbles

app
Posts: 253
Joined: Fri Feb 02, 2018 4:48 pm

Re: CS career megathread / AMA

Post by app » Tue Jun 11, 2019 10:25 pm

for ml design qs like recommendation system, do you mean like how would one create a neural net (or use APIs in some scripting language like javascript. idk if jscript has some neural net library or not) to train it, what would be inputs/outputs to the NN, what type of NN to use etc? does it mean knowing how to use tensorflow or paddle-paddle like frameworks to create neural nets?

User avatar
suralin
Posts: 4598
Joined: Thu Jan 25, 2018 11:36 am

Re: CS career megathread / AMA

Post by suralin » Wed Jun 12, 2019 1:34 am

nah i don't mean anything like that / you shouldn't focus so much on neural nets. it's simultaneously conceptual and more of a practical system design exercise

assuming software engineer-focused, here's a rough sample answer for social media video recommendation system:

for our proof of concept, let's aim to optimize for watch time. we first need to build / process datasets that we can use to derive features and obtain the right target ("labeled") data. some things that could be valuable would be # of views—segment by # of unique, # of 50% views, # of 3 second views etc—engagement info (eg # of likes, comments), description or title length, data on the video uploader (could have another ml system to classify the uploader and use that output), and so on. the interviewer may then ask for rationale. i'd talk about common pitfalls, like you wouldn't necessarily want to use a lot of demographic data, you'd have to be careful about features that heavily overlap w one another or features that can be contaminated ('target leakage' is subtle and bad) etc

i'd also discuss the tradeoffs in our optimization goal. our target metric is watch time, but we need to have a 'counter metric' to measure negative, often correlated unintended outcomes. usually that’s something we want to minimize or keep at an acceptable level. eg, in maximizing watch time, we might maximize clickbait-y videos or we might create an ecosystem where certain unwanted "whales" dominate. using 75% views or a minimum watch time can help. the counter metric here could be NPS measured by surveys or time spent on other parts of our site (cannibalization would be a fear)

if this were real, at the v beginning i'd ask whether we'd serve up a video one at a time (typical single instance recommendation problem) or we have a set of videos that we need to rank for the user. for the former: i'd discuss collaborative filtering and the tradeoffs between user-based vs item-based. i'd talk about how user-based requires more context (you need a lot of user "ratings," here, those could be likes) whereas item-based is more dynamic and can deal w sparser data. maybe some detail about KNN and similarity/distance metrics. for the latter: you can probably just handwave and talk about pairwise classification and lambdamart

then there are some words you should hit to signal baseline competency like how a confusion matrix works and why k-fold cross-validation is good. for a system of this type, you'd also want to be aware of how experimentation frameworks work. that is, once this system is running, how do we try different versions? new or revised features? how do we shard our userbase rigorously so that experiment universes aren't contaminated and we can run 128 experiments at once? and then how do we get a feedback loop going so that we can quickly iterate on the best prospects

similarly, getting it working is 20% of the battle. 80% is keeping it running. how do we monitor the system? ML is notoriously black box, how do you build trust with your stakeholders and internal users? what alerting and dashboarding do we need? as we evolve the system, how do we do more online and less offline evaluation? real time is faster than batch, but way more complex

the theme here is that knowing exactly how any given algorithm works isn't super important. most likely they're already implemented and you can try them out and let the results guide you. the important part is being aware of tradeoffs and of how to actually build a production system. making a GBDT work on a small dataset in a jupyter notebook is super different from a real-world highly scalable system

/off soapbox

User avatar
DOT
Posts: 8989
Joined: Mon Jan 29, 2018 10:26 am

Re: CS career megathread / AMA

Post by DOT » Wed Jun 12, 2019 9:37 am

This thread is amazing

User avatar
jingosaur
Posts: 873
Joined: Fri Jan 26, 2018 4:13 pm

Re: CS career megathread / AMA

Post by jingosaur » Fri Jun 14, 2019 1:02 pm

How much can I realistically make at a CS job in NYC and how long would it take me to get there with coding school, training, etc.? I know a little bit about coding and used to be a IT/ops consultant in fintech.

User avatar
suralin
Posts: 4598
Joined: Thu Jan 25, 2018 11:36 am

Re: CS career megathread / AMA

Post by suralin » Fri Jun 14, 2019 5:03 pm

jingosaur wrote:
Fri Jun 14, 2019 1:02 pm
How much can I realistically make at a CS job in NYC and how long would it take me to get there with coding school, training, etc.? I know a little bit about coding and used to be a IT/ops consultant in fintech.
to the first q, many high paying tech companies have offices in NYC (google, FB, etc) that pay the same as in SF, so could just get an optimistic high-end idea from that. the main location-based difference is that NYC will have way more finance/fintech places hiring software engineers. eg bloomberg hires a ton and pays well: new grad compensation ~$150k. there's a status and perks difference between those places and more pure tech companies (common to feel like a 2nd class citizen) but really not that bad. also more comp in cash vs stock. and of course there's a ton of lesser known startups and other companies who won't pay quite as well, but still probably close to $100k and with ~40 hr weeks. for simplicity you could say tier 1 vs 2 vs 3

it's hard for me to say how attainable those jobs are—really don't want to either overrate or underrate your chances. i'm also relatively far removed and biased and job searching is always unpredictable. but disclaimers aside, if you find programming relatively intuitive (and you should test this thoroughly first bc high VoI), are willing to grind, etc, maybe up to 2 years to get to a tier 3 company (in terms of comp not QoL)? if you have the starting cash, a coding bootcamp deal would likely make things much easier. there's ofc people who've changed careers and made it to $200k in a yr but that's not the median or modal experience so same as w law school you should't bank on that

imo the hardest part would be getting interviews. being a former IT/ops consultant will help but there's a lot of CS new grads who you'd be competing with. my non-data-driven subjective observation is that the shortage hype is 100% real for software engineers w experience, but overhyped for entry level; there's still more demand than supply but it's not nearly as one-sided. personal projects and old fashioned networking can help (there's a lot of dev meetups and the like)

passing the interviews themselves is a more mechanical thing. beyond the study grind, you can also see if you have some potential here (i think anyone can do it but it's def much easier for some than others). i'm differentiating between programming being intuitive vs CS theory being intuitive. some things that could provide signal for the latter would be general math/quant "skill," comfortable w abstraction, etc or you could see if you can understand the easier CS algorithms/data structures (read on wiki, visualize here https://visualgo.net/en) with a few hrs of study

to "test" programming potential, you could run thru codecademy for python and then try a tiny project. syntax is easy—the googling, debugging, development process will provide a better complementary real-world gauge

e: [continuing to shed responsibility for any big decisions] maybe lower salary estimates / raise time estimates by 20% to account for my bias/privilege

User avatar
jingosaur
Posts: 873
Joined: Fri Jan 26, 2018 4:13 pm

Re: CS career megathread / AMA

Post by jingosaur » Fri Jun 14, 2019 10:56 pm

Thanks!

app
Posts: 253
Joined: Fri Feb 02, 2018 4:48 pm

Re: CS career megathread / AMA

Post by app » Mon Jun 24, 2019 11:09 pm

suralin wrote:
Wed Jun 12, 2019 1:34 am
nah i don't mean anything like that / you shouldn't focus so much on neural nets. it's simultaneously conceptual and more of a practical system design exercise

assuming software engineer-focused, here's a rough sample answer for social media video recommendation system:

for our proof of concept, let's aim to optimize for watch time. we first need to build / process datasets that we can use to derive features and obtain the right target ("labeled") data. some things that could be valuable would be # of views—segment by # of unique, # of 50% views, # of 3 second views etc—engagement info (eg # of likes, comments), description or title length, data on the video uploader (could have another ml system to classify the uploader and use that output), and so on. the interviewer may then ask for rationale. i'd talk about common pitfalls, like you wouldn't necessarily want to use a lot of demographic data, you'd have to be careful about features that heavily overlap w one another or features that can be contaminated ('target leakage' is subtle and bad) etc

i'd also discuss the tradeoffs in our optimization goal. our target metric is watch time, but we need to have a 'counter metric' to measure negative, often correlated unintended outcomes. usually that’s something we want to minimize or keep at an acceptable level. eg, in maximizing watch time, we might maximize clickbait-y videos or we might create an ecosystem where certain unwanted "whales" dominate. using 75% views or a minimum watch time can help. the counter metric here could be NPS measured by surveys or time spent on other parts of our site (cannibalization would be a fear)

if this were real, at the v beginning i'd ask whether we'd serve up a video one at a time (typical single instance recommendation problem) or we have a set of videos that we need to rank for the user. for the former: i'd discuss collaborative filtering and the tradeoffs between user-based vs item-based. i'd talk about how user-based requires more context (you need a lot of user "ratings," here, those could be likes) whereas item-based is more dynamic and can deal w sparser data. maybe some detail about KNN and similarity/distance metrics. for the latter: you can probably just handwave and talk about pairwise classification and lambdamart

then there are some words you should hit to signal baseline competency like how a confusion matrix works and why k-fold cross-validation is good. for a system of this type, you'd also want to be aware of how experimentation frameworks work. that is, once this system is running, how do we try different versions? new or revised features? how do we shard our userbase rigorously so that experiment universes aren't contaminated and we can run 128 experiments at once? and then how do we get a feedback loop going so that we can quickly iterate on the best prospects

similarly, getting it working is 20% of the battle. 80% is keeping it running. how do we monitor the system? ML is notoriously black box, how do you build trust with your stakeholders and internal users? what alerting and dashboarding do we need? as we evolve the system, how do we do more online and less offline evaluation? real time is faster than batch, but way more complex

the theme here is that knowing exactly how any given algorithm works isn't super important. most likely they're already implemented and you can try them out and let the results guide you. the important part is being aware of tradeoffs and of how to actually build a production system. making a GBDT work on a small dataset in a jupyter notebook is super different from a real-world highly scalable system

/off soapbox
tag.

a lot of this terminology is new to me even though i have been only sw focused for a long time. but it could also be that i haven't done much ml type work as yet and need to learn more.
Last edited by app on Mon Jun 24, 2019 11:18 pm, edited 1 time in total.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest