
7 Cosas que probablemente no sabias sobre ser programador
Parece haber una gran desinformación y misterios sobre ser programador que la gente que nunca ha programado no sabe, y más aún, si aun estas en etapa de aprendizaje puede que aún no conozcas por eso te quiero mostrar 10 cosas que probablemente no sabías sobre ser programador:
- La empresa nos da una computadora de gama alta para trabajar:
Muchos creen que cuando programamos trabajamos con nuestro propio equipo, esto es cierto pero solo para los freelancers y en algunos casos ellos inclusive reciben su propio equipo para trabajar.El motivo de esto es bastante simple si te pones a pensar, si trabajas con maquinaria pesada la empresa te va a proveer esa maquinaria para que trabajes, no va a esperar que tu tengas una propia solo porque sabes cómo operarla, en el caso de los programadores es igual, ya que la computadora es nuestra herramienta principal de trabajo, es casi obligatorio que la empresa te provea con una para que trabajes y más aún, tendría que ser un equipo de gama alta (aunque esto último no es obligatorio) sale mejor para la empresa tener control sobre qué equipo usas y saber que puedes hacer lo tuyo con ese equipo que arriesgarse a que uses tus propios materiales.
Otras cosas que las empresas te darán pero no es obligatorio pero sí común, es una silla ergonómica, un conjunto de audífonos o headset si esperan que tengas muchas reuniones y un monitor extra.

- Pasamos mucho tiempo consultando cosas en google
Otra cosa que suelen creer de los programadores es que tenemos todas las respuestas y que sabemos absolutamente todo sobre el lenguaje en el que programamos, te sorprendería saber la cantidad información que desconocemos u olvidamos y que tenemos que estar buscando constantemente en google. ¿Entonces un programador solo hace búsquedas en google? Tampoco. Hay un dicho que dice que no se trata de saber toda la información sino de saber dónde encontrarla y en eso los programadores somos expertos.
Otra cosa que también es cierta es que a medida que vamos adquiriendo mas y mas experiencia, se nos van presentando ciertas situaciones tan seguido que ya las memorizamos y casi que las hacemos de memoria y sin embargo esto trae como consecuencia que olvidemos las cosas que menos hacemos y tengamos que investigar una y otra vez como hacerlas para recordarnos.

- No necesariamente sabemos como arreglar una computadora
Cuando hablamos de computadoras podemos dividirlos en 2 aspectos muy marcados que son el Software y el Hardware. El Software es la parte de la computadora que contiene programas, que los ejecuta y que le da una función a la computadora para procesar lo que sea que hagas en ella, es un concepto abstracto en el sentido de que no lo puedes tocar, y no existe como objeto en la vida real. El Hardware por otro lado son todos los elementos físicos que tiene la computadora que permiten y determinan cómo va a funcionar y qué características máximas tendrá, lo que esto quiere decir, es que no importa lo que hagas en el software, si el hardware no lo permite entonces no podrá hacerse. Del hardware es de donde vienen las especificaciones de la computadora, como frecuencia, RAM, disco duro etc.
Los programadores nos enfocamos en el Software por lo tanto no tenemos porqué saber nada sobre el Hardware de la misma si bien es cierto que muchos programadores saben mucho de hardware también lo es que hay gente NO programadora que también sabe de hardware y es que este conocimiento está separado de la programación. Si bien para muchos programas hace falta que sepamos de especificaciones esto no significa que sepamos cómo arreglar un equipo.

- No somos hackers
Otra mal interpretación común que se tiene con los programadores es que sabemos cómo hackear un sistema o una página, o que sabemos como encontrar vulnerabilidades en un sitio, si bien a medida que avanzamos en nuestra carrera encontramos posibles vulnerabilidades y aprendemos cómo sortearlas es solo la punta del iceberg de lo que un hacker o un experto en seguridad informática sabe, es por esto mismo que existen estas profesiones y que necesitamos trabajar en conjunto con ellos para hacer que nuestras aplicaciones sean seguras.

- Tenemos acceso información privilegiada
Una de mis cosas favoritas sobre ser programador es que tengo acceso a información privilegiada sobre la empresa, procesos internos de la misma, incluso acceso a cosas confidenciales que hacen a la empresa diferente. Tiene sentido si te pones a pensarlo ya que somos los que construimos el sistema que usa la empresa y por lo tanto debemos conocer cómo funciona ese sistema y debemos tener toda la información necesaria para que ese sistema funcione, esto es especialmente cierto en empresas pequeñas donde los equipos no superan las 5 personas y todos hacen un poco de todo por lo que nuestras tareas van cambiando y evolucionando constantemente. A diferencia de una empresa gigante donde las cosas que sabes se limitan solo a lo que debes hacer y hay tanta gente que solo conoces una minúscula porción de todo el sistema.
Todo esto es muy bueno desde un punto de vista de aprendizaje porque no solo te dedicas a programar sino que conoces el esqueleto de la empresa y usualmente tratas con personas que están muy arriba en el escalón corporativo, dándote la oportunidad de escalar a ti también, pero no todo son ventajas ya que…

- Estamos sujetos a restricciones y acuerdos de confidencialidad
Debido a que tenemos acceso a información privilegiada que pocos dentro de la empresa poseen, esto mismo ocasiona que la empresa intenta prevenir que esa información salga de la empresa por lo que nos hacen firmar acuerdos de confidencialidad, vigilan nuestras conversaciones por aplicaciones de la empresa o inclusive los archivos que enviamos dentro de la misma.
Quiero aclarar que esto ocurre en casi todas las empresas y para casi todos los empleados, no solo para los programadores, pero también es cierto que a nosotros nos dan restricciones un poco más fuertes por el hecho de que sabemos más cosas. En mi caso por ejemplo he tenido acceso a información de sueldos, archivos y conversaciones que se dan en la empresa debido a que también soy el administrador del sistema que hago. Es una advertencia constante que tenemos de que si nos vamos de la empresa y traspasamos información podemos ser sujetos a una gran demanda.

- Somos parte de un equipo que contiene más roles
Una de las sorpresas que me lleve cuando empecé a programar es que en el equipo necesario para hacer un software hay muchos más integrantes y no todos son programadores, si bien mientras menos gente haya en el equipo y menos presupuesto haya hay probabilidades de que todos sean programadores, en un equipo común hay otros roles además del de programador, por ejemplo:
Tenemos al Analista de negocio, o Business Analyst qué es el encargado de estudiar y entender el negocio para poder explicarselo a los programadores u otros integrantes del equipo.
También está el Quality Assurance o QA que se encarga de probar las aplicaciones que hace el programador
Por otro lado tenemos al Arquitecto de soluciones que es la personas con más conocimiento técnico en el equipo y suele entender el panorama completo de lo que se tiene que hacer y de como hacerlo.
Aquí te mostré algunas de las cosas que probablemente no sabías, ¿hay alguna que te haya sorprendido? o ¿alguna que ya supieras? déjamelo saber en los comentarios y nos vemos en la próxima entrada.
