Aunque ha pasado ya un tiempo desde que lo finalicé, creo que es buen momento para contar mi experiencia. ¡He finalizado con éxito el Bootcamp de Desarrollo de Aplicaciones Web (7ª edición) impartido por Keepcoding! El camino ha sido duro pero desde luego que ha merecido la pena.
¿Por qué lo hice?
Todo empezó el año pasado, durante la primavera, cuando el responsable de la factoría de software del Centro Tecnológico Naval (CTN) dejaba el puesto. En ese momento, surgió la necesidad de cubrir la vacante, y tomamos la decisión de que fuera yo mismo el que pusiera solución al asunto, en lugar de buscar personal externo. De tal forma, algunas de mis funciones hasta ese momento pasarían a otra persona y yo empezaría a ser de manera oficial el CTO del CTN, donde no sólo me ocuparía, como ya me ocupaba, de llevar un área a la que llamábamos ‘Nuevas Tecnologías’, en la que trabajábamos con sistemas IoT o nos hacíamos cargo de los sistemas informáticos, sino que ahora también me iba a encargar de todos los desarrollos de software del Centro.
Visto con retrospectiva, fui demasiado optimista con lo que significaba liderar un área donde el grueso del trabajo se centra en el ‘Desarrollo de Aplicaciones Web’ (DAW). Había hecho algunos proyectos con WordPress, conocía bien HTML y CSS, las bases de datos no me eran desconocidas, pero por ponernos en contexto, no había tirado una línea de código nunca ni con JavaScript ni con PHP. En cualquier caso, tras haber pasado un año aproximado con mi nuevo equipo ya hemos sido capaces de engranar todos los sistemas y empezar a ser realmente productivos.
Mi experiencia personal
Volviendo al Bootcamp, he de decir que mi experiencial personal ha sido muy satisfactoria. Por supuesto que he tenido que dedicar muchas horas y sacrificar por tanto tiempo con la familia así como tiempo libre. Pero el conocimiento adquirido a lo largo de los 8 meses aproximados que ha durado mi aventura ha valido la pena.
Siendo más concreto, diría que he quedado muy satisfecho con el hecho de que he podido adquirir unas bases sólidas en el ‘Desarrollo de Aplicaciones Web’. Antes del Bootcamp ya tenía experiencia en programación en diferentes ámbitos, pero no conocía con detalle el ecosistema que engloba el DAW. Sólo este aprendizaje vale la pena para mí. Sí que es cierto que he echado en falta profundizar más en el desarrollo del backend. Parece que se ha quedado corto en técnicas de desarrollo de backend o el manejo de las propias bases de datos. Pero ya digo, los mimbres han sido muy buenos para seguir desarrollándome profesionalmente en esta área.
Mi práctica final: Wallasport
Con todo lo aprendido, nos dejaron un margen de 3 semanas para desarrollar desde cero una aplicación web clon de Wallapop. El objetivo es la compra venta de productos, en la que hay que gestionar usuarios y anuncios básicamente. Había requisitos funcionales extras como la implementación de un chat interno para usuarios de la aplicación o notificaciones tras cambiar los estados en los anuncios. Sin embargo, en tres semanas, compaginando con el trabajo, era realmente difícil cubrir el 100% de los requisitos. Así que siendo consciente de eso, me planifiqué 3 sprints realistas para cubrir con la máxima calidad posible los requisitos funcionales mínimos.
El resultado lo podéis ver publicado en wallasport. Si alguien está interesado en profundizar en el desarrollo, tanto del backend (desarrollado en node) como en el frontend (desarrollado en React), puede revisar mi perfil de GitHub.
Consejos para gente interesada en DAW
Si bien es cierto que no se sabe qué pasará en un futuro a medio plazo, hoy en día el desarrollo de aplicaciones web; diseñadores, maquetadores, programadores de backend, sistemas, gestión de equipos, etc, ofrece muchas oportunidades laborales y por lo general pagadas por encima de la media.
Ahora bien, si te quieres dedicar a este mundo tienes que asegurarte de que cuentas con ciertas capacidades. En primer lugar, diría que te tiene que gustar mucho pasar horas y horas delante del ordenador. También tienes que contar con la capacidad para poder solucionar problemas que a veces pueden parecer cosa de brujas. Y en general, es importante contar con capacidad de análisis y abstracción de la realidad para poder llevar el mundo real al mundo digital de la manera óptima.
Y en cualquier caso, si no has tenido nunca acercamiento con la programación, yo recomendaría empezar por otro Bootcamp más asequible que te permita aprender a programar de cero.