217
Views

Este título me recuerda a mis inicios en la universidad, pues era la frase de uno de mis amigos, y hace referencia precisamente a la idea que trataré en este artículo, que se necesita para convertirte en desarrollador de software.

¿Hasta dónde aprender?

El límite te lo pones tú, si así lo deseas que sea hasta el mismo cielo. (cabe mencionar que este sitio no se limita a software, también se tratarán temas de arquitectura de hardware y tal véz Arduino, Raspberry, etc, pero por ahora enfoquémonos “a lo que no puedes tocar”). “El cielo es tu límite” no solo es algo romántico, pues no existe un programador “que lo sepa todo”. Esta profesión no es precisamente andar en bicicleta, es decir, no es algo que aprendas una vez y lo puedas utilizar toda tu vida.

Cada 6 meses (o incluso menos) aparece una nueva tecnología, un nuevo framework que deja obsoleto al anterior, nuevos modelos de programación, nuevas herramientas/IDEs que simplifican el trabajo, así que si no te gusta el aprender, esta profesión no es para ti.

Tomando en cuenta lo anterior, empejemo pueh…

(Imágen cortesía de Photoroyalty / Freepik)

Bienvenido al gremio

Acá nos dividimos principalmente en 3 categorías: FrontendBackend Fullstack.

El primero de ellos y el más subestimado  es aquel que se encarga de analizar, diseñar e implementar todo lo relacionado con la infraestructura de software que interactúa con el usuario final. (Para los mortales que no entendieron: un desarollador frontend coloca todo lo que vez en la pantalla y lo hace funcionar).

El segundo de ellos, el desarrollador backend se encarga de la arquitectura del sistema que se ejecuta casi siempre en un servidor remoto, del ¿cómo? ¿dónde? ¿por qué? . Es una tarea muy difícil, análogamente sería comparable a diseñar los cimientos y estructura de un edificio, (en este ejemplo, el programador frontend seria el encargado de los acabados).

¿Y el Fullstack?

En esta categoría (dónde me incluyo) se encuentran aquellos desarrolladores que dominan el frontend y el backend.
En mi experiencia, ambas tareas deben tratarse con el igual respeto ya que un mal programador pensaría que el desarrollo de frontend es muy fácil, algo muy alejado de la realidad, ya que a pesar de las múltiples tecnologías que permiten un desarrollo de front significativamente más rápido con respecto a hace algunos años, se tiene que tomar en cuenta la curva de aprendizaje de los usuarios finales para el sistema.

En ESCOM (mi alma mater) uno de mis profesores decía:

Entre más fácil sea para el usuario, más chinga es para el programador.

M. en C. Alejandro Soto – ESCOM IPN

Frase que se cumple en el 100% los casos, y además agregaría que es nuestra responsabilidad que el sistema en el que trabajemos sea fácil de entender y usar para el usuario final.

Un lema no ortodoxo que suelo utilizar: “Tienes que programar para simios”. La media de personas que utilizarán tus productos, son relativamente ignorantes en el mundo tecnológico, por ende, es muy fácil que una interfaz “supuestamente correcta” no sea utilizada como fue originalmente planeada.

Usuario interactuando con tu sistema.

Requisitos básicos

Programar es un arte, en consecuencia requieres de ciertas aptitudes para llevarlo a cabo de manera correcta y no morir en el intento. Según mi no humilde punto de vista, si cumples con lo que siguiente, puedes subirte al barco:

  • Ser paciente (Créeme, es el más importante de todo).
  • Ser curioso/curiosa.
  • Afrontar con buena actitud situaciones de presión (no todo sale a la primera… ni segunda.. ni décima, de ahí el punto 1).
  • Tener gusto/afición por las matemáticas (Principalmente las matemáticas discretas).
  • Poseer un buen nivel de inglés (La mayoría de la documentación de estas tecnologías esta en ese idioma).
  • Y aunque parezca obvio, un conocimiento decente de tu sistema operativo de preferencia (Si no sabes que es PATH o cómo usar una interfaz de línea de comandos por ejemplo, convendría que estudies un poco de sistemas operativos antes de realizar los ejercicios que encuentres aquí).

Tengo que dejar muy en claro que programar no es escribir código, es una manera de pensar para resolver problemas (entre un 70% y 80% del tiempo que pases frente a una computadora trabajando, la dedicarás a pensar en una forma de solucionar el problema y el restante a escribir), así que antes de de abrir el editor de código y empezar a escribir como si no existiera un mañana, tienes que preguntarte: ¿cuales son tus necesidades?, Así podrás elegir la tecnología correcta para tu situación.

Cualquier tonto puede escribir código que un ordenador entiende. Los buenos programadores escriben código que los humanos pueden entender.

Martin Fowler

Aún con todo esto, y todas las posibilidades que existen en este mundo del desarrollo, he preparado un curso para autodidactas donde mostraré el camino inicial y de ahí, basado en tus necesidades eligieras la tecnología que más te acomode, pero antes de todo, revisa el próximo artículo dónde trataré sobre algunos fundamentos básicos para empezar a programar como los dioses.

Article Categories:
Temas Generales

Comments are closed.