Enviado por juanonlab el Vie, 28/09/2018 - 18:27
Cerebro de informático

En el desarrollo de aplicaciones informáticas se realiza un gran esfuerzo mental. Un programador tiene que tener una alta capacidad de abstración, entender multitud de conceptos y tener capacidad para resolver los problemas que se van a presentar.

Da igual que lleves 1, 2 ó 10 años en este trabajo todas estas características serán necesarias. La experiencia hará que solventar problemas sea algo más llevadero.

Puedes resumirlo en que el mundo de la informática es un calentamiento de cabeza constante.

Con los años muy probablemente tu cerebro se ha ido adaptando a las tareas diarias que realizas. Por ejemplo si eres cocinero normalmente mejorarás tus habilides culinarias (coger la sarten, buscarle el punto justo de sal a los platos...) En informática ganas en capacidad de abstracción, resolución de errores, facilidad para aprender nuevas tecnologías...

 

Búsqueda de información

Siempre que mi mujer me ve buscando algo por internet se pone de los nervios. Ella es profesora y no está acostumbrada al frenético ritmo de búsqueda que pongo cuando necesito una respuesta o simplemente cuando quiero dar un repaso a algo de lo que no me acuerdo. Le llama mucho la atención la velocidad en la que acepto o rechazo contenido por internet. 

¿Cómo lo haces? Es práctica y experiencia. Los informáticos nos olemos el buen link, la buena información. Ojeamos rápidamente algo y lo desechamos o aceptamos en muy poco tiempo. ¿Por qué? porque estaríamos todo el día buscando información o respuestas sino agilizáramos esta tarea.

Una vez que encuentro la página que considero adecuada, entonces si, bajo el ritmo y me pongo a leerla con calma.

 

Paciencia frente a los errores

Pieza base para un informático. En otros trabajos en los que se manejan ordenadores es normal encontrar fallos. Fallos del sistema operativo, fallos tontos (se te ha olvidado conectar la impresora) en muchos casos son errores habituales y si googleas o repasas lo que deberías haber hecho vas a encontrar el error. Pero en informática en muchas ocasiones esto no va a ser tan sencillo.

Por ejemplo, te han encargado descargarte de un repositorio un desarrollo de otro equipo. Estas personas ya no se encuentran en la empresa para que te sirvan de soporte. Tienes un poco de documentación, la sigues con cuidado y pruebas a arrancar la aplicación...No funciona, da un error en la conexión a la base de datos, un null pointer u otro error. Y aquí está una situación muy habitual en el mundo del desarrollo de software. No tienes soporte, nadie tiene un error parecido pero debes solucionar el problema.

Si te traumatiza encontrarte este tipo de errores, al menos lo que es el desarrollo no es lo tuyo, busca otro trabajo que explote otras habilidades tuyas. Aunque resolver problemas te guste y estés acostumbrado a realizar este tipo de tareas normalmente genera desgaste, mucho desgaste.

Habrá proyectos en los que no tengas casi problemas de este tipo pero puedes pasar a otros que sea un verdadero infierno. ¿Cómo se sobrelleva todo esto? Pasemos al siguiente punto.

Ordenador

La experiencia es un grado

Frase típica pero real en el mundo de la informática. Encontrarte fallos en el desarrollo de software es normal, algunos serán más complicados y otros más sencillos. A medida que ganas experiencia ganas habilidad en resolver problemas (en otras habilidades).  Puedes aplicar tu experiencia en otros ámbitos de la informática (Gestión, arquitectura...). 

Un ejemplo muy claro. Este último año he comenzado multitud de cursos en udemy. De diseño y de programación. He terminado cuatro cursos y llevo en curso otros tantos. No he posteado más de 3 o 4 preguntas. Se suele ir muy de la mano en estos cursos con explicaciones claras y concisas de los profesores.

Al ver las preguntas que postea mucha gente puedes averiguar que un 80% de las preguntas se deben a falta de práctica o de experiencia. Probablemente no han sido suficientemente pacientes en buscar el origen del problema. Un desarrollador senior aunque empiece en una tecnología, antes de preguntar buscará el error. No preguntará al primer problema que encuentre porque uno ya sabe que los errores en el mundo de la informática son habituales (te falta ese ";" ,  has copiado mal algo).

Para ser un experto en una tecnología necesitas conocimientos y experiencia, las dos. De 0 a experto en x meses... ¡Imposible!.  Cuando apliques los conocimientos a proyectos reales verás que tienes que integrar algún módulo, conectar con algún componente externo y eso no vendrá en el curso. Ahí intervienen varios factores: tu inteligencia, tu experiencia, tus conocimientos y tu capacidad para buscar la información que te dé la solución.

