Es importante la teoría de programación en el desarrollo de software

La pregunta de cuán importante es la teoría de programación para el desarrollo de software en el mundo real es un tema divisivo dentro de la comunidad de desarrolladores, y no tienes que buscar mucho para encontrar a personas discutiendo en ambos lados.

Índice de Contenido
  1. La importancia de la teoría de programación en el empleo
  2. Las limitaciones de los cursos en línea
  3. Enfoque de diferentes compañías
  4. La importancia del conocimiento teórico
  5. Preparación universitaria y las expectativas de las empresas
  6. La complementariedad de lo práctico y lo teórico
  7. Saber conducir y programar: una comparación
  8. El papel de los bootcamps

La importancia de la teoría de programación en el empleo

Muchas empresas tecnológicas aún basan sus decisiones de contratación en el entendimiento de los fundamentos de programación por parte de los candidatos, lo cual es motivo de preocupación para los desarrolladores que han aprendido a programar pero no poseen un título en ciencias de la computación, donde se enseña gran parte de esto.

En los últimos años, los cursos de programación en línea y los llamados bootcamps han ganado mucha popularidad entre aquellos que buscan una forma rápida de ingresar al desarrollo de software. Estos cursos intensivos generalmente se enfocan en un lenguaje de programación o plataforma específica, que se enseña a los estudiantes a utilizar durante varias semanas.

Las limitaciones de los cursos en línea

Aunque pueden ser una opción conveniente para aquellos que buscan cambiar de carrera en la mediana edad, o para aquellos que no tienen tiempo o dinero para obtener un título universitario de dos a cuatro años en ciencias de la computación, los cursos en línea rara vez dejan a los estudiantes con un entendimiento de los fundamentos de programación. Esto puede ser una sorpresa desagradable cuando se presenta durante el proceso de entrevista.

Según Bruno Rocha, desarrollador de iOS y escritor del blog sobre programación SwiftRocks, "si una persona ha pasado su carrera aprendiendo a programar en la práctica, que podríamos decir que es como la mayoría de las personas aprenden a programar hoy en día, incluyéndome a mí, estas preguntas teóricas pueden ser extremadamente difíciles de responder, lo que da la sensación de que estos procesos son ineficaces e incluso injustos en cierto punto".

Enfoque de diferentes compañías

Rocha señala que, si bien las empresas tecnológicas tradicionales todavía ven la programación como un concepto genérico, las empresas más nuevas tienen necesidades de plataforma más prácticas y enfocadas, que es precisamente el tipo de trabajo que los cursos de tipo bootcamp están diseñados para cubrir.

Pyston: La herramienta que acelera las aplicaciones web en Python

La ira hacia las empresas tecnológicas que exigen un entendimiento de la ciencia de la computación se debe en gran parte al hecho de que se ve en gran medida como innecesario para las tareas que un programador realmente tendrá que realizar como parte de su trabajo.

Según Rocha, la explicación es simple: "aunque brindan un gran impulso a tu capacidad de programación, es seguro decir que, desde un punto de vista de necesidad de carrera, no es necesario dominar la programación de una forma genérica si tu trabajo es programar para una plataforma específica, como web o iOS".

La importancia del conocimiento teórico

Por supuesto, la importancia de este conocimiento también depende de dónde o para quién desee trabajar un desarrollador aspirante.

  • La forma en que enseñamos programación está equivocada. Así es como debe cambiar
  • Algunos desarrolladores están listos para regresar a la oficina. Pero no todos quieren volver
  • Las entrevistas de programación son un fastidio. ¿Podemos mejorarlas?

Un error común es pensar que el trabajo realizado por las grandes empresas de software es igual que el de las empresas tecnológicas promedio, pero esto no es cierto, afirma Rocha. "Aunque el trabajo técnicamente puede ser el mismo, estas empresas tienen necesidades y objetivos considerablemente diferentes, y creo que es muy importante considerar y entender estas diferencias al establecer tus metas profesionales", agrega.

Preparación universitaria y las expectativas de las empresas

Tom Crick, profesor de educación y política digital en la Universidad de Swansea, señala que las personas están cada vez más escépticas con respecto a los procesos de entrevistas técnicas "brutales" de las grandes empresas de tecnología, que no necesariamente son un medio preciso para determinar las competencias básicas de un candidato.

