Bacteria are "simple" enough that we can just append some DNA sequences and have them develop stuff we want. It's predictable enough that people already created "standard library" of DNA blocks - so people can work with bacteria in a kind of dataflow environment, with underlying DNA representation hidden. You connect a "molecule sensor" block with an "amplifier" block, an "inverter" block and a "light up" block, and you get bacteria that start to glow in presence of some metal, etc.
But of course, once we move to the level of multicellular organisms, the complexity explodes. Here, as you say, we basically know that something in an unaltered system sorta correlates with a particular phenotype and if we change it then maybe it won't blow up.