The ideal time to get a second dog is when the first reaches 1-2
years old.
To a certain extent, getting a second earlier can be fine - IF you've got enough time to interact with each of them separately. That means separate walks, separate training (and that also means going to separate classes) separate playtime and just general time away from each other and interacting solely with people. If you don't do that, then you can end up with poorly trained dogs that take their cues from each other, rather than from people - and who are excessively dependant upon each other. If you do a search of the forums (and generally online) for "littermate syndrome" then you get an idea of the potential pitfalls, and the amount of time (which is truely double) you need to be able to put into raising the pups.
Obviously, things get easier if you have several people to hand - so that different people can be working with different pups at the same time. But if you don't, then it really is going to take a massive amount of your time and may not be a great idea.
Delaying until the current pup is a year or more old, on the other hand, makes your life a heck of a lot easier. Rather than having to cope with training two puppies, you instead have one already-trained dog to help lead the new puppy. Worth bearing in mind
As for genders - you should not have an unneutered male in the same house as an unspayed female. Even if you can successfully keep them apart (something that frequently fails), it's really not fair to have a male dog smelling an in-heat female. If you're not planning on spaying/neutering your pets, then it would probably be a better idea to get two males. That is usually a fairly successful combination (its only with 2 females that you really enter risky territory).