Skip to main content
  1. Cvs/

·8 mins·

Projects
#

PTS UI && SERVICE
#

DCTR SERVICE CI
#

HMBS BRE SERVICE
#

RECERTIFICATION SERVICE
#

HUD11708 SERVICE
#

BATCH JOB
#

Challenges
#

Virtual thread block the other thread
#

  1. jps -l # to list java process, find springboot Application.class process 2.0 jcmd 12345 help
  2. jcmd 12345 Thread.print
  1. jcmd 12345 VM.flags # inspect JVM flags
  2. jcmd 12345 GC.heap_info
  1. jcmd PID VM.command_line # inspect JVM arguments

Use JFR
#

  1. jcmd 12345 JFR.start name=debug duration=60s filename=C:\temp\debug.jfr 1.1 jcmd JFR.check 1.2 jcmd JFR.stop name=xxx
  2. jmc

BRE performance: stream dao layer for large query, separate query to avoid large CTE, virtual thread
#

Production defect: WAF rule
#

DB Unique index constraint bug for efficient code
#

Drool syntax: && cannot skip second part, comma can skip second part
#

Not code related: not coding error, need to push back to not coding error #

jdk25 bugs:
#

  1. jackson 3, cannot use primitive boolean in payload

sb4 bugs:
#

  1. queryForObject always throw EmptyResultDataAccessException if set fetchSize globally, we should use for each preparedStatement for each query

improve query performance
#

  1. reduce the size of CTE (common table expression)
  2. landing on index (most of time)
  3. improve table join

Experience
#

TA
#

  1. 2022 Spring: Data structure & algorithms by Calvin Lin
  2. 2025 Spring: Advances in Deep Learning by Philipp Krahenbuhl
  3. 2025 Summer: Advances in Deep Learning by Philipp Krahenbuhl
  4. 2025 Fall: Natural Language Processing by Greg Durrett & Jessy Li
  5. 2026 Spring: Advances in Generative Modeling by Qiang Liu
  6. 2026 Summer: Advances in Generative Modeling by Qiang Liu

Staff SDE
#

leading cross-team initiatives, writing design docs others reference, and mentoring might make a lateral Senior move into a more ML-adjacent role at your current level, then grow into ML-infra-specialized Staff over 2-3 years.

Gap explanation 1
#

After ~3 years in industry, I left JD.com in 2018 to focus on graduate school applications. I moved to the US in early 2020 and started UT Austin’s MS in CS that fall, where I pivoted from data science toward software engineering — which is what I do at BNY now.

Gap explanation 2
#

I graduated from UT Austin in December 2022, right as the big tech layoffs started — Meta, Amazon, and most of the FAANG and adjacent companies were cutting headcount and freezing new-grad hiring through 2023, especially for international candidates. I used the time to get married — we held our ceremony in Japan and spent time with family in China — and kept interviewing and sharpening my skills. I joined BNY in September 2024, was promoted to senior in under a year, and have been the sole engineer on the Ginnie Mae HMBS modernization since. Happy to talk about that work.

Cover Letter
#

After completing my UT Austin MS in late 2022, I joined BNY in 2024 to lead the Ginnie Mae HMBS modernization, where I’ve shipped three production systems end-to-end as sole engineer.

DEL
#

Brutal-honesty mode, since you asked. I’ll give you a recruiter’s read in three parts: the 6-second scan, the verdict, and the realistic interview odds.

The 6-second scan

A big tech recruiter (Google, Meta, Amazon, Apple, Microsoft) opens your PDF. They look at four things in this order, and decide most of the outcome before reading any bullets:

  1. Total years of SWE experience. They mentally do the math from your dates. They see: BNY Sep 2024 – Present = ~1.75 years SWE. JD.com / Custeel = data scientist (different track). They count your direct SWE tenure as ~1.5–2 years. Senior at FAANG typically gates at 5+ years. This is the single biggest filter, and it’s the one that hurts.
  2. Brand recognition of last employer. BNY is recognizable (“oh, big bank”) but not in the FAANG-feeder tier (ex-Google/Meta/Stripe/etc. resumes get a lift; ex-bank resumes don’t). Neutral, not a boost.
  3. Recognizable school. UT Austin MS CS = strong, instantly understood. CQUPT undergrad = unknown to most US recruiters but neutral once they see UT Austin.
  4. Tenure pattern. They notice the 2022–2024 gap (you’ve prepped for that). They notice 10 months at JD.com (short). They notice 1.75 years at BNY but with a recent promotion (positive — promotion-within-tenure reads well).

The verdict, by level

For Senior SDE / L5 / E5 / SDE-III at FAANG: I’d rate this resume 4–5 / 10 for that level. Not because the work is weak — the HMBS 50× perf number is genuinely strong, and “selected as repo maintainer” is real seniority signal — but because the YoE math doesn’t add up to what these companies’ calibration committees defend as Senior. You’ll lose the screening round to candidates with 6 years at Stripe or 4 years at Google, even if your individual bullets are arguably stronger.

For Mid-level / L4 / E4 / SDE-II at FAANG: I’d rate this resume 7–8 / 10. At that level you’re a credible, even attractive candidate. The 50× speedup, sole-engineer ownership, and modern stack (JDK 25, virtual threads, Spring Boot 4, Drools) all read as someone operating above their YoE — exactly what mid-level pipelines look for.

