8
CARACTERISTICAS DEL DESARROLLADOR DE SOFTWARE DEL FUTURO Actualmente existe un claro déficit de desarrolladores de software y una necesidad imperante de recuperar la figura del software developer, un perfil profesional que aporta gran valor en el desarrollo de los productos y servicios en los que trabaja. ¿Qué se espera entonces del desarrollador del futuro? ¿Qué competencias y características técnicas serán las más valoradas? Rubén González, Head of Architecture for Product Innovation and Research at Telefonica I+D, explica cómo será el perfil del desarrollador de software del futuro: SERÁ EMPRENDEDOR Y CREATIVO El desarrollador de software del futuro debe ser un emprendedor con iniciativa empresarial y visión de futuro, alguien con capacidad de crear nuevos proyectos así como de ejecutarlos correctamente. Además, cada vez se asocia más al desarrollador de software con un creativo de tecnología, incluso se llega a comparar con un artista, por lo que su faceta artística deberá desarrollarse para inventar nuevas soluciones para las necesidades que crean a diario las nuevas tecnologías. TENDRÁ ALTOS CONOCIMIENTOS TECNOLÓGICOS Para poder entender y dominar todo lo anterior, es bueno partir de una buena base de Linux y de lenguaje C (la llingua franka de Linux). A partir de ahí se pueden aprender otros lenguajes como C++, Java, Python, JavaScript, Scala, Go… Además, es importante que sea experto en iOS, Android, FirefoxOS, Windows Phone, HTML5, node.js, MongoDB, Openstack, Linux y en diseño de interface de usuario SERÁ EXPERTO EN ALGORITMOS, PARADIGMAS Y FUNDAMENTOS DEL DESARROLLO DE SOFTWARE

Caracteristicas Desarrollador Software Del Futuro

Embed Size (px)

DESCRIPTION

Caracteristicas de los desarrolladores de software.

Citation preview

Page 1: Caracteristicas Desarrollador Software Del Futuro

CARACTERISTICAS DEL DESARROLLADOR DE SOFTWARE DEL FUTURO

Actualmente existe un claro déficit de desarrolladores de software y una necesidad

imperante de recuperar la figura del software developer, un perfil profesional

que aporta gran valor en el desarrollo de los productos y servicios en los que

trabaja.  ¿Qué se espera entonces del desarrollador del futuro? ¿Qué competencias

y características técnicas serán las más valoradas? Rubén González, Head of

Architecture for Product Innovation and Research at Telefonica I+D, explica cómo

será el perfil del desarrollador de software del futuro:

SERÁ EMPRENDEDOR Y CREATIVOEl desarrollador de software del futuro debe ser un emprendedor con iniciativa

empresarial y visión de futuro, alguien con capacidad de crear nuevos proyectos

así como de ejecutarlos correctamente. Además, cada vez se asocia más al

desarrollador de software con un creativo de tecnología, incluso se llega a

comparar con un artista, por lo que su faceta artística deberá desarrollarse para

inventar nuevas soluciones para las necesidades que crean a diario las nuevas

tecnologías.

TENDRÁ ALTOS CONOCIMIENTOS TECNOLÓGICOSPara poder entender y dominar todo lo anterior, es bueno partir de una buena base

de Linux y de lenguaje C (la llingua franka de Linux). A partir de ahí se pueden

aprender otros lenguajes como C++, Java, Python, JavaScript, Scala, Go… Además,

es importante que sea experto en iOS, Android, FirefoxOS, Windows Phone, HTML5,

node.js, MongoDB, Openstack, Linux y en diseño de interface de usuario

SERÁ EXPERTO EN ALGORITMOS, PARADIGMAS Y FUNDAMENTOS DEL DESARROLLO DE SOFTWAREEl desarrollador del futuro dominará prácticas de programación, algoritmos,

estructuras de datos, programación funcional, programación orientada a objetos y

Page 2: Caracteristicas Desarrollador Software Del Futuro

arquitecturas cliente servidor, protocolos TCP/IP y HTTP, sin olvidar bases de datos

y nosql.

ADQUIRIRÁ CONOCIMIENTOS FULLSTACKEste perfil profesional debe tener formación sobre hardware, comunicaciones,

protocolos y sistemas operativos hasta nivel de aplicación.

TENDRÁ CAPACIDAD DE SÍNTESIS Y DELIVERY MULTITIEREl desarrollador del futuro será capaz de desarrollar y desplegar desde

