Do Japanese people know English?
No, in general they don't. Anyone telling you differently was in a bubble of English speaking Japanese. That's not the norm, not even in Tokyo.
Engineers can probably read because the majority of tech, computer languages, libraries, their docs are in English. Though that might change now that LLMs can make all the docs in Japanese removing the need for English skills.
Speaking ability is rare.
The average native Japanese speaker knows more English than the average native English speaker knows Japanese.
Yes, especially if people living in the city. I have known Japanese people who can’t speak English well but can read technical CS papers and understand well enough to give a summary and presentation in Japanese.
Just keep in mind they are usually very good in reading, okayish in listening, and kinda needs work on speaking. But that’s expected. If you live a daily life in Japan like the Japanese, you barely need to speak English, or hear it, if at all. Even the foreign staff at the convenience store speak Japanese good enough for them to carry on their duties.
Yeah. I'm not a native English speaker and I spent significant time and effort learning the damn language. It paid off.
What's preventing Japanese engineers from doing the same?
The average Japanese person doesn't know English.
Standard Japanese public education through to college/university include ~1k hours total of English classes, changing but still focused on word-for-word translations.
The goal and aim of those classes (I think) is so that 21st century Japanese engineers can decode foreign scientific papers and encode export user manuals on their own.
And so Japanese engineers can interpret and compose English text files as, one would handle C-like code. Consequently read/write data rates as well as emotional grasp are closer to that for code than speech, and the ability also gets dubious quick for anything "platform" specific and not literal. Like, even "to pull off" will cause an exception and quick jump/return with "achieve". It would be fair to say that calling it English literacy is a bit of a stretch.
It will do for many purposes, so in that sense, yes, Japanese people do know English.
There are people(not me) from rich or otherwise unique backgrounds or educated before WWII who use actual English and not that embedded English Lite, they're rare.