For Senior at second-tier big tech (Microsoft, IBM, Oracle, Salesforce, large fintechs like Stripe/Block/Plaid, Databricks, Snowflake): 6–7 / 10. More accessible. Microsoft and Salesforce in particular are more forgiving on YoE for Senior; fintechs love your finance-domain depth.

Realistic interview probability per application (rough, not data)

┌─────────────────────────────────────────────────────────────┬─────────────────────────────────────┐ │ Role │ Phone screen rate │ ├─────────────────────────────────────────────────────────────┼─────────────────────────────────────┤ │ Senior at Google / Meta / Apple │ ~3–8% — likely filtered at YoE gate │ ├─────────────────────────────────────────────────────────────┼─────────────────────────────────────┤ │ Senior at Amazon / Microsoft │ ~10–18% — slightly more forgiving │ ├─────────────────────────────────────────────────────────────┼─────────────────────────────────────┤ │ Mid-level (L4 / SDE-II) at FAANG │ ~25–40% — you’re competitive here │ ├─────────────────────────────────────────────────────────────┼─────────────────────────────────────┤ │ Senior at second-tier big tech (MSFT, fintechs, Databricks) │ ~20–35% │ ├─────────────────────────────────────────────────────────────┼─────────────────────────────────────┤ │ Senior with referral at any of the above │ +3–5× the above numbers │ └─────────────────────────────────────────────────────────────┴─────────────────────────────────────┘

If you apply to ~20 Senior FAANG roles cold, expect roughly 1–3 phone screens. If you apply to ~15 Mid-level FAANG roles cold, expect roughly 4–6 phone screens. If you have referrals, multiply by 3–5×.

What’s actually working in your favor

  • The 50× perf bullet — recruiters and hiring managers love a quantified, defensible perf win. This is your headline. In recruiter screens, lead with this.
  • “Selected as repo maintainer (Jan 2026)” — this is the cleanest Senior-level signal on the page. It says the team trusts your judgment.
  • Modern stack — JDK 25 + Spring Boot 4 + virtual threads is bleeding edge. Signals technical curiosity beyond “what BNY mandated.”
  • TA-ing Krähenbühl, Durrett, Q. Liu’s courses — for ML-flavored SDE roles (Anthropic, OpenAI, Google DeepMind, Meta GenAI infra), this is a real differentiator that most resumes don’t have.
  • Promotion in <1 year at BNY — converts a contract-to-FTE story from “lateral move” to “earned trust.”

What’s working against you

  • YoE for Senior, restated. This is the dominant factor.
  • DS-to-SWE pivot — recruiters discount your 2 years at JD/Custeel for SWE leveling even though you list them. Some will count, most won’t.
  • All work is solo — Senior at FAANG is partly about influence on others. Repo maintainer helps, but otherwise the resume reads “individual contributor with great delivery.” Big tech wants “tech leader.”
  • No big-tech brand on the resume — purely a perception thing, but real.
  • Visa sponsorship needed (assumed) — many teams quietly deprioritize. Doesn’t kill, but doesn’t help.
  • No public footprint — your github.com/yixianwang link should resolve to something. If it’s empty or has only forks, recruiters who click it will downgrade you. (Tell me if it’s actually populated and I’ll back off this one.)

What I’d actually do if I were you

  1. Apply to both Senior AND L4/SDE-II at the same company. Most big-tech recruiters will down-level you anyway if they like the resume. Applying to both keeps optionality and signals you understand calibration. Don’t be precious about the title — at FAANG, L4 with a 4.5 perf rating outearns Senior at most banks.
  2. Get referrals. Most important single action. ~3–5× boost on screen rates. Hit LinkedIn, find UT Austin alums at Google/Meta/Amazon (there are many — UT MSCS is well-represented), ask them to refer. Also try ML-PhD-cohort alums of the courses you TA’d — Krähenbühl/Durrett/Q. Liu have many ex-students at FAANG and frontier labs.
  3. Lead with the 50×. In LinkedIn outreach to recruiters, the opening line should be the perf number. “I cut a Drools-based validation pipeline from 50s to under 1s on JDK 25, and I’d love to talk to you about senior backend roles on [team X].” Recruiters skim — give them the number.
  4. Consider Microsoft, Stripe, Databricks, Snowflake first. These are realistic Senior shots given your background. Land one, work 2 years, then re-apply to Google/Meta from a stronger position.
  5. Build something public. Even a small open-source contribution to a JVM project (Spring? Quarkus? Drools itself?) or a write-up of the HMBS perf work (suitably anonymized) on a blog — gives recruiters something to find when they Google you.
  6. Practice system design hard. This is the actual gating interview for Senior at every big tech. Many candidates with strong YoE fail it. If you crush system design, recruiters/hiring managers can credibly argue you up to Senior despite YoE — but only if you crush it.

TL;DR

You have mid-level FAANG content with senior-level positioning. The work itself is good. The math isn’t. Apply to both levels, prioritize referrals, and don’t take cold-application screen rates as a verdict on your ability — it’s mostly the YoE gate doing its mechanical thing.

Want me to tailor a referral-outreach LinkedIn message to recruiters using the 50× number, or strategy something else?