I need to design a primer set for a gene from cDNA. How can I go about making a primer set if it doesn't matter what portion of the gene I use? In addition, how can I predict the size of the application product resulting from using the primers I design?
I'll assume:

 - You know about making primers for gDNA targets
 - You are designing a primer for RT-qPCR (since you didn't explicitly state that)
 - My suggestions below mainly are based on experience for human genes but are most likely transferable to other eukaryotes (but others may want to add specific things about other species).

I would suggest doing the following:

 1. Get the mRNA sequence of your gene of interest, from UCSC or Ensembl, doesn't matter
 2. Use this sequence in [Primer3][1]
 3. The best is to have either a primer on an exon-exon junction, e.g. primer partially in exon 2 and exon3. This will limit the chance of amplification of contaminant gDNA. In Primer3 you can mark this junction site using '-' in the sequence or use the box "Overlap Junction List". The explanation on the website is quite clear.
 4. Second best would be an amplicon that spans a (large) intron, so one primer in exon 4 and the other in exon 5. This again will reduce the chance of having contaminant gDNA amplification. In this case, you would make the junction a target. In Primer3 you would mark the sequence of your target with '[' and ']' or use the "Targets" box.
 5. Test the primer pair using [in silico PCR][2] and [blat][3], both on the genome assembly and the Gencode genes to investigate potential off-target hits. If any hits are found (and their amplicons are quite small) repeat the process to get other primers, for example using Masking of the primer site which didn't turn out to be a good one. In Primer3, masking can be done by changing the sequence to N, or excluding the sequencing using '<' or '>', or use the "Excluded Regions" box.


  [1]: http://primer3.ut.ee
  [2]: https://genome.ucsc.edu/cgi-bin/hgPcr
  [3]: https://genome.ucsc.edu/cgi-bin/hgBlat