Cuando trabajo en un nuevo proyecto de software que utiliza tecnologías desconocidas, es extremadamente difícil comenzar, ¿qué debo hacer?

La actividad de crear software se basa fundamentalmente en dividir las cosas en tareas más pequeñas hasta que sean lo suficientemente pequeñas como para que puedas escribirlas en código. Mira todo tu sistema. Estudia tus requerimientos. Averigüe los pasos que deben ejecutarse, las cosas que el sistema debe hacer. Luego, repita cada paso y divídalo aún más hasta que sienta que lo comprende lo suficientemente bien como para implementarlo.

Creo que a menudo es fácil seguir el flujo de datos a medida que viaja a través de su sistema. (Su millaje puede variar, o tal vez prefiera un enfoque diferente). No piense en analizar millones de correos electrónicos. Piensa en analizar un correo electrónico. ¿Dónde entra? ¿Dónde se almacena? ¿Cómo lo procesa el sistema? ¿Dónde se almacenan los datos procesados? ¿A dónde se envía después?

Si todavía tiene dificultades para avanzar, intente construir un prototipo. Solo una pequeña prueba de concepto. Implementar una pequeña parte primero. Tal vez recibir el correo electrónico de alguna parte? No se preocupe por la autenticación o la seguridad ni nada, solo haga que los datos fluyan de un extremo al otro. Descubrirá cosas que no había considerado y aprenderá algunas cosas que hizo bien y otras que hizo mal.

Luego prototipo del siguiente paso.

Ahora tienes dos prototipos. Vincularlos juntos. Integrarlos. Luego prototipo del siguiente paso. Y el siguiente.

Ahora tiene todos estos prototipos unidos y moviendo datos y procesándolos de extremo a extremo.

Tire todos los prototipos.

Repase las lecciones aprendidas y haga otra iteración.

Repita hasta que esté satisfecho.

Lo primero es no sentirse mal por eso. No hay nada malo en tener dificultades, es completamente normal.

Lo que NO debe hacer es continuar codificando copiando cómo otras personas hicieron sus tareas, sin comprender cómo funcionan las cosas. Eso solo se verá productivo por un corto tiempo, pero muy malo a largo plazo. Si no comprende las tecnologías, no podrá realizar tareas complicadas y no podrá depurar problemas.

Tome cada tecnología con la que no esté familiarizado y estudie por separado. Esto debería estar lejos de su base de código de proyecto actual. Por ejemplo, supongamos que está trabajando en un proyecto que utiliza AngularJS, Hibernate y Spring. Estudie cada uno de estos individualmente. Crea tus propios proyectos, sin integrarlos primero. Solo juega un poco.

Cuando comprenda el concepto de cada uno, intente por sí mismo cómo los conectará. Una configuración simple debería ser suficiente. Simplemente hazlo lejos de cómo fue diseñado tu proyecto actual. Hazlo a tu manera.

Cuando comprenda más, volver a su proyecto será más sencillo. El código y la estructura ahora tendrán sentido para ti, y ya no parecerán crípticos 🙂

Más poder para ti

Bienvenido al mundo del desarrollo de software y, de hecho, al mundo completo.

Hacer cualquier cosa por primera vez es más difícil que después de haber practicado mucho.

Con cualquier tecnología nueva, desea encontrar una manera de jugar con la API en un entorno de espacio aislado donde no puede causar daños graves a su base de datos o al resto de su base de código.