Will I get a software engineering job within 3 months?
Basic
66
19k
Sep 2
25%
chance

Resolves YES if I receive an offer for a full-time job doing software engineering, ML engineering, and/or research engineering by September 1, 2024. Resolves NO if I do not receive an offer for a full-time job doing software engineering, ML engineering, and/or research engineering by September 1, 2024. I will not bet on this question.

For background, I am in the Online MSCS program at Georgia Tech and I did my Bachelor's in Computer Science at UC Riverside. 4 years ago, I applied to some software engineering internships but I didn't do the online assessments because I was worried that I hadn't prepared enough. Over the next 4 years, I did no interview preparation and completed my Bachelor's. In December 2023, I applied to the MATS fellowship and the METR research assistant position, but I didn't pass the CodeSignal assessments and was rejected. You can see my professional background on my LinkedIn.

I will post about what I'm learning on my website, where I also maintain a plan for the next 3 months. I plan to complete some paper replications and open source contributions, then start applying at the end of June/beginning of July. I am aiming to work at major AI labs (OpenAI, Google DeepMind, OpenAI, FAR AI, etc.), but I will also be applying to software/ML engineering roles at other tech companies. I will accept any offer at a major AI lab if I receive one, but if not, I will accept the offer with the best compensation and work accommodation.

Get Ṁ600 play money
Sort by:

I can provide some advice if you'd like. As a YES stakeholder, your success is very important to me.

@SaviorofPlant I would love any advice you have to offer! Thank you!

@SaviorofPlant Ooh I should try this technique!

@lomichael I would recommend:
- Polish up any projects you have now that are semi-presentable. There's no need for projects to be technically impressive or even particularly good code - as long as you can talk about it in an interview, it helps.
- You can probably make some presentable open-source contributions in just a couple days if you pick straightforward, simple issues. These still look impressive, particularly for widely known repositories like PyTorch.
- I would start applying now to non-preferred companies. The best way to get practice interviewing is to actually interview, and you don't want your interviews at your top picks to be your first, especially if you're not confident in your interview skills. (There's also less pressure interviewing for a job you aren't particularly sold on, which can be helpful for conquering nerves).
- With no previous experience, your hit rate is probably going to be pretty low (possibly <2%). Apply prolifically and try A/B testing different resumes to optimize them. Don't get discouraged if you aren't immediately successful - in the end, you just need one interview to go well, and if your hit rate is low enough, a stretch of bad luck can make things seem much more hopeless than they actually are.
- ML jobs are difficult (although not impossible) to get with just a Bachelor's. If you want to break into the field, the easiest option may be to take a SWE job that's ML adjacent and try to move within the company into a more ML-focused role. Some startups also tend to be more open to non-traditional backgrounds for
- Once you have enough projects to fill space on your resume, I would focus on depth instead of breadth. In my opinion, a couple great projects (especially if they're relevant to skills wanted in specific roles) is better than implementing 20 different algorithms. I would select projects by going through many postings and identifying what skills employers seem to be most interested in.
- If you have any interest in CUDA and the hardware side of ML, these postings seem to have less applicants in my experience than generic MLE or GenAI roles, and a strong project in this subfield might open things up. (The downside is that you'd actually have to work with this, which is not for everyone - only do this if you think you'd enjoy it.)
- Referrals help; I'm not sure what your network looks like, but you can effectively guarantee an interview with referrals at many companies, sometimes for roles you'd ordinarily be passed up for. It might be worth spending a couple hours a week focused purely on networking.

@SaviorofPlant Wow! Thank you for the detailed reply. Seems like a common point of feedback is to focus on a few explainable projects/contributions, then start interviewing ASAP. I'll also start dedicating time to networking and will look into CUDA/ML hardware roles.

@SaviorofPlant

These still look impressive, particularly for widely known repositories like PyTorch.

How impressive? I've made a lot of contributions to well known open source stuff like this, and didn't think much of it. I'd ideally like to transition more to that kind of work, but most of my work experience is electrical/firmware engineering. Should you list open source stuff on a resume? How?

@Snarflak A small section listing the repositories and the changes you've made is enough. I think it's better than not having it at all, especially if you are applying to jobs that don't match your experience well

Can you say a bit more about why code signal assessment didn’t go well? Was it because you got unlucky with a tricky algorithms question (easy to fix with some studying) ? Or was it something else?

I briefly looked at your plan, and my initial takeaway is that it is very ambitious. Especially since the hiring process takes awhile. So you really only have ~2 months to do all that learning (leaving one month to do the actual interviewing).

Lastly, do you have any network connections that will give you referrals to the companies you want? Or will you be taking the online resume submission route?

I sincerely wish you the best of luck! Job searching is such a daunting task filled with rejection but it looks like you’re really trying to tackle it with gusto!

@Nikos Thanks for the feedback and the good wishes!

Regarding the CodeSignal assessments, I failed to complete all the questions before the timer ran out, but I think with enough time I could have solved the questions well. I'm hoping this can be remedied by doing more interview prep under time pressure.

I agree that the plan is very ambitious. I'm thinking of reducing the number of paper replications and open source contributions I expect to make, so I can apply earlier and focus on interview prep. Do you have any specific recommendations?

I have a small network with no/few connections at large tech companies and AI labs, so I plan to apply online to less interesting companies and make connections for referrals at my preferred companies.

More related questions