10 Habilidades que todo desarrollador debe aprender



La siguiente publicación es un extracto del artículo original escrito por David Tucker (post original).

Determinar como invertir nuestro tiempo y energía para crecer como desarrollador es lo más importante que debemos tener en mente antes de emprender.

El siguiente listado recopila las diez destrezas clave que todo artesano de software debe invertir en el transcurso del 2014.

Aprender a desarollar para una plataforma móvil nativa

Existen varias formas de crear aplicaciones móviles, desde medios híbridos HTML  hasta lo que por renderizan controles nativos en otro lenguaje. Es conocido que estos métodos convierten todo en código nativo y si una empresa pretende desarrollar una aplicación debe buscar a una persona quien entienda este tipo de código.

Mejorar esta habilidad y ser quien entienda ese código incrementa su valor dentro de la organización ademas de mejorar su promoción personal como desarrollador.

Conocer un proceso de desarrollo ágil y sus herramientas relacionas

Para aclarar no estoy diciendo que todo desarrollador deba ser un gestor de proyectos. Digo que todo desarrollador necesita entender el proceso. Se necesita conocer como seguir cada proceso en las distintas tareas de un proyecto, además necesita saber como trabajar con otros desarrolladores para poder cumplir con los objetivos. Aún cuando un desarrollador trabaja solo en los proyectos el entender el desarrollo ágil y sus herramientas le permitirán mejorar al momento de medir las tareas y determinar como cumplir con sus compromisos.

Dentro del desarrollo ágil se encuentra Scrum, Kanban, Extreme Programming (XP) y otros. Las distintas herramientas relacionadas a estas metodologías son PivotalTracker o Trello.

Realizar estimaciones/cotizaciones efectivas

Es algo que todo desarrollador debe hacer y  al lograr un buen trato el éxito del mismo se basa no solo en nuestro trabajo sino en el costo final de nuestra cotización. Los jóvenes desarrolladores tienden a ser optimistas en el proceso de cotizar mientras que los desarrolladores más experimentados en el tema tienden a ser un tanto pesimistas.

Para ser realistas no existe una formula mágica que permita realizar esta tarea de una manera efectiva. La clave esta en aprender de cada proyecto, mientras que para cada equipo se debe buscar experiencias en proyectos anteriores y el tiempo de desarrollo para cada “story point”.

Cabe recordad que si se utiliza un proceso de desarrollo ágil se debe sacar provecho a las herramientas relacionadas a esta metodología y calcular nuestras cotizaciones.

Aprender JavaScript

Es algo que no lo hubiese escrito 3 años atras, pero es una verdad que JavaScript se ha vuelto universal. En la actualidad se lo utiliza para escribir aplicaciones móviles, aplicaciones servidor, crear plataformas de bloggin, en realidad casi cualquier cosa que puedas imaginar.

Uno de los mayores avances es la capacidad de utilizar JavaScript como una capa lógica  intermedia en iOS 7. La omnipresencia de las tecnologías web crece. Cabe denotar algo importante aquí, al hacer referencia de JavaScript no digo aprender jQuery. Me refiero a conocer y aprender el verdadero lenguaje.

Aprender un lenguaje de lado del servidor

Este es un elemento crucial, si eres un desarrollador front-end principalmente entonces necesitas conocer el funcionamiento de las cosas del back-end. Ser capaz de crear tanto el front y back-end además de la API y base de datos demuestra un conjunto único de habilidades. Afortunadamente existen varias opciones Java, .NET, Python y PHP. Una ventaja para quienes conocen JavaScript es el poder utilizar NodeJS, es increible la forma fácil de montar un servidor web, crear test simples o servicios para una aplicación móvil y el poder desplegar aplicaciones en la nube en servicios tal como Heroku y Nodejitsu.

Aprender HTML y CSS

Algo que podemos encontrar en casi toda tecnología web es su capacidad de renderizar contenido en HTML y aún cuando no trabaje en desarrollo web el entender HTML y CSS solo te beneficiará. Algo que recomiendo es que todo desarrollador deba tener un blog esto ayuda a mejorar su promoción personal y en muchas ocasiones se debe meter mano al código y modificar nuestra plataforma de bloggin.

Saber encontrar información de una manera rápida

Quiero analizar un dato importante y es la cantidad veces que dejamos de escribir código para dedicarnos a buscar información en internet, es verdad esto nos sucede y es en grandes cantidades. El poder encontrar información de una manera rápida nos ayudará a reducir el tiempo que pasamos lejos de nuestro ambiente de desarrollo.

Dar mantenimiento a un proyecto

Es necesario conocer como agregar código y en definitiva mejorar nuestro proyecto una vez que lo hayamos liberado. La clave es entender las distintas opciones  que tenemos como desarrolladores para cumplir con este objetivo y que no afecte la portabilidad y extensibilidad de nuestro código base. Como desarrollador o arquitecto debemos tomar en cuenta que cada opción tiene sus consecuencias.

Aprender Git (Y aprenderlo bien)

Git es más que un sistema de control de versiones ofrece un sistema eficiente de ramas (branching) lo que permite generar un nuevo flujo de desarrollo tanto para equipos de trabajo o desarrolladores independientes. Vincent Driessen propone una guía para el manejo de ramas dentro de Git.

Si eres nuevo en Git, dedicate a aprender!. Si eres un novato, mejora tus conocimientos de Git para convertirte en un mejor desarrollador.

Aprende a utilizar una herramienta de seguimiento de tareas y bugs

Realizar el seguimiento de tareas y bugs en un proyecto es esencial además de ser una tarea diaria para todo desarrollador. Existen un conjunto de herramientas gratuitas que cumplen esta función (Github Issues o Issue Tracker Bitbucket), en algunos casos los proyectos requieren herramientas mas sofisticadas como JIRA para su proceso de desarrollo.

Publicado en NelsoN. Leave a Comment »

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: