Cómo convertirse en un desarrollar de software completo

Aprender un lenguaje de programación es sólo una de las muchas tareas necesarias para convertirse en un desarrollador de software. Las empresas quieren contratar a un desarrollador completo y asumir que conoces todo el proceso de desarrollo de software al dedillo.

Vamos a describir cuatro partes fundamentales, para convertirnos en un desarrollar de software más completo y por lo tanto más rentable.

Desarrollador de software completo

Las preguntas

Muchos graduados universitarios, que desean ser desarrolladores de software, me preguntan entusiasmados cosas como: ¿Qué lenguaje de programación debo aprender?, ¿Por dónde empiezo?, o ¿Cómo puedo conseguir un trabajo de desarrollador de software?

Las respuestas son simples, pero primero debemos responder a estas preguntas:

  • ¿Cómo se consume el software? ¿Es un sitio web o un software o aplicación instalado en un ordenador? ¿En el escritorio, el móvil, la tablet?
  • ¿Qué tipos de software se utilizan más? ¿Aplicaciones de negocio? ¿Aplicaciones científicas? ¿O juegos? ¿O algo más?

Mira a tu alrededor y podrás intuir o adivinar fácilmente. Literalmente no existe ningún negocio sin la necesidad de una computadora y tampoco sin la necesidad de Internet, en la mayoría de casos.

Entonces, ¿cómo se consume el software? Podemos decir que mediante una mezcla de móvil, portátil de trabajo, portátil personal –o sobremesa en ambos casos–, y otros dispositivos conectados como televisores y dispositivos inteligentes. Todos estos dispositivos funcionan con software y podemos clasificar las aplicaciones de software en 2 amplias categorías:

  • Aplicaciones de negocio
  • Aplicaciones científicas

Y puedo afirmar que se utilizan muchísimo más las aplicaciones empresariales –millones en todo el mundo–, que las aplicaciones científicas, que son específicas para ciertos entornos. Incluso en un entorno científico, utilizarán también aplicaciones empresariales, pero no al revés, en la mayoría de casos.

Por lo tanto, hay más trabajo –y más demanda– para las aplicaciones de software empresarial y, por lo tanto, más puestos de trabajo.

La visión global

Comprender el ciclo de vida de una aplicación de software, desde los requisitos hasta el momento de su uso, nos ofrece una visión general del proceso y de la situación general. Ahora puedes decidir dónde quieres enfocar tus energías para aprender más.

El equipo de desarrollo de software

  • Arquitecto de soluciones/software
  • Analista de negocios
  • Interfaz de usuario/desarrollador de experiencia
  • Desarrolladores de software/ingenieros/programadores de software
  • Control de calidad
  • Administrador de sistemas
  • Gestor de proyectos
  • Ejecutivos que gestionan el proyecto (Stakeholders)

Ciclo de vida de una aplicación de software típica

  1. Los requisitos sobre cómo debe funcionar un software son dados al equipo de desarrollo de software por los equipos de negocio.
  2. En base a los requerimientos, se inicia el diseño y la arquitectura del software. En esta etapa, no todos los requisitos pueden tener soluciones, pero los equipos generalmente comienzan con lo que saben. También se deciden el entorno, la tecnología y las herramientas a utilizar.
  3. Los gerentes de proyecto tratarán de identificar las tareas con estimaciones y comenzarán a asignar tareas al equipo.
  4. Los desarrolladores de software comenzarán a desarrollar y codificar los requisitos y trabajarán con el equipo de UI/UX según sea necesario.
  5. A medida que se desarrolla el código, se compila y construye utilizando herramientas para generar ejecutables.
  6. Los ejecutables se despliegan en un servidor –servidor de desarrollo– para su comprobación.
  7. Si el resultado es satisfactorio (control de calidad ayudará a validarlo), el código se traslada a un servidor de pruebas (preproducción) donde las partes interesadas del proyecto y los clientes pueden probar la aplicación.
  8. Al mismo tiempo, el código suele guardarse en un servidor con control de versiones. Estos sistemas etiquetan y administran el código que se va enviado actualización tras actualización.
  9. Los ejecutables se despliegan en el servidor principal (producción).
  10. Los pasos del 4 al 9 se repiten hasta que se complete el proyecto. A veces los desarrolladores regresan con los equipos de negocios y arquitectos para mejorar la definición de cualquier requisito que no haya quedado claro.

Puedes ampliar información en este artículo que publicamos sobre el ciclo de vida del software.

Las vías de aprendizaje

Ahora, en base a lo anterior, elige dónde quieres estar. Un desarrollador de software necesita conocer todo el proceso: cómo se desarrolla, construye, despliega, prueba y gestiona el código y la aplicación.

El camino

Elige un lenguaje de programación de tu interés e investiga en los centros de formación disponibles. Hay muchos recursos en línea (cursos de programación online) hoy en día, algunos de ellos gratuitos, que te permitirán aprender cualquier lenguaje de programación que desees.

Mientras aprendes esto, también debes aprender sobre ejemplos de bases de datos; a usar los comandos de Github y Git; a utilizar IDE’s (Velneo, Intellij, Eclipse, Visual Studio); a construir código; a instalar e implementar ejecutables; y a probar y testear el código.

Plataformas de desarrollo

La mayoría de los lenguajes de programación tienen algunos frameworks avanzados que se construyen encima de los core builds. Algunos entornos de trabajo son muy populares y son utilizados ampliamente por muchas organizaciones.

El desarrollador de software completo debe destacar en:

  • Al menos un lenguaje de programación
  • Una base de datos: cómo funciona y cómo hacer operaciones CRUD
  • Construcción e implementación de código en servidores de desarrollo locales
  • Gestionar el código con un sistema de control de versiones
  • Comunicar el trabajo realizado y presentar demostraciones

Y debe tener conocimiento de:

  • Los principios de la arquitectura de software y el diseño
  • La metodología de desarrollo ágil
  • Cómo se despliegan y gestionan las aplicaciones en los servidores
  • Depuración de código, escritura y lectura de registros

Certificaciones, Certificaciones, Certificaciones.

Las certificaciones no garantizan un trabajo, pero ciertamente te ayudarán a ganar confianza y a mejorar las posibilidades de que tu CV sea seleccionado.

No las ignores. Aprenda cualquier tecnología tan bien que puedas aprobar una certificación de la industria.

Por ejemplo las certificaciones Java de Oracle o certificaciones relacionadas con .NET y Azure de Microsoft son muy populares hoy en día.

Y ahora, ¿qué es lo siguiente?

Aprender sobre desarrollo de software realmente no tiene fin. No hay límite en lo que puedes aprender y hacer con el software. Sigue evolucionando día a día, pues los desarrolladores de software necesitan aprender constantemente y empaparse de los cambios en sus lenguajes y tecnologías, de las evoluciones, de los nuevos lenguajes, plataformas y paradigmas que cada día van apareciendo.

No te desanimes pensando que necesitas conocer nuevas plataformas o complementos cada mes, pues en general, una vez conocida una o uno, las nuevas plataformas y los nuevos complementos de desarrollo se aprenden más rápidamente. No obstante, esto es una parte fundamental del trabajo de un programador que quiera ser más rentable con su trabajo: aprendizaje continuo.

¡No dejes de aprender!
Realmente deseo que lo anterior te resulte útil y te ayude a planificar y preparar tu carrera para convertirte en un desarrollador de software completo.

Este artículo es una adaptación de este otro publicado en DZone.

Este artículo Cómo convertirse en un desarrollar de software completo es original de Velneo.