Genetic engineering, especially construction by randomly choosing variants for each gene in the human genome, is going to have the sticky problem of genetic diseases.
Some diseases are caused by existing variants of a single gene. We already know a lot of these. We can just survey existing people to figure out which variants these are. Some variants cause disease whenever a single copy of the variant is present. They're easy, avoid them. Others, like sickle cell anemia, involve just one gene, but need two copies of the same variant to cause the disease. Every gene has two variants present, one from the mother, one from the father. Since we carry two copies of each gene, we really have to consider the pair of variants. Sometimes, as in sickle cell anemia, a variant that is bad news when paired with itself is a winner when paired with other variants (one copy of sickle cell anemia protects against malaria). It's possible, likely even, that there are some genes where every variant is fatal immediately after conception when paired with themselves, but fine when paired with some other variant. Two parents with identical pairs of variants for this gene would lose only half of all conceptions due to this. It would be just like what we see today, where some couples take several months to get pregnant. It would make babies from incest less likely. So we can't avoid a gene variant just because it sometimes causes disease.
Genetic diseases from synthetic variants of single genes have the same issues as existing variants, except there is no existing group of people to survey to find out that the disease exists. You've got to find out by experiment, first by simulation, or if that doesn't catch it, by actually building a person with that variant.
Diseases involving two genes are trickier. Suppose two genes have five variants each, so (5 choose 2) = 10 pairs of variants each. There are 10x10 = 100 choices of pairs of variants for the two genes together. Each has to be tested separately. There are 20,000 genes, so 20 billion two-gene pairs-of-variants to test, but they can be tested in parallel. Jenny says if they have 5 variants each then they can all be covered by about 1000 people, even with the additional constraint of avoiding all known bad 2-gene combinations. Each of those people would be testing some 200 million untried pairs of genes, though, so each one would have a pretty high chance of hitting some genetic disease.
Testing for diseases involving three genes requires generating far too many people. Throw in synthetic variants, giving you 100 variants per gene rather than 5, and even finding all two gene diseases becomes unreasonable. And you can bet that genetic engineering won't limit itself to variants of existing genes. It'll try add new genes and do wholesale rewrites of the genome.
The moral of this story is that even once genetic engineering is pretty mature, it'll still carry a significant risk of hitting unexpected two-gene or three-gene genetic diseases, especially when treading off the well-beaten path. It's similar to the situation with software crashes today.