I might be showing a lack of knowledge here, because I doubt I'm as well-equipped to answer this as others on this thread, but here are my thoughts.<p>Learn functional programming, because it's going to become important when parallelism becomes important. Learn enough about concurrency and parallelism to have a good sense of the various approaches (threads, actors, software transactional memory) and the tradeoffs. Learn what databases are and why they're important. Learn about relational (SQL) databases and transactions and ACID and what it means not to be ACID-compliant (and why that can be OK). Learn a NoSQL database. I frankly don't much like most of them, but they solve an important problem that relational databases need a lot more massaging to attack.<p>All this said, I think focusing on "web scalability" is the wrong approach. Focus on the practical half of computer science rather than "scalability". I feel like "scaling" is, to a large degree, a business wet dream / anxious nightmare associated with extremely public, breakout success (or catastrophic, embarrassing failure) and that most people would do better just to learn the fundamentals than to have an eye on "scaling" for it's own sake.<p>Bigness is technology isn't innately good. All else being equal, it's very, very bad. Sometimes the difficulty is intrinsic and that's a good thing, because it means you're solving a hard problem, but difficulty for difficulty's sake is a bad pursuit. Software is already hard; no point in making it harder.<p>Finally, learn the Unix philosophy and small-program architecture. Learn how to design code elegantly. Learn why object-oriented programming (as seen over the past 25 years) is a massive wad of unnecessary complexity and a trillion-dollar mistake. Then learn what OOP looks like when done right, because sometimes it really delivers. For that, most scaling problems come from object-oriented Big Code disasters that are supposed to perform well on account of all the coupling, but end up being useless because no one can understand them or how they work.<p>Learn the fundamentals so you <i>can</i> scale, but don't scale prematurely for its own sake.<p>I could be wrong, but I don't think I am.