I read it should be one page for every 10 years and an agent told me employers seriously considering you want all the details. I know a developer whose 10 years are split over 7 pages with details of projects worked on? How does a developer craft a good cv, any rules to follow?
I tend to write a 2 page CV; I've always been told that more than this often doesn't get read. Don't include things such as your age, gender or race as these should not be required. Put your basic contact details (name, email, etc) at the top.
Next add some summary information about your abilities. This can take the form of a paragraph long personal statement, perhaps just one sentence, or some bullet points detailing your skills.
Then group the remaining information into sections: employment history, education, training, and perhaps a short personal one about your hobbies (one sentence). Opinion differs on the preferred order of these sections but personally I'd put the employment first.
In the employment history, put your most recent job first and write the most about the most recent stuff. As you go back in time, as a general rule, write less. There are of course exceptions to this rule - if your current job is 3 months in a grocery store but the previous was 10 years as a software developer you'd obviously want to write more about the developer job.
Might depend on country...
From my experience rules that apply to every profession should apply to developers with the addition of technology stacks for each job since many HR teams do pattern matching.
Despite what some people think, there are actually no rules for cv making because of the nature of its purpose.
You want to make a difference, you want to catch someone's attention.
How do you achieve that is going to depend of who you are and what impression you want to make in who.
Try to make a cv that someone will like reading, that compiles the relevant information about you.
Remember: the target of a cv is not to explain who you are; its to give you a chance to explain someone who you are by setting an interview.