Permalink
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
65 lines (44 sloc) 5.74 KB

José Antonio Dongil Sánchez

1. BIO

Me considero desarrollador de software. Estudié Ingeniería Informática en la UAH y empecé un Master de Investigación en Ingeniería del Software en la UNED que no conseguí terminar.

Como profesional, me gusta solucionar problemas e intentar hacer la vida más fácil a la gente. Creo que el desarrollo del software es una buena profesión para sentirme realizado en este aspecto. No me suelo cerrar puertas a la hora de desarrollar y siempre estoy abierto a nuevas y antiguas tecnologías si me van a ayudar a dar una solución práctica. Intento aprender sobre todas las capas, plataformas y lenguajes.

En el abismo de null puedes conocerme más. Estoy disponible también en @jdonsan.

2. INTRO

Te sorprenderá, pero hay tres características que veo indispensables y que no enseñan en los estudios:

  1. La comunicación: Ya sea verbal o escrita. Es muy importante que sepas escuchar y que sepas expresar correctamente lo que estás pensando. En tu vida profesional tratarás con muchas personas. Personas técnicas y no técnicas. Es importante saberse expresarse en cada contexto. Poder expresar una solución y que tus compañeros y clientes la entiendas es un buen primer paso para crear software de calidad. No generes trincheras entre pérfiles, no hagas enemigos donde no los hay: la gente de negocio, los de UX, los Devops también te pueden enseñar mucho.

  2. La humildad: Hay que huir de los egos. En esta vida siempre habrá una persona que sepa más que tu sobre algo. En esta vida siempre habrá una persona que sepa menos que tu en algo. No intentes hundir y enseña. No intentes ser lo que no eres y aprende. No sentirnos inferiores, ni superiores, no sobrevalorarnos, ni infravalorarnos. Tan fácil y tan dificil. Cuando los equipos tienen claro esta características acaban sacando lo mejor de ellos y tu serás mejor profesional.

  3. La organización: Se ordenado. Nombrar, clasificar, tabular, indexar, te van a ayudar a ser más productivo. Te van ayudar a tener una mente más abstracta. Nuestro trabajo consta de plasmar el mundo que nos rodea en ceros y unos. Demasiado caos hay en el universo como para no tenerlo en cuenta. Nombrar las cosas por su nombre te ayuda a comprender el problema y a crear un vocabulario con tus compañeros. Te ayudará a comunicarte mejor.

3. PERFIL

Suelo trabajar en casi todas las capas de desarrollo. Yo me considero un desarrollador front con dotes y conciencia para el resto de capas, pero en front, y sobre todo en JavaScript, es donde más cómodo me suelo encontrar. Desarrollé durante bastante tiempo aplicaciones móviles multiplataforma y ahora me encuentro inmerso en tecnologías blockchain.

Intento trabajar en entornos ágiles. Me gusta mucho la agilidad, pero me encuentro en proceso de ser ágil. Mucho por aprender todavía :).

4. CAMINO DE APRENDIZAJE

  1. Intenta evitar el 'Hype Tech': Aprender sobre el último framework está muy bien, pero de nada sirve que sepas sobre él, si tu mismo no sabrías como desarrollarlo desde 0. Saber sobre informática de base es muy importante. No solo sobre programación, sino sobre buenas prácticas, técnicas de clean code, protocolos de comunicación, tipos de base de datos, usabilidad, sistemas operativos. Aprende sobre algebrá y teoría de conjuntos básica. Sobre cómo está montado tu hardware por dentro. Sobre lógica. Sobre seguridad. Sobre compiladores. Ve cogiendo una base que te haga entender esto.

  2. Aprende sobre paradigmas de programación. No hay una única forma absoluta de hacer las cosas. En informática existen muchas aproximaciones. No solo existen los lenguajes imperativos. Arriesgate con los declarativos. Quizá nunca tengas que programar en declarativo, pero te van a ayudar a pensar diferente, a llegar a soluciones distintar y elegantes.

  3. Aprende linea de comandos: Nunca vas a hacer más rápido muchos procesos de tu trabajo como usando línea de comandos. No te digo que te vuelvas un jefe de sistemas (o sí, si es lo que te gusta), te digo que sepas los comandos base. Los que te permitan automátizar tareas, los que te hagan ser rápido. Lo agradecerás en el futuro.

  4. Aprende inglés: No necesitas ser un filólogo inglés de Oxford. Intenta comunicarte. Con que te entiendan y entiendas te sirve por ahora. Yo lo pasó fatal con ello y cuanto antes te pongas mejor.

  5. Aprende a dibujar: expresar ideas y conceptos con dibujos suele ser mucho más fácil. Yo dibujo fatal y por eso me cuesta comunicarme con mis compañeros. Hay muchas técnicas que te pueden ayudar y nunca es tarde para aprender. Te pongo una charla motivacional sobre esto.

  6. Haz entrevistas de trabajo: En sitios que sepas que son sitios potentes y de calidad y con la idea de no hacer perder el tiempo - Que tengas un % importante decidido que te irías allí si te convence el proceso. Yo he aprendido mucho en pruebas técnicas de muchas entrevistas. Te encuentras en un estado de alerta durante la prueba que se te habre mucho la mente a nuevo conocimiento.

  7. Metete en la comunidad: Lee a gente que te interese en sus blogs, en sus Twitters, en sus podcasts, en sus Meetups. Lee libros, ve a conferencias. Ve a las cervezas de después. Monta quedadas con tus compañeros. El desarrollo del software supone un esfuerzo enorme por ser una profesión muy sacrificada y compleja, cuanto más aprendas, más ayudarás.

  8. Crea contenidos: Como puedas, de la calidad que puedas dar en ese momento. Mientras seas humilde en lo que aportas, serás recompensado con más conocimiento, con nuevas personas que no conocías, con tiempo para tí - saber desarrollar mejor puede hacer que seas más productivo.