¿Qué habilidades necesito como desarrollador de software?

notodoescodigo
05/04/2018 1:45pm

Gracias a la conferencia de la project manager de iTexico, Karen Valvidia, pudimos recopilar una serie de habilidades muy importantes que todo programador debe obtener o trabajar para entrar a la industria, estas habilidades te las explico a continuación:

Habilidades Técnicas

Lógica de programación: El pilar fundamental de un programador, desarrollar esta lógica te permitirá poder resolver toda clase

Fuente: Flaticon

de problemas con la programación, además de que te ayuda a aprender cualquier lenguaje de programación muy rápidamente.

Paradigmas de programación: Son la serie de filosofías y/o prácticas que permiten resolver ciertos problemas de manera mucho más sencilla, va relacionada en cierta manera con la lógica de programación debido a que por ejemplo, si se piensa en la programación estructurada para crear un videojuego, que consta de objetos, este desarrollo tarda muchísimo si quiera empezarlo, pero si se empieza a resolver de un enfoque a objetos, se reducirán exponencialmente las líneas de código y el problema en cuestión, “crear el videojuego”.

API’s, arquitectura de microservicios y Frameworks, stacks: Es fundamental entender como funcionan las librerías y servicios de terceros que nos permitan reducir bastante nuestro proyecto.

Conocimiento de base de datos: Siempre se manejan datos, es fundamental saber cómo almacenarlos y manipularlos en una base de datos, ya que éstas están diseñadas para tener disponibilidad, independencia de lenguajes, reducción de redundancia de datos e integridad de los datos en el acceso concurrente a esta.

Fuente: Flaticon

Metodologías de desarrollo: La de cascada o Waterfall ya ha quedado obsoleta, sin embargo es necesario saber cómo funciona para poder entender las metodologías ágiles, como Scrum.

UI/UX: Hacer un buen diseño del UI (interfaz del usuario) ya que muchas veces podemos olvidar al final para quien es esta aplicación, sistema web, etcétera, que estamos creando, es por eso que también es necesario tener en cuenta la UX  (user experience) con una mejora constante de usabilidad y accesibilidad.

Habilidades Humanísticas

Administración: Tener conocimientos de administración es muy útil mas que nada para liderar equipos de trabajo (nunca sabes cuando puede surgir esa oportunidad).

 

Marketing, Branding y PR: Si eres freelancer, esto es fundamental ya que necesitas saber como promocionar y vender tu producto, pero si eres un desarrollador de empresa, también es necesario para poder aportar más a tu equipo.

Idiomas: Es necesario el inglés de manera imperativa, pero un tercer idioma te dará un plus enorme a la hora de la elección en la contratación.

Habilidades Sociales ‘softskills’

Comunicación: No es solo hablar y hablar, es saber hablar bien, expresarte de manera adecuada, calidad > cantidad. Para comunicarse correctamente se sugiere poner atención a tu interlocutor, entender el contexto, la comunicación debe ser clara y positiva, evitar ser pasivo agresivo.

Buena actitud

Manejo de Ego

Errores: Señalar errores de manera constructiva y aceptar criticas constructivas de igual forma.

Ética

Auto confianza: Evitar a toda costa el síndrome del impostor.

Responsabilidad

Manejo de tiempo

Curiosidad

Estar dispuesto aprender

Leer correctamente

Preguntar si no se entiende

Saber decir que no

Pensamientos

Pensamiento Lateral: Cuando se aprende algo nuevo, darle un significado a algo que ya se conoce para poder entenderlo mejor.

Pensamiento Critico: Saber que información tomar y cual descartar como basura.

Pensamiento Abstracto: Saber como traducir algo del mundo real a algo que una computadora entienda y viceversa

 

EVITAR A TODA COSTA SER UN MONKEY CODER

Un monkey coder, es un “programador” que:

  • Solo escribe código, sin haberlo previamente planeado, sin importarle si funcionara o no lo hará
  • Solo saben algunas cosas y no pueden aprender cosas nuevas
  • Les tienen que indicar que hacer en todo momento, no se auto-emplean