Try   HackMD

get an SDE job, and work, and change jobs

  1. know the timeline
    1. know your F1(OPT, STEM OPT), H1B, Green Card time line, and employers' policy on visa/status sponsorship
    2. for internship, apply/prepare ~1 yr before the actuall starting day
    3. always apply early
    4. identify your dream companies
      1. ref: https://github.com/owini/New-Grad-Positions-2023
    5. apply when firms grow headcounts; lower bar then
  2. get an interview
    1. decorate your resume
      1. if still early; get fancy projects and nice GPA/titles
        1. if no idea/time, pick an online course (udemy,educative, etc)
      2. always beautify your resume, XYZ format, estimate/put nice numbers: 3X speedup/reduce cost to 50%
        1. XYZ format ref
    2. check emails, check linkedin DMs, answer phone calls,
    3. non-dream company
      1. apply a lot (>200), in one platform (LinkedIn or Indeed) to save time by avoid duplication
        1. can hire a (oversea) friend to apply
        2. use automation like Simplify or LinkedIn auto apply plugin
          1. ref: https://simplify.jobs/?invite=b9faf961983&utm_source=referral
          2. https://chromewebstore.google.com/detail/teemo-ai/lljlidmjadaibchdnjlchinbdemkonlm
      2. to save time: don't track progresses; don't customize; okay to skip if a questionnaire is too long; don't read JD thoroughly
      3. attend interviews or answer recruiter's phone calls for practice, even if you don't like the firm or them don't sponsor your visa
        1. form your template for common topics in emails and phone calls
          1. discuss for a time slot
          2. "Why us?"
          3. "Why looking for a another job?" "Why you quit your previous job?"
            1. knowing the company: size? startup? B2B? B2C? funding round? business? business model?
            2. You are leaving a big tech, saying you want to join a medium size company; but they are early stage startup. That's embarrassing.
          4. self-intro, career interest, compensation(!), why changing job, starting date, notice period, working permission type
            1. as for the compensation, depending on your career stage:
              1. do your research (level.fyi) and give them a range (slightly or decently) higher than your value, this approach speeds up the process and ease your mental burden but limits your growth in TC
                1. Even if yours is higher than their budget, it's fine. They will say their range and ask if you are flexible. I never got rejected bc of saying a higher range in phone screening.
              2. ask their range before they ask yours
                1. some states have the law requiring a job post to have salary range
              3. play around and avoid to give a range
                1. some HHs/recruiters will insist to ask your desired range
              4. if the state you are in forbid employers to ask your current salary, make use of it (even the state law doesn't, you can pretend so)
                1. but some HHs oversea are not familiar with this
          5. ask them about interview/hiring process/timeline/feedback/why they are hiring
          6. You might be asked about desired salary at your first phone call from recruiters; basically you should avoid giving explicit number/range; read: https://haseebq.com/my-ten-rules-for-negotiating-a-job-offer/
      4. mailbox/phone will be filled with spams from staffing firms/scams/confirmation/rejection; try to have two mailbox
    4. dream company
      1. don't miss emails; track progress and check in when no response
        1. maybe have two mailbox; one for dream; one for non-dream
      2. know their timeline; apply early; first come first served
        1. schedule phone calls/interviews earlier; first come first served; openings could be filled up
        2. same idea, finish Online Assessments early
          1. go google the OAs first
          2. prepare another device in case the OA website forbids you to use extra resources
      3. get referral for dream companies (>5)
        1. time consuming, so only for dream companies
        2. use LinkedIn messages to ask for referral (or community/group/forum), be straightforward; use message templates to save time
          1. [WIP] template for emails asking for referrals
          2. Mandarin ref by Henry
  3. pass an interview
    1. recommend to use a headset, and a quiet keyboard,
    2. log in to the room earlier
    3. have some post-it cheat-sheet around your monitors for BQ/algo/sys design
    4. don't be afraid to ask if you can google the syntax or lib doc
    5. tech questions
      1. Leetcode (>200)
        1. make notes; classify questions; use code templates
          1. don't want to waste time thinking about > vs >= in an interview
            1. e.g., binary search, dfs, tree traversal
        2. have a presentation skeleton; have break points between sections to ask interviewer to give you feedback/hints
        3. Keep an app window for interviews' face! Their facial expression is informative! This gives you hints when you are on a wrong track! Or give you confidence when you are doing right! Also makes the interview more conversational!
          1. clarify questions/input/output
          2. think out loud
          3. list/write down your thoughts/procedures
          4. pseudo-code
          5. implementation
          6. dry run/test cases
        4. practice to code/type fast while speaking, use your favorite keyboard
        5. don't go to details first; starting with abstract functions then to implement the flesh
        6. visualize your thoughts; type to draw, etc
        7. might be no IDE/syntax coloring/auto-complete; might be a bright theme
      2. Pramp (>4) and practice with peer
        1. https://www.pramp.com
        2. make sure you act as an interviewer; you will know what interviewer what to hear/see; and know how little your patience is when as an interviewers
      3. prepare questions to ask interviewers; show your passion and curiosity
      4. prepare for OOD/OOP/sys design if you are sure they will ask
      5. able to explain knowledge/terms/projects in your resume; might be asked to scale up or to revise your previous projects
    6. behavioral questions
      1. use ChatGPT!
      2. (amazon) prepare for Amazon BQ first (aks Leadership Principles)
        1. each question probes whether you have the "correct" mindset on some aspects
        2. prepare stories to show that you have the mindset they want
          1. S.T.A.R. framework
          2. be concise
        3. It's fine to look at notes!
        4. prepare Amazon BQ first; then other firms' BQs can reuse those stories
      3. (general) from tech people (aka future colleagues)
        1. will ask knowledge related to your resume
        2. will ask how you interact with teammates/solve an issue
        3. prepare questions to ask interviewers; show your passion and curiosity
      4. (general) from recruiter
        1. will ask how you interact with teammates
        2. prepare questions to ask interviewers; show your passion and curiosity
    7. nice environment/equipment/internet for virtual interviews/phone calls
  4. negotiate
    1. alwasy alwasy alwasy negotiate your compensation
      2. a must-read, even you haven't got an offer: https://haseebq.com/my-ten-rules-for-negotiating-a-job-offer/
    2. The story line is: You really want join them because of all their greatness (value/scope/culture/goal/innovation) but just that other company have more money so you hesitate. "Please help me conquer my self-debate and hesitation.@@"
    3. When they call you that you pass the interview, show excitement and appreciation, but don't promise at that moment. Promise is promise. Say something like I need to read carefully or I need to bring this great news to my significant others. Ask for email about the written offer details. Don't promise anything in this phone call
    4. They will ask if they are your first choice. Mention that they are a perfect fit because of your career goal, their product, or their value, etc. Even if they don't ask, you need to mention those.
    5. Ask about details in the phone and ask for email/document about the offer detail.
    6. They will ask if you still have interview ongoing. Say you still have a few final rounds on going and you just finish some final rounds, waiting for the results. If those are big names, mention them (eg, Meta, Google). If not, brag them. (eg, a series-B fintech, a hedge fund, a large bank) or mention their advantages (a company near my place, a company on the news, a unicorn)
  5. onboard
    1. use personal email for important services, such as insurance/tax/payroll/bank; you lose access to all company email/wiki/Slack instantly; keep personal info/file in personal space
      1. register/verify through company email on Team Blind, LinkedIn verification, etc
    2. sync important things to your personal place. IT can inactivate/take away your laptop at any time
    3. connect colleagues on LinkedIn or maintain your own contacts from time to time; once laid off, you will lose connections
    4. Chase the new company about your work authorization application progress. Some companies are not familiar with visa worker at all.
  6. work
    1. [WIP]
    2. connect to ppl on LinkedIn during onboarding; kinda weird if adding ppl in the middle

resources

  1. 歹晚郎內推互助網絡
  2. 聊聊美國求職內推的二三事 by Henry
  3. 半路出家軟體工程師在矽谷
  4. NEX Work
  5. github repos of position summary
    1. https://github.com/coderQuad/New-Grad-Positions-2023
    2. https://github.com/pittcsc/Summer2023-Internships
    3. https://github.com/pittcsc/New-Grad-Positions-2023

draft

  1. ref check
    1. keep email address and linkedin profiles, of ex-colleague
  2. sys design prep ???
    1. cheatsheet
    2. framework
      1. "You are pitching your design!"
      2. Provide options
        1. tradeoff between A and B
        2. if we need XXX I can go to deep dive on YYY
        3. if use case is more about XXX, I can optimize YYY
  3. leetcode cheatsheet around screen
    1. summarize hard/error-prone code blocks (bin search, btrack, etc) and past around monitor
  4. during interview, try to see interviewer's face to know info (good/bad answer etc)
  5. BQ, use chatGPT and perplexity
    1. STAR
    2. grammar
    3. add details by gpt
    4. ask follow up?
    5. red/green flags=?
  6. hr screening,
    1. why us?
    2. why did you leave? why do you want to leave
  7. o-company
  8. rbi
    1. design instagram
  9. meta
    1. design
  10. a-company
  11. hubspot
    1.
  12. biobot
    1.
  13. the ai startup