3

What are the parameters for determining whether something is a major PR in Big Tech Open Source?

Profile picture
Entry-Level Software Engineer at Some Universitya year ago

@Alex Earlier you mentioned:

Big Tech open-source is obviously ideal (many engineers got hired at :meta: contributed to their OSS), but it's extremely hard to ramp up on the library and get a major PR landed. And it's not like 1 PR will do it - You'll probably need 5 to 10 to get the attention of hiring managers. However, like with most things, it will get much easier over time (the first one's the hardest).

And here: What technologies or stacks should I create a project to add in my resume for entry level software jobs? (jointaro.com), you said:

These companies all have a large OSS footprint, and I know several people who got hired into these companies by submitting major PRs into them.

What are the parameters for determining whether something is a major PR in Big Tech Open Source according to you? Am currently working on Microsoft Windows Terminal.

Would you consider the below major PR candidates that would get the attention of hiring managers?

Btw they're both from this list as heroic tasks (7158 on completed tab since I've already completed that one): https://github.com/orgs/microsoft/projects/686/views/2

To my understanding Major PR means lots of people want it and 7158 has around 100 upvotes so that's Major PR. But there are also some PR's where people make commits with 500 - 1000 lines of code

173
3

Discussion

(3 comments)
  • 2
    Profile picture
    Tech Lead @ Robinhood, Meta, Course Hero
    a year ago

    A major PR to me has some collection of the following:

    • A lot of people want it - In other words, the impact is clear. This is the most important attribute.
    • It's big - The more code it has, the more time you probably took on it. And the more signal everyone gets from code review (you get learning and the reviewers get to assess your skills). There's nothing impressive about merging in a 1-line documentation typo fix.
    • It's complex - This one is much fuzzier, but there are naturally some tasks that are harder than others. Bugs are the most notorious for this. There are so many tricky bugs out there that are 5-line fixes but take the average engineer weeks to find that tiny fix. I define technical depth more in-depth (pun intended) here: "How do you choose an opportunity for technical depth?"

    All that being said, it's important that your main motivation for contributing to open-source stems from purer intentions like passion and learning, not because you are expecting an interview opportunity on a somewhat timely basis from it. This way, you will always be happy working on this stuff, no matter what happens. This is why I only build side projects that I personally care about, and I never build anything that's tactically oriented towards getting a job.

    I looked at both the PRs you linked, and they look great! I think a continued track record of those has a solid chance of landing an interview, but it's hard to say in this economy where Big Tech is largely doing hiring freezes and layoffs.

  • 1
    Profile picture
    Tech Lead @ Robinhood, Meta, Course Hero
    a year ago

    But I do want some assurance that my time spend there can get me to crack Big Tech.

    It will certainly help, but it's hard to really guarantee anything unfortunately, especially in this economy. It's not like landing 10 major PRs automatically gets you an interview - It depends on so many factors like whether that repo is connected to a hiring team, the economic state of the company overall, the reviewers on your PRs, and far more. Unfortunately, Microsoft seems to be in a mode where they're being extremely frugal and not hiring as much.

    Not sure what really the potential benefits/rewards will be if I keep on contributing like this, I am not sure how recruiters, future employers of companies like Big Tech look at it. Could you maybe shed more light on this?

    Again, the perception will vary from person to person (recruiter quality is highly variable), but the benefits of contributing to top-tier OSS (open-source software) are:

    1. It will look good on your resume to most people, including Big Tech recruiters and hiring managers
    2. It makes you a better engineer as you learn to work in a complex codebase and get feedback from talented engineers
    3. If it's a major OSS project that affects the lives of your friends and family, you can proudly tell them about it
    4. If you use the OSS yourself (which you do as you mentioned), you get to improve a product in your own life

    But how valuable is that experience in the grand scheme of things? I have no clue.. that makes it hard.

    Very valuable. It is difficult to get the experience working in a codebase at the scale of Big Tech without actually working there. This is why I have seen many engineers coming from smaller companies break into Big Tech and then get culture shocked as they struggle to adapt and need to work a ton of extra hours to parse the codebase and get stuff done. OSS is sort of a "hack" to get this sort of experience before actually working at Big Tech.

    You think If I keep this up it will attract attention of hiring managers after 1 year?

    Probably, but this depends a lot on the economic macro (which nobody can really predict anymore). At the very least, you'll be a much better engineer, which I truly believe will eventually result in good outcomes as I talk about here: "If my main goal is compensation, would it be wise to learn blockchain tech since it will potentially be the tech of the next couple decades?"

    I also recommend sharing your progress to LinkedIn. You can:

    1. Attach a demo of the feature you built
    2. Talk about the impact of the feature (e.g. how many reactions were on the issue)
    3. Name drop the company behind the repo (obviously)
    4. Describe the process getting into OSS

    Why do you think 5 - 10 major PR's will attract the attention of hiring managers?

    It's just something I've seen happen, but something I forgot to put in front of the 5 - 10 was "at least".

    All that being said, it's pretty awesome you actually did the OSS contribution. I have seen so many engineers ask and talk about it, but they're too lazy to actually do it. But you actually did it! That's pretty awesome.

  • 0
    Profile picture
    Entry-Level Software Engineer [OP]
    Some University
    a year ago

    @Alex

    I actually like contributing to the Windows Terminal, as in I use the terminal myself. And the project appeals to me. But I do want some assurance that my time spend there can get me to crack Big Tech. Or that maybe I could better work on another project that appeals to me.

    I liked contributing those PR's as it was something I wanted myself in the terminal. And there is definitely some passion and learning there. I strive to become a Great Engineer. I also think the people there have a good influence on me.

    But I am not al pure intentional, I am a very goal oriented person and I do hope to get an interview opportunity from it on a somewhat timely basis. Otherwise maybe there's another project that also appeals to me that does, that's more my line of thought. Thanks to my selfishness the Windows Terminal FINALLYYY! has unfocused Acrylic and will have unfocused Opacity soon. Selfishness is great!

    E.g. In the past I would participate in competitions for best web game of the month and you could win cash prizes. This gave me a clear goal I could focus on and helped me be super productive. As a result I won 2nd prize: June 2018 Contest Winners (kongregate.com)

    And became a much better Game Developer/Designer in the process. I find it hard when the rewards are ambiguous.

    Not sure what really the potential benefits/rewards will be if I keep on contributing like this, I am not sure how recruiters, future employers of companies like Big Tech look at it. Could you maybe shed more light on this? When I told some other Taro members fellow SWE's it impressed them, so it seems to be perceived as good.

    Like I thought about it. If I keep on like this. I could land a couple more big PR's in the next 6 months, and I would also be able to solve smaller/normal size things faster as I've become more familiar and confident with the codebase. Might be able to do 1 a week. And will provide higher quality PR's also learn about documentation and more of the entire contribution cycle.

    But how valuable is that experience in the grand scheme of things? I have no clue.. that makes it hard. Should probably talk about this with people from that project I got somewhat close with.

    You think If I keep this up it will attract attention of hiring managers after 1 year?

    Why do you think 5 - 10 major PR's will attract the attention of hiring managers?