Someone calling themselves a programmer or engineer really only needs to be able to take the requirements they're asked to implement by their employer and implement them in an agreeable timeframe.
No more, no less. Doing so will get you paid for the activity of programming.
Along the way if you don't know anything, because you can't know or remember everything, you just look it up.
To me this seems similiar to if you want to call yourself a physician, you need to be able to speak latin. Its true (at least need to pass an exam), but it is only signaling, and no just having a few latin derived labels.
(Solve the Towers of Babylon with recursive algo).
So, yes. Somebody calling himself a programmer or engineer should be able to produce this.