Pirateo informático (seguridad): ¿son los bootcamps para desarrolladores la nueva (y mejor) alternativa a un título de CS?

La respuesta aquí depende de los objetivos de la persona que está considerando asistir a estos cursos.

Respuesta corta: ¿sabes que quieres trabajar en productos de software de creación de equipos? Prueba un campamento de entrenamiento. ¿Desea abordar problemas computacionales y algorítmicos más grandes? (por ejemplo, diseñar sistemas de control más inteligentes para automóviles robot) considere un título de CS.

En general, un título de CS le da una ventaja en la teoría detrás del software y los algoritmos. En mi experiencia, los profesores de CS tienden a estar más interesados ​​en las teorías detrás de un algoritmo y los resultados de un algoritmo. Los marcos, la colaboración en proyectos, el diseño de interfaces (menos un tema de CS puro y más un estudio del comportamiento humano) y la mantenibilidad del código no son temas de alta prioridad en muchos programas de CS.

Por el contrario, las cosas que escuché al salir de los campos de entrenamiento se centran más en aprender los conceptos básicos de la programación (por ejemplo, así es como funciona un bucle for) y usar ese conocimiento dentro de un marco (por ejemplo, Ruby on Rails) para construir algún tipo de interfaz a datos o un proceso, en un entorno de equipo (utilizando control de fuente y comprensión del diseño modular).

El seguimiento de grado CS lo prepara para resolver problemas técnicos profundos y superar los límites de lo que las computadoras pueden hacer para ayudar a los humanos. El campo de entrenamiento le ayuda a comenzar por un camino diferente en el mismo campo: llevar las nuevas capacidades de las computadoras (generalmente construidas por personas con títulos de CS) al mercado.

Si no sabes lo que quieres hacer, prueba el campo de entrenamiento. Es más barato que un título de bachiller y te da habilidades (codificación en equipos, etc.) Me gustaría que enseñaran cuando estaba en la universidad.

En mi opinión, los bootcamps y los grados de CS no están dirigidos al mismo tipo de persona.

Los bootcamps son generalmente una capacitación de 3 meses enfocada en enseñarle lo mínimo requerido para obtener un trabajo de ingeniería de software. Estos son buenos para las personas que ya están trabajando y que quieren hacer un cambio rápido de carrera porque tienen que pagar las facturas. En realidad, el 89% de los asistentes ya tienen al menos una licenciatura. (fuente: Página en coursereport.com). Si bien son un buen comienzo porque le enseñarán habilidades prácticas, 3 meses no son suficientes para adquirir todos los conocimientos básicos necesarios para convertirse en un gran ingeniero de software. Además, se centrarán principalmente en crear aplicaciones web, lo que no es ideal para convertirse en una persona de seguridad de software.

El título de CS proporcionará una educación más amplia que no solo se centrará en la informática. La mayor parte de la enseñanza se realizará a través de conferencias, por lo que los estudiantes conocerán principalmente la teoría pero no practicarán mucho. Al final, los estudiantes no están preparados para la fuerza laboral y aún necesitan ser entrenados por sus primeros empleadores para ser eficientes en el trabajo.

Hay una tercera alternativa que en realidad cofundé. Un programa de 2 años para convertirse en ingeniero de software Full Stack. Todo está basado en proyectos: no hay maestros o conferencias formales, los estudiantes aprenden trabajando en proyectos a nivel industrial y colaborando con sus compañeros. El objetivo es simular un entorno de trabajo. Como persona de seguridad de software, es especialmente importante tener un conocimiento básico sólido sobre cómo funcionan la arquitectura del sistema y el software, ya que las vulnerabilidades y las vulnerabilidades de seguridad pueden estar en cualquier lugar y, por lo general, requieren una comprensión profunda y de bajo nivel de cómo funcionan. Para saber más al respecto: Holberton School of Software Engineering en San Francisco

Para resumir

  • Si ya tienes una carrera y no puedes pasar años en educación, ve por un campamento de entrenamiento.
  • Si desea una educación amplia y teórica, obtenga un título de CS.
  • Si desea una sólida formación de ingeniero de software, vaya a la Escuela Holberton.

Las habilidades prácticas son mucho más valiosas en el mundo real, y muchas universidades no te enseñarán habilidades como esa. Si está realmente interesado en la teoría de CS, entonces ¿por qué no solo leer algunos libros? Honestamente, a nivel de pregrado, ¿cuánto agrega un profesor a su valor educativo cuando puede leer el texto asignado? Si tienes preguntas, solo ve a la universidad y finge que eres un estudiante y pregúntale a uno de los profesores.