¿Necesito conocer el desarrollo web y de aplicaciones si quiero ser ingeniero de software, o si la codificación, las estructuras de datos y los algoritmos son suficientes?

La codificación, las estructuras de datos y el algoritmo son suficientes para ser un ingeniero de software. Pero tener una habilidad extra te hará sobresalir de la cola.
Tome un ejemplo como si tuviera un teléfono inteligente Android con muchas características como pantalla de 5.5 pulgadas, batería de 4100 mAh, ranura Dual Sim + SSD, cámara de 16mp. etc.
Y algunas características adicionales como NFC, infrarrojos, brújula …

Las características adicionales te hacen más feliz.

Lo mismo en el caso, si tiene conocimientos adicionales de codificación, es mejor para usted. Y todas las empresas de tecnología quieren que sus empleados tengan una cantidad adicional de conocimiento según los contraten. Si un empleado experimentado abandona la empresa por cualquier motivo, cualquier otro compañero de trabajo debería ser capaz de manejar el mismo trabajo.