9 min read

Desarrollador

Desarrollo de Software: ¿de qué se encarga el área?


El área de desarrollo de software se encarga de crear productos digitales con la finalidad de que puedan ser utilizados por personas que no necesariamente tengan conocimientos en tecnología.

Quienes trabajan en esta disciplina, principalmente escriben el código, es decir el conjunto de líneas de texto que describen los pasos que debe seguir la computadora para ejecutar determinada acción.

También se ocupan de dialogar con las y los clientes para identificar sus necesidades y arribar a soluciones a través del producto a desarrollar, además de recibir su feedback para realizar los ajustes correspondientes; y conversan con los equipos para tomar decisiones en conjunto y definir un plan de acción.

El desarrollo de aplicaciones Android e iOS, el de web apps y desktop, se realiza en 5 etapas: discovery, definición, desarrollo, testing y mantenimiento. Si bien se plantean como algo lineal, en la práctica algunas se hacen en simultáneo, y a su vez, es habitual que se de marcha atrás en uno de los pasos, se itere y se continúe. 

En este artículo:

¿Qué es el desarrollo de software?

El desarrollo de software es la posibilidad de crear y diseñar un producto virtual que pueda ser utilizado por cualquier persona que tenga acceso a un dispositivo móvil o un navegador.

Un software es el conjunto de órdenes que se le da a un procesador para que realice determinadas acciones. Existen tres tipos de software básicos: 

  • Software de sistema: refiere a aquellos que administran discos, hardware y cualquier necesidad operacional, como pueden ser las computadoras de los autos o de las heladeras.

  • Software de programación: se utiliza para brindar a programadores herramientas como editores de texto o compiladores para crear código.

  • Software de aplicación: son las aplicaciones en sí mismas como las de mensajería o redes sociales y sirven para que las personas usuarias puedan realizar tareas o acciones concretas. 

¿Qué hace un técnico en desarrollo de software?

Las personas que se dedican al desarrollo de software se encargan principalmente de escribir código pero antes, dialogan con las y los clientes para comprender cuáles son sus objetivos con el producto y qué problemas pretende solucionar.

De esta manera, pueden estructurar un plan de acción acorde a dichas necesidades, e implementarlo, para luego testear y poder salir a producción. Finalmente se encargan de realizar el mantenimiento de los sistemas que codean.

Las y los técnicos de desarrollo se encargan de relevar la información necesaria para poder plantear la estructura de los sistemas. Identifican cuáles son las expectativas de las personas responsables de un proyecto y los dolores que el producto viene a resolver.

Luego, en estrecho contacto con el área de Project Management, define los mejores modos de encarar ese proyecto aplicando diferentes lenguajes de programación, así como también estructuran la arquitectura necesaria para alcanzar los objetivos planteados.

En algunos casos, junto con el área QA, se encargan de ejecutar pruebas de esos sistemas para asegurarse de que cumplan con los estándares de calidad de la empresa y para garantizar el correcto funcionamiento de todas las características. 

También llevan adelante las tareas de mantenimiento como actualización de los sistemas, reparar errores que surjan con el tiempo, aumentar la seguridad, etc.

¿Cómo se organizan las áreas de desarrollo?

No existe un único modo de estructurar un área de desarrollo. Algunas empresas las dividen según el tipo de especialidad: Backend, es responsable de manejar toda la lógica que existe detrás de un producto digital; Frontend, trabaja la interfaz de usuario desde el punto de vista del código; o Fullstack, trabaja tanto lo visible como el código del sistema. 

Incluso a veces se pueden organizar en función de la tecnología o frameworks que se emplee para codear, como por ejemplo: Node.js, React.js, entre otras.

A su vez, dentro de cada uno, puede haber un área más chica que se encarga de diseñar la arquitectura de los productos digitales y de equilibrar las necesidades a lo largo de todo el ciclo de vida de desarrollo que se denomina DevOps.

¿Qué se necesita para desarrollar un software?

Para desarrollar un software se necesita conocimiento en los lenguajes de programación: Javascript, HTML, CSS, Node, React, etc. Aunque aporta herramientas muy útiles, no es necesario ir a la Universidad, ni siquiera hacer cursos pagos, muchísimos profesionales los aprendieron de manera autodidacta. 

Para ello es importante dedicar mucho tiempo a la práctica; mirar workshops y clases magistrales; acceder a guías que expliquen paso a paso cómo realizar determinadas tareas que pueden estar disponibles en Youtube; conversar con colegas y hacer muchas preguntas, y por sobre todas las cosas equivocarse, aprender de esos errores y no frustrarse.

Cualquiera puede programar. Lo importante es tener una computadora e instalada en ella, un soporte que permita escribir código, combinarlo y ejecutarlo. A veces puede ser útil tener una pizarra y un fibrón para poder escribir a mano y cranear soluciones a problemas. 

