The manipulation of codon selection in synthetic genes greatly influences expression of the gene's products i.e. proteins. Biologists frequently have multiple objectives when constructing a synthetic gene for a given protein sequence and are often limited by the tools and mechanisms used to design genes in vitro. Poor codon choice and mRNA secondary structure formation can lead to to the under-expression of a protein coded for by a synthetic gene; oligonucleotide melting temperature and the existence of restriction sites can either facilitate or inhibit gene assembly processes. We have attempted to capture these heuristics in a genetic algorithm that generates optimized DNA sequences for a given input amino acid sequence. Our preliminary results indicate that the algorithm is very effective at quickly creating genes which match desired DNA sequence characteristics.