Lakshya

Book

Software Engineering

What postings now ask for, system design at the level actually assessed, product sense for engineers, code and review, debugging and the coding round, what changes from mid to staff, the loop round by round, and choosing a track.

The largest field in this atlas at 2,609 postings. Written for the general software engineering loop rather than any one specialism.

CHAPTER 1 What a software engineering job description now asks for AI in 89%. Product sense in 84% — higher than distributed systems at 75%. Mentorship in 43%. CHAPTER 2 System design, at the level actually asked The round that decides most senior loops. Not a memorised architecture — a sequence of defensible trade-offs. CHAPTER 3 Product sense for engineers Named in 84% of postings, above distributed systems. The largest gap between how engineers prepare and what is asked. CHAPTER 4 Code, review and the 9% Testing appears in 9% of postings because it is assumed. Here is what is actually being assessed. CHAPTER 5 Debugging, and the coding round What the coding interview actually measures, and the method that transfers to production. CHAPTER 6 What actually changes from mid to senior to staff The most common promotion failure is doing the previous level extremely well. CHAPTER 7 The software engineering loop, round by round Five rounds, each testing something specific. Knowing which lets you choose the right story. CHAPTER 8 Backend, frontend, full-stack, mobile — and where the demand is What the corpus says about each track, and what that means for how you position yourself. CHAPTER 9 Databases for application engineers Indexes, query plans, isolation levels and the N+1. The single largest source of production performance problems, and the area application engineers are least taught. CHAPTER 10 Distributed systems: the failures that only happen in production Retries that cause the outage, idempotency, the two-generals problem in a payments API, and why 'just add a queue' moves the problem rather than solving it. CHAPTER 11 API design and caching Contracts you cannot take back, the four cache invalidation strategies, and the two failure modes that turn a cache into an outage. CHAPTER 12 Frontend engineering, past the framework Where the HTML gets made, why state management is the actual hard problem, and the performance the user feels rather than the one your laptop shows. CHAPTER 13 Mobile engineering, and the constraints that shape it Why mobile is not frontend with a different renderer: you cannot hot-fix, the platform can reject you, and the device is hostile. CHAPTER 14 The framework landscape, measured React under a new owner, a compiler instead of signals, a Vue release everyone thinks shipped and hasn't, and the two-thirds of the web nobody writes blog posts about. CHAPTER 15 Build tooling after the Rust migration One bundler for dev and prod, three vendor camps, a runtime that changed hands — and why almost every number in this chapter is published by someone who benefits from it. CHAPTER 16 Web performance, measured on real users The three metrics, the numbers the whole web is failing, and the one-line fixes most sites still have not made. CHAPTER 17 Cross-platform mobile, and how to actually choose The migration that finished while nobody was looking, the adoption statistic everyone quotes wrongly, and the option that shares logic without sharing UI. CHAPTER 18 The platform gates: distribution as an engineering constraint Target-API deadlines, the end of anonymous Android distribution, an AI consent screen you must build, and a fee model that changed last week. CHAPTER 19 Testing tools: two races that are over Why one runner won on architecture rather than features, why migration is smaller than teams assume, and the mobile tools that are actually worth the setup. CHAPTER 20 Choosing a database, and the licence histories behind it Why Postgres won, where 'just use Postgres' is genuinely wrong, and the two licence timelines that get asked about and misreported. CHAPTER 21 Which language, and what the interview actually tests in each What 659 job descriptions actually name, why the usual percentages are wrong, and the trap each language sets in an interview. CHAPTER 22 Getting a password out of a vault, in code Vault and CyberArk from the application developer's side — the circular problem underneath, and the code that solves it. CHAPTER 23 Git and GitHub, actually explained Eight chapters on this site say 'pull request' as though you already know. This is the one that assumes you do not. CHAPTER 24 Your editor, and putting a model in it What the tools are, what actually gets sent when you use them, and how to run a model on your own laptop. CHAPTER 25 GitHub Copilot, honestly What the modes actually are, what it costs now that billing has changed, and what the evidence says about whether it helps. CHAPTER 26 Vibe coding, spec-driven development, and which to use Where both terms came from, what the evidence actually says about them, what each produces, and how to use them personally and in a company. CHAPTER 27 Devin, Blitzy, and the autonomy spectrum The product tiers between an autocomplete and a fleet of agents, who the vendors actually are, and the one thing that changes as you climb. CHAPTER 28 Factory, Blitzy, and buying at the top of the spectrum Three differently shaped products, what the vendor numbers do and do not support, and how to evaluate one without running a year-long pilot. CHAPTER 29 Prompting, for people who have to ship What actually works, what is cargo cult, where to put instructions so a coding agent reads them, and how prompt shape drives your bill. CHAPTER 30 APIs, webhooks and MCP Three ways software talks to software, what each is genuinely for, and a worked Confluence chatbot using two of them. CHAPTER 31 Building an MCP server in an enterprise What the job market actually asks for, how MCP design differs from API design, and the decisions that separate a demo server from one you can run.