aplicaciones para usuario hasta el backend.

DESARROLLARÁ SOFTSKILLSSerá importante que tenga competencias personales bien desarrolladas como

buena capacidad de comunicación, auto-liderazgo, gestión del tiempo y trabajo en

equipo.

TENDRÁ CAPACIDAD PARA DIRIGIR Y GESTIONAR EQUIPOSPara convertirse en un buen manager de desarrolladores, es importante haber

trabajado antes como desarrollador, de forma que se entienda mejor la

idiosincrasia de esta profesión y las necesidades del equipo. Una de las

características indispensables que deberá tener es la eficiencia en la gestión de

personas.

Dominará varios lenguajes y entornos de programación, automatiza tests,

despliegues, y trabaja en entornos

REGLAS PARA SER EL MEJOR PROGRAMADOR Y NO EL MEJOR CODIFICADOR

Existe mucha confusión con respecto a que habilidades a desarrollar para ser

mejor programador.  El acto de programar es más bien, organizar, planificar,

Page 3: Caracteristicas Desarrollador Software Del Futuro

estructurar mediante algún tipo de metodología algorítmica, la solución más

óptima a cualquier problema planteado. Y codificar es escribir código en cualquier

lenguaje basado en su idioma, sintaxis y alfabeto, para darle instrucciones a la

computadora, para que ella realice las actividades de manera más rápida.

Cuando decimos, vamos a programar, en realidad lo que estamos diciendo es que

vamos a organizarnos de la mejor manera para buscar la mejor solución, antes de

sentarnos frente a la computadora a escribir código sin tener una base sólida de lo

que queremos que la computadora nos devuelva como resultado satisfactorio.

Puntos importantes para el diseño de un programa.

1º. Analizamos lo que se nos pide, para no hacer más de lo necesario, aunque

siempre es bueno que lo que hagamos tenga valores agregados.

Page 4: Caracteristicas Desarrollador Software Del Futuro

2º. Enfocarse primero en que la solución sea satisfactoria y después de haber

logrado el objetivo primordial, preocuparse por la GUI, ya que antes de perder el

tiempo en que nuestro programa se vea bonito, debemos hacer que funcione. Y el

que funcione no solo implica que no tenga errores de compilación sino que

también que muestre los resultados reales de lo que se espera.

3º. Buscar todas y cada una de las validaciones y/o restricciones que se le puedan

aplicar para que el usuario final no cometa errores que hagan que nuestro

programa tenga fallas fatales como abandono inesperado del sistema o pérdida de

información.

Page 5: Caracteristicas Desarrollador Software Del Futuro

4º. Hacer un algoritmo preciso y detallado de los pasos que dan la solución (utiliza

divide y vencerás).

5º. Hacer un diagrama de flujo que represente todos y cada uno de los pasos

indicados en el algoritmo.

Page 6: Caracteristicas Desarrollador Software Del Futuro

6º. Hacer un pseudocódigo, con base al lenguaje que se utilizará para escribir el

código de la solución al problema planteado.

7º. Utilizar el mejor lenguaje de programación, para escribir el código de la

solución al problema. Tomemos nota, de que el mejor lenguaje de programación,

no es el de la mejor tecnología, no es el más actual, no es el de mejores

propiedades, el mejor lenguaje para un programador, siempre es y seguirá siendo

el que uno como programador mejor domina y trabaja, ya que bajo este simple

concepto, no perderemos mucho tiempo en primero conocer el lenguaje, su

sintaxis y luego aplicarlo.

Page 7: Caracteristicas Desarrollador Software Del Futuro

8º. Recomendación, estén siempre pendientes y al tanto del crecimiento del

programa que realicen, para darle un constante mantenimiento.

9º. Ustedes programadores, pónganse en el plan de usuarios finales y háganle

todas y cada una de las pruebas concernientes al programa antes de entregarlo,

de preferencia si lo ponen a prueba con usuarios finales también, ya que ellos no

conocen lo que el sistema tiene como validación y nos permitirá observar de mejor

manera los problemas que nuestro programa arroje.

Page 8: Caracteristicas Desarrollador Software Del Futuro

10º. En caso de que crean que no pueden encontrar una solución a un problema,

Siempre busquen ayuda, pregunten, consulten, e investiguen en Internet o Libros.

No se quede callado, no crea que puede solucionar todo usted solo, siempre hay

alguien o algo que nos puede ayudar.