MathOverflow will be down for maintenance for approximately 3 hours, starting Monday evening (06/24/2013) at approximately 9:00 PM Eastern time (UTC-4).

3 deleted 6 characters in body; added 1 characters in body

I agree that your goals are relevant to this question. I.e. do you want to "learn", "understand", or "use" algebraic geometry?, or perhaps write a thesis? These are all different. If one wants to understand the subject, I like the historical approach, beginning with Riemann surfaces over the complex numbers, say from a book like that of Rick Miranda (augmented by reading Riemann). I.e. I think it is useful when learning an abstract subject to know what elementary things it generalizes, rather than just memorizing the general version.

Of course everyone is different, as my friend George Kempf apparently just sat down and read EGA, but that didn't work for me.

For varieties it helps to supplement Mumford's red book by Shafarevich's Basic Algebraic Geometry. Joe Harris's book Algebraic Geometry derives from his experience teaching algebraic geometry first by concrete examples at Harvard and Brown, but very little theory, which he said seemed to work well.

It is also my view that if you want to use the subject in geometry, including calculate with it, that sheaf cohomology is more important than schemes. Thus George Kempf's book (or Serre's FAC) which treats cohomology of varieties, may be more useful than studying schemes. if you want to do number theory on the other hand, I am assured that schemes are fundamental.

I guess the historical order would be roughly: Riemann surfaces, algebraic curves, algebraic surfaces, general projective varieties, sheaf cohomology of varieties, schemes and their cohomology.....

If you want to learn Riemann surfaces and sheaf cohomology at the same time, Gunning's Princeton lectures on Riemann surfaces are excellent. But there you will only learn the analysis and not the geometry.

I am surely hopelessly naive, but to me schemes are just varieties where you also remember the equations, and stacks are just moduli spaces where you remember the automorphism groups.

A remark: one way to think of schemes is as a "limit of varieties". This is not quite general, but if one has some equations (f1,..,fr) in n variables, they give a map from n space to r space, whose fiber over most points is usually a smooth variety, but whose fiber over the point 0 is more special. That fiber, with its scheme structure, is essentially determined by determines the family of (possible) nearby varieties that may be thought of as converging to the special fiber over 0. Thus knowing the scheme structure can help tell you how the object would change if its structure is slightly varied. E.g. the scheme defined by x^2=0 tells you it is a limit of two points, while that defined by x=0 is a limit of one point.

Of course everyone is different, as my friend George Kempf apparently just sat down and read EGA, but that didn't work for me.

For varieties it helps to supplement Mumford's red book by Shafarevich's Basic Algebraic Geometry. Joe Harris's book Algebraic Geometry derives from his experience teaching algebraic geometry first by concrete examples at Harvard and Brown, but very little theory, which he said seemed to work well.

I am surely hopelessly naive, but to me schemes are just varieties where you also remember the equations, and stacks are just moduli spaces where you remember the automorphism groups.

A remark: one way to think of schemes is as a "limit of varieties". This is not quite general, but if one has some equations (f1,..,fr) in n variables, they give a map from n space to r space, whose fiber over most points is usually a smooth variety, but whose fiber over the point 0 is more special. That fiber, with its scheme structure, is essentially determined by the family of nearby varieties that may be thought of as converging to the special fiber over 0. Thus knowing the scheme structure can help tell you how the object would change if its structure is slightly varied. E.g. the scheme defined by x^2=0 tells you it is a limit of two points, while that defined by x=0 is a limit of one point.