Being a great developer is about making good decisions in the face of uncertainty, moving forward with limited information without shooting yourself in the foot. The complexity never goes away, you just learn to dance with it.