También recomendamos tener contacto con colegas que se especialicen en las mismas tecnologías que vos para que si te bloqueás, puedas iniciar diálogos y arribar a buenos resultados en conjunto.

¿Cuáles son las etapas del proceso de desarrollo de software?

Las etapas del proceso de desarrollo de software son cinco. Todas iguales de importantes, con lo cual hay que llevar adelante cada una con mucha responsabilidad y dedicación. 

  1. Discovery: es la primera etapa y comienza con un contacto directo con la o el cliente. En esta instancia se realizan todas las reuniones que sean necesarias para conocer sus objetivos, sus intenciones, problemas y necesidades con la finalidad de diseñar un producto que pueda responder a todas esas demandas.

  2. Definición: en esta instancia, el equipo procesa toda la información recolectada en el proceso de discovery y comienza a tomar decisiones, para luego establecer un plan de desarrollo. Se plantean, evalúan, estiman y priorizan los casos de uso, historias, etc.

  3. Desarrollo: con los casos de uso ya procesados y listos para implementarse, comienzan a materializarse los deseos de las y los clientes. En esta instancia es cuando lo planificado comienza a cobrar forma y el producto se vuelve algo tangible.

  4. Testing: a medida que el equipo va lanzando versiones sin terminar de los casos de uso, el área de testeo hace diferentes pruebas y evalúa los resultados. En esta instancia se verifica que todo funcione correctamente, que cumpla con los criterios de calidad definidos y se definen mejoras tanto para cada funcionalidad como para el producto en su totalidad.

  5. Mantenimiento: se trata de la última etapa de todo el proceso de desarrollo. Una vez que el producto sale al mercado, cada funcionalidad  y el software en general requieren de actualización constante y en caso de que surjan “bugs sorpresa”, solucionarlos.

¿Cómo desarrollamos en XOOR?

En XOOR trabajamos con metodologías ágiles, es decir producimos, evaluamos y planteamos mejoras en el producto para luego iterar. Es por eso que tanto la etapa de definición como las de desarrollo y testing dentro de un proyecto, se repiten muchas veces: se da marcha atrás, se realizan los ajustes necesarios, se avanza, y probablemente se vuelva a retroceder y se iteren mejoras.

Para nuestros servicios de talent augmentation, cada equipo de desarrollo se construye de manera personalizada en función de las necesidades del proyecto y de las posibilidades de las y los clientes. Para ello, se tienen en cuenta las funcionalidades a programar, el tipo de tecnologías que se planea utilizar y que las personas compartan la cultura con la empresa de destino.

En XOOR trabajamos con nearshoring porque creemos que la complementariedad de culturas y la proximidad horaria son factores clave para el éxito en el trabajo cotidiano.

Además, desde hace un tiempo decidimos que todos los equipos que conformamos para que se sumen de inmediato a trabajar en otras compañías, ya sea de manera autónoma o integrada, debe incluir un o una PM de XOOR. La finalidad es garantizar la calidad de los productos y la correcta gestión del proyecto, cumpliendo con los plazos establecidos y asegurando el buen vínculo laboral.

¿Cuáles son los beneficios de ser desarrollador?

Es habitual escuchar que la programación es la carrera del momento, pero al ver todo lo que hay que aprender puede que resulte abrumador. La clave para entender por qué es una excelente opción para quienes se están preguntando por su futuro laboral, o para quienes desean cambiar de rumbo, es pensar en las cinco principales ventajas que tiene trabajar como desarrollador:

  1. Quedarse sin empleo no es un miedo: como es un conocimiento muy demandado a nivel global, hay muchas oportunidades laborales.

  2. Podés trabajar viajando por el mundo: al sólo depender de una computadora, tenés la posibilidad de ser parte de empresas que funcionen de forma remota, o trabajar de manera freelance y brindar tus servicios desde cualquier lugar.

  3. Podés crear objetos tecnológicos tangibles: quienes se dedican al desarrollo de software poseen conocimientos que, articulados con otros como la electrónica, pueden crear un sinfín de cosas: sistemas de iluminación, de refrigeración, de ventilación, etc.

  4. Ejercitás el cerebro: se trata de una actividad con la que debés estar aprendiendo continuamente para estar actualizado en distintos lenguajes y especialidades.

  5. Te otorga independencia frente a tus necesidades: al trabajar en desarrollo de software, casi que no existen los imposibles: si buscás una calculadora virtual específica y en el mercado no hay ninguna que cumpla con todos tus requerimientos, podés crear una a medida.

Estas son sólo las principales ventajas de ser desarrollador o desarrolladora. Seguramente haya muchos otros beneficios ya que cada persona puede resignificar y encontrar oportunidades en esta profesión. 

Si te quedó alguna duda sobre el modo en que trabaja el área de desarrollo de XOOR, o querés ser parte de este equipo, podés enviarnos tu consulta a hola@xoor.io que te responderemos a la brevedad. ¡También podés seguirnos en Linkedin y Twitter!