¿Por qué estoy luchando con marcos de aprendizaje y desarrollo de software?

La programación competitiva y el desarrollo de software son bestias completamente diferentes. El primero trata casi por completo de estructuras de datos, algoritmos y demás. Este último es un proceso en el que usted (u otra persona) concibe una idea o tiene un problema, se le ocurre un diseño para resolverlo, implementa ese diseño, prueba y depura esa implementación, la implementación se entrega, el producto es compatible y los errores se corrigen, y se agregan características adicionales con el tiempo. El proceso no es iterativo; Puede dar vueltas varias veces para refinar la comprensión, el diseño, etc.

Obtiene un poco del proceso de diseño y hace algunas de las cosas que hacen los desarrolladores de software cuando implementan ese diseño, tal vez un poco de prueba y depuración, pero eso es todo cuando se hace una programación competitiva. No hay necesidad de respaldar el resultado más allá del final de la competencia. No tiene que lidiar con las especificaciones cambiantes, el hardware problemático, las bibliotecas de terceros que no funcionan como se anuncian o están mal documentadas, o los usuarios que exigen mejores resultados más rápido. No tiene que preocuparse por si alguien (usted u otro desarrollador) tendrá que mirar su código en seis meses o seis años y tiene que descubrir por qué no funciona del todo bien.

El desarrollo de software lleva años para aprender a hacerlo bien. No se desanime si es difícil al principio. Si estás realmente interesado en hacerlo y estás abierto al aprendizaje, llegarás allí.

Para ser completamente directo: su experiencia en la competencia le ha dado objetivos y expectativas poco realistas.

La competencia consiste en hacer algo que apenas funciona, lo suficiente para cumplir con los requisitos, en el menor tiempo posible. Puede, debe, tomar atajos para llegar allí.

El desarrollo de software como carrera se trata de hacer algo que pueda mantener y mejorar con el tiempo. Los atajos matarán tu aplicación y tu productividad.

En cuanto a los marcos, la mayoría de los marcos son enormes . Debe trabajar con ellos diariamente durante meses antes de que sea fluido con ellos.

En los primeros seis meses de su carrera, se siente abrumado por las siguientes cosas:

  • Nuevos marcos
  • Nuevas prácticas (iteración de requisitos, etc. – en competencia, los requisitos son fijos y no son particularmente complicados)
  • Nuevas habilidades (depuración, resolución de problemas, etc. en una escala mucho mayor de lo que jamás haya encontrado)

Cualquiera de esas cosas puede tomar años para dominar.

El desarrollo web implica un amplio conjunto de habilidades, en lugar de profundas, y se trata principalmente de organizar su sistema. Las tecnologías involucradas no son particularmente difíciles, pero es fácil implementarlas de manera funcional pero confusa. Debe asegurarse de que HTML, CSS, JavaScript, las herramientas de compilación y su pila de back-end funcionen bien juntos. Es decir, eres un buen escritor, ahora necesitas convertirte en un buen bibliotecario.

El desarrollo front-end no es trivial. Hay tantas partes móviles y hay que conceptualizar cómo encajan todas. Además, todo está cambiando todo el tiempo y hay un número casi infinito de formas de construir un sitio. Esa misma libertad también puede dejarlo atrapado porque no puede decidir qué camino tomar.

La programación competitiva y las estructuras de datos tienen poco que ver con el desarrollador web. ¡Lo que falta es que no te diste cuenta de que el desarrollo web no es fácil!

More Interesting

¿Por qué los desarrolladores de software de la India trabajan en Windows o se desarrollan directamente en un servidor de desarrollo o producción?

Soy un desarrollador de software y tiendo a perder detalles, ¿alguna técnica / consejo para mejorar esto?

¿Qué usan los desarrolladores para almacenar el progreso / hallazgos de desarrollo de una tarea similar a las notas en ejecución?

¿Quiénes son los mejores desarrolladores de aplicaciones para niños?

Empleos y carreras: Soy un desarrollador de Java con 4 años de experiencia principalmente con un banco de inversión superior. Quiero convertirme en un consultor independiente para poder trabajar en todo el mundo y ganar más. ¿Cómo lo hago?

Si el software está hecho de software, ¿cómo se creará el primer software?

Rol del desarrollador de software en el proceso de desarrollo moderno. ¿Cómo ha cambiado en los últimos 10 años y cómo, en su opinión, cambiará en el futuro?

He sido desarrollador de software durante más de 8 años y todavía soy débil en programación y algoritmos, ¿cómo puedo mejorar?

Como desarrollador junior de software, ¿cómo debo elegir entre convertirme en generalista o especialista en mi carrera?

Cómo pasar de un trabajo académico al desarrollo de software

¿Por qué los desarrolladores de aplicaciones usan Apache Hadoop?

¿Qué tan popular es el jiu-jitsu brasileño entre programadores y desarrolladores de software?

¿Cómo puedo trabajar como buen desarrollador de software?

¿Cuánto ganan en promedio los desarrolladores de aplicaciones en publicidad por clic y cuál es el CTR promedio?

¿Los desarrolladores independientes suelen utilizar software de seguimiento de tiempo?