Esto podría ser demasiado limitado, pero es un problema único para los profesionales de ITSec. Un ser querido está empezando una nueva carrera de programación y me da la alegría de verla aprender los conceptos de programación más básicos desde cero. Ella está en la cima de su clase en cada uno de sus cursos universitarios, produciendo un trabajo de alta calidad, y ha atraído tanta atención que ya está obteniendo un trabajo por contrato.
Como profesionales de ITSec, hablamos de infundir el ciclo de desarrollo con prácticas y diseño de codificación seguros, pero ¿cómo se aplica eso a un nuevo aprendiz? Un nuevo programador se encuentra al comienzo de su propio 'ciclo de desarrollo de por vida', en el momento. ¿En qué momento es apropiado, desde una perspectiva educativa, cambiar de la mentalidad de "hacer que funcione" a "absolutamente debe ser seguro"? ¿En qué momento debe un estudiante "reprobar" una asignación debido a un problema de seguridad?
Ella entiende completamente la necesidad de producir un código seguro, y quiere hacerlo, pero ninguna de sus clases ha introducido la idea y sigue acudiendo a mí para revisar y analizar el código. ¿Cuándo se debe hacer el cambio para obligarla a rediseñar todas las tareas de clase para usar un diseño seguro?
No quiero interrumpir una carrera prometedora al presentar requisitos frustrantes, pero también quiero dar a esa nueva carrera el mejor comienzo posible. Además, ¿hay recursos que me ayuden a enseñarle los conceptos básicos de la codificación segura desde la perspectiva de un programador principiante? Encuentro que lo estoy inventando a medida que avanzo ...
Agradezco tus consejos.
- ¿En qué momento es apropiado, desde una perspectiva educativa, cambiar de la mentalidad de "hacer que funcione" a "absolutamente debe ser seguro"?
- ¿En qué momento debe un estudiante "reprobar" una asignación debido a un problema de seguridad?
- ¿Cuándo se debe hacer el cambio para obligarla a rediseñar todas las tareas de clase para usar un diseño seguro?
- ¿Existen recursos que me ayuden a enseñarle los conceptos básicos de la codificación segura desde la perspectiva de un programador principiante?
Como nota al margen: me he dado cuenta de que al elevar el listón en la revisión de código de sus asignaciones de clase, solo en términos de seguridad básica de 'validar y desinfectar', ella terminó produciendo códigos de muy alta calidad en general. A partir de este ejemplo, creo que puedo ver el valor de comenzar la educación de esta manera porque obliga a una comprensión aún más profunda del flujo de datos y la lógica de programación.