Los cursos online son verdaderos aceleradores de conocimiento, centralizan en unos videos gran cantidad de contenido y te lo muestran de manera ordenada. En muchos casos es mejor que buscar de manera dispersa en internet estos contenidos. En mi opinión lo ideal es combinar ambos (junto a meetings, eventos...). A mí han servido de gran ayuda:  para refrescar conocimientos y aprender nuevas tecnologías.

Gran parte de tu experiencia la vas a obtener en el día a día de tu trabajo, de los errores que surjan, de las discusiones con tus compañeros esto no lo puedes obtener en ningún curso ni en ningún tutorial.

 

Soledad (también incomprensión)

¿Quién no se ha visto sólo con algún problema en el desarrollo de algún componente? A veces te asignan una tarea y encuentras un problema donde no encuentras la solución. En unos primeros momentos lo vives en soledad, pasa el tiempo y no avanzas.

A mi mujer jamás le he comentado de manera concreta que errores tenía en un proyecto. Yo le puedo decir: tengo un error en lo que estoy haciendo y no me sale :_( . Pero nunca podré soltarle: "Es que estoy recorriendo un árbol binario de manera recursiva y me quedo sin memoria". Como si le hablaras a una pared. Imposible entenderlo para mi mujer y para quien no esté en el proyecto.

A priori puede parecer una tontería pero no puedes hablar abiertamente con tus amigos o familiares de estas cosas. Es como la serie de friends cuando nadie sabía en que trabajaba Chandler Bing, siempre te deja un poquillo de frustración este asunto.

Al final lo consigues solucionar, mejor si lo haces de una manera óptima y elegante porque te produce mayor satisfacción.

 

Mantenimientos

Es raro que un desarrollador prefiera trabajar en mantenimiento de aplicaciones que en un nuevo desarrollo. El mantenimiento es otra vuelta de tuerca para nuestros cerebros. Puedes encontrarte código muy antiguo donde tengas que adivinar, por ejemplo, que pretendía la persona que hizo aquella función. Es también posible que tengas que aprender tecnologías obsoletas para ese proyecto. 

Dan poco margen al aprendizaje aunque con mayor experiencia la curva de conocimiento necesario para dominar el mantenimiento será menos pronunciada y tu trabajo será más llevadero. En el lado positivo a veces hay que incorporar nuevos módulos, subir de versión ciertos componentes o hacer refactoring, son tareas mucho más interesantes.

 

Conclusión

He querido mostrar, al menos por mi experiencia que para desarrollar software hay que tener ciertas aptitudes y paciencia para llevar a buen término los desarrollos, que tu cerebro va adquiriendo poco a poco estas habilidades.

¿Por qué si hay tanto trabajo en el sector de las nuevas tecnologías no se llegan a cubrir la demanda? No es una pregunta sencilla pero aquí te he expuesto algunas razones: complejidad del trabajo, paciencia, que te guste resolver problemas,  aprender de manera constante y gusto por la programación ;-). 

Existen otros motivos que hacen que la gente se aleje de este sector: relación sueldo/esfuerzo, horas extras mal pagadas  o directamente no pagadas, horarios más allá de las 8 horas diarias acordadas, falta de formación adecuada para el puesto... pero estos temas se podrían comentar en otra entrada.

Mi última recomendación es que hay que ir a trabajar con ilusión, con ganas de aprender cosas nuevas. No todos los días son perfectos pero no deberías estar en un trabajo en los que tú día a día sea un infierno. Aprende alguna tecnología nueva (a tu ritmo), asiste a meetups y conoce un poco que se está moviendo en este mundo del desarrollo.

Recuerda también guardar tiempo para los tuyos (amigos, familia) y tus aficiones, no todo es trabajo.

 

If you don’t have time for the small things, you won’t have time for the big things.

Richard Branson

 

Nada te impide cambiar o escuchar ofertas de empleo para realizar algo que te realice más hay multitud de compañías de desarrollo ya sea en España o en el extranjero.

Recuerda que en los trabajos pasamos una gran cantidad de tiempo de nuestras vidas.

Añadir nuevo comentario

Esta pregunta es para comprobar si usted es un visitante humano y prevenir envíos de spam automatizado.

CAPTCHA de imagen
Introduzca los caracteres mostrados en la imagen.