Según Crick, los programas universitarios juegan un papel importante en la preparación de los graduados en desarrollo de software para el empleo, y señala que la mayoría de las grandes empresas esperarán que un candidato tenga "un buen título de una buena universidad".

Dominando el pasado: los lenguajes de programación olvidados que aún son vitales para las grandes empresas

En este caso, los programas de ingeniería de software actuales pueden necesitar una revisión, ya que Crick señala que muchas universidades del Reino Unido simplemente han ajustado sus programas de ciencias de la computación para acomodar syllabi más enfocados en software.

"El programa de ingeniería de software se ha desarrollado como 'ajustemos el programa de ciencias de la computación y agreguemos algo más enfocado en software'", dice.

"En realidad, estás comenzando a ver, especialmente debido a la demanda de personas para programar en diferentes sectores, que la amplitud del conocimiento y experiencia va desde la necesidad de habilidades de programación hasta algún tipo de conocimiento teórico formal, pero también se necesita la capacidad de comprender lo que significa diseñar software desde una perspectiva centrada en el usuario y cómo se puede utilizar en una variedad de contextos diferentes".

La complementariedad de lo práctico y lo teórico

En cuanto a los conocimientos prácticos frente a los teóricos, Crick dice que no se trata de elegir entre uno u otro, ya que ninguno es comparable al otro en términos de la experiencia que ofrecen, y cada uno tiene sus méritos individuales.

"Creo que pueden ser complementarios. Hacer un bootcamp puede ser una inmersión rápida en, digamos, si quisieras aprender Angular y el framework de JavaScript popular que todos parecen usar en fintech. En ese caso, puedo ver que hacer un bootcamp de Angular sería realmente útil, porque estaría mucho más enfocado en la industria", dice.

Sin embargo, Crick también cree que, al igual que cualquier disciplina técnica, dominar la ingeniería de software requiere conocimiento teórico, conocimiento que los desarrolladores no obtendrán en un curso en línea intensivo. "Me frustra bastante cuando la gente dice que solo necesitas saber programar y no necesitas todo ese conocimiento teórico, porque el conocimiento teórico también es bastante importante para entender los errores que se han cometido en el software durante años", dice.

Cómo las Fusion Teams están impulsando el desarrollo de aplicaciones con Microsoft Power Platform

"Hay un pragmatismo en torno a que no puedes ser un experto después de hacer un programa de ocho semanas o tres meses. Es simplemente la realidad, es imposible".

Saber conducir y programar: una comparación

También está el problema de la experiencia práctica. Un curso intensivo de manejo enseñará a los nuevos conductores las habilidades prácticas necesarias para manejar un automóvil en pocos días, pero no les dará la experiencia sostenida que convierte a las personas en conductores competentes y seguros. Lo mismo ocurre con la programación.

"Necesitas desarrollar esas competencias, esos comportamientos y prácticas, y claramente desarrollas algunos de ellos en la universidad, pero también tienes que desarrollarlos en la industria", dice Crick.

"No creo que puedas desarrollar eso en dos semanas, ocho semanas o tres meses. Y tampoco creo que lo desarrolles por completo durante la duración de un título universitario. Es el aprendizaje y el desarrollo, y luego tienes que hacerlo en el mundo real, en la industria también".

El papel de los bootcamps

El rápido avance de la tecnología de los teléfonos inteligentes hace unos 15 años llevó a una escasez de desarrolladores, y los bootcamps de programación surgieron para llenar ese vacío al permitir que aquellos sin un título universitario se introdujeran en la industria.

Pero con la llegada de más nuevos desarrolladores a través de estas vías no tradicionales, existe el riesgo de que haya una discrepancia entre sus propias expectativas y las de las empresas contratantes, y Crick señala que los bootcamps de programación pueden hacer que los estudiantes se sientan demasiado confiados acerca de sus capacidades.

El objetivo principal de Kubernetes en las empresas no es la portabilidad

"Esto no quiere decir que el título de ciencias de la computación sea un requisito previo para convertirse en ingeniero de software, porque en realidad hay muchas personas que son ingenieros de software y no han obtenido un título en ciencias de la computación", agrega.

"Pero si observas a las personas con un origen en alguna disciplina STEM, como ciencias o matemáticas, verás a muchos ingenieros, matemáticos y científicos que también son muy buenos programando, porque tienen esa base técnica sólida sobre cómo pensar en la resolución de problemas".

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Desarrollo, allí encontraras muchos artículos similares a Es importante la teoría de programación en el desarrollo de software , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.