13 crudas verdades de convertirse en programador
Ser programador estaba, y sigue estando, de moda. A muchos les fascina la idea de trabajar en el sector tecnológico, cambiar de empleo a uno con mejor condiciones laborales: horario flexible, posibilidad de trabajar en remoto, salarios más altos…
Si te estás planteando empezar a programar, desecha la idea de no poder conseguirlo. Más de una vez te habrás preguntado «¿cómo puedo convertirme en programador o qué lenguaje puedo aprender para empezar a programar y acabar trabajando en Google?». Parece fácil: aprender un lenguaje sencillo y venga, a trabajar, teletrabajar y jugar al futbolín. ¡Pero no es así!
Entonces, ¿es difícil aprender a programar? ¿Y ser programador? Cuanto menos contacto se ha tenido con la programación, más fácil parece ser, pero está muy lejos de la realidad y debes considerar que aprender puede llevarte un tiempo. Aquí entran en juego dos principios:
- Efecto del lago Wobegon: es la tendencia humana a describirse de manera halagadora, comunicar bondades de sí mismo y pensar que se encuentra por encima de la media en inteligencia, fuerza u otras cualidades.
- Sesgo de confirmación:es la tendencia a favorecer, buscar, interpretar y recordar la información que confirma las propias creencias o hipótesis, dando desproporcionadamente menos consideración a posibles alternativas.
Estos prejuicios llevan a varios a creer que, dedicando un rato cada tarde, pueden ser el nuevo Mark Zuckerberg o entrar en una startup tecnológica como la pieza clave. Pero con este artículo no pretendemos desanimar a nadie, solo mostrar lo que muchos ocultan: es difícil ser programador.
El duro camino para convertirse en programador
¿Es fácil trabajar como programador? La mayoría quiere aprender por su cuenta, sin apuntarse a ningún curso, de forma autodidacta. Sin embargo, surge la frustración, la percepción de no avanzar y se plantean, ¿por qué, si todo el mundo dice que es fácil, yo no puedo? Por ello, os enseñamos las verdades de ser programador, de la mano de uno de nuestros alumnos:
Durante mucho tiempo estuve frustrado tratando de aprender por mi cuenta. Un curso por aquí, otro por allí, vídeos… pero nada. Entonces, un amigo mío, que sí es desarrollador, me dijo: «no seas tacaño, ráscate el bolsillo y apúntate a un curso, tío». Me habló de KeepCoding, pero mi reacción natural fue: «voy a seguir buscando en internet, que hay mucho material gratuito». Ay, todavía me avergüenzo de esas palabras. ¿Sabéis qué hizo mi amigo? Me pagó un mes de la plataforma online para que lo probase.
Pasaron muchas cosas que iré contando en este artículo, pero por ahora solo diré que toda luz proyecta una sombra, que detrás de la épica hay un reverso tenebroso y que, detrás de un sueño, hay mucho trabajo. Me hablaron del Lado Oscuro y me enseñaron a combatirlo. Fui su padawan y gracias a ellos ahora soy un Jedi. Pero no ha sido así de fácil, estas son las 13 crudas verdades que he aprendido en mi camino para ser programador.
1. Es difícil aprender a programar desde cero
Si a la gente le dices que algo es fácil y no lo consiguen, lo único que vas a lograr es hacerles sentir estúpidos. Cualquier cosa nueva que aprendas va a ser difícil, ya sea tocar la guitarra, aprender a cortar el pelo o bailar. Todo a lo que no nos hemos enfrentado hasta ahora tiene un componente de dificultad alto, sobre todo al principio. Y te aseguro que la programación, en especial, supera con creces la dificultad que puedes encontrar para los ejemplos que he puesto antes.
No hay un tiempo fijo para responder a la pregunta de cuánto se tarda en aprender a programar. Yo empecé dedicándole 3 meses y, aunque a pesar de que siempre aprendía cosas nuevas, lo que faltaba por aprender tendía al infinito.
2. Ver unos vídeos de YouTube y asistir a un par de Webinars no te convierten en desarrollador
Después de mirar unos tutoriales de Python y asistir a un par de MeetUps, pensaba que ya era un entendido en el tema, incluso me atrevía a comentarlo con mi amigo. Lo puse en LinkedIn como aptitud y me preparé para la avalancha de llamadas. Solo me llamó mi madre, que si comía bien, que me veía muy delgado. Sí, comía bien, pero tenía el estómago revuelto. Miré los perfiles de los asistentes al MeetUp y todos eran programadores. ¿Por qué yo no? Ya llevaba 3 meses de dedicación autodidacta. Esto fue lo que me llevó a otra cruda realidad.
3. Ser autodidacta es muy duro
Internet es enorme y puedes encontrar miles y miles de recursos gratuitos para aprender a programar.
Algunos muy buenos y otros muy malos. Primero, debes separar la paja del trigo. Y sin tener conocimiento, te aseguro que es terriblemente difícil. Una vez hecho, ¿cómo continúo? ¿Qué conceptos veo primero? O algo tan obvio como que no me había planteado ni cuáles eran mis metas. Ni siquiera sabía qué me gustaba o qué se me daba mejor. Con orientación todo es mucho más fácil. ¿Cómo iba a saber si estaba progresando adecuadamente o iba demasiado lento? Un buen profesor te facilita la vida.
Si un programador con experiencia necesita de ayuda externa, preguntar, moverse por la red y tirarse de los pelos, ¿crees que es fácil que alguien sin experiencia pueda conseguirlo por sí mismo?
4. Requiere tiempo y dinero
No vas a convertirte en desarrollador en 3 meses. Bueno, habrá quien sí, pero la gran mayoría de mortales no puede conseguirlo. Esto lo comparo con aprender un nuevo idioma.
Recuerdo que cuando empecé a estudiar inglés lo hacía por mi cuenta. Y no iba mal, entendía cosas, montaba frases y sabía bastante vocabulario, pero trabajar como programador es mucho más.
Di un salto cualitativo al ingresar en la Escuela Oficial de Idiomas, sobre estructuras y expresiones que, por mí mismo, quizá no habría pensado ni que fueran importantes. Pero para trabajar en Londres necesitas hablar inglés fluido, y para ser programador necesitas programar con fluidez.
Yo estaba demasiado lejos de eso, cada paso, cada error, me suponían horas en documentación y StackOverflow. Pero del mismo modo que para dominar el inglés me fui a Londres a hacer inmersión total, con la programación seguiría la misma dinámica: un Bootcamp intensivo.
Un Bootcamp no es barato, porque no es una baratija, pero a día de hoy puedo decir que, junto al carné de conducir, ha sido una de las mejores inversiones que he hecho en mi vida.
5. Un Bootcamp es duro
Yo imaginaba que ya había encontrado la solución a mis problemas, que sería como un paseo y que, al terminarlo, podría renunciar a mi trabajo actual y meterme de lleno en el mundo de la programación. Pero volvemos a esa primera verdad, que programar es muy difícil. Para conseguir esa fluidez, yo necesitaba repetir una y otra vez y dedicar muchísimo tiempo a solucionar problemas que para otros con más experiencia no lo eran tanto. Después de 3 meses intensivos de los 10 que duraba, comenzaba a sentirme seguro y vislumbrar un poco el futuro. Pero no nos engañemos, nadie se hace ingeniero de software en menos de 100 días.
Así que todavía tenía 7 largos meses de sufrimiento. Si, como yo, estás pensando en entrar en un Bootcamp, tienes que saber muy bien si estás dispuesto a esforzarte, porque es difícil aprender a programar aunque cuentes con los mejores profesores posibles.
6. Encontrar tu primer trabajo como programador es difícil
¿Cómo ser programador informático? Es difícil ser programador, sobre todo al empezar, cuando debes dar el paso para encontrar tu primer trabajo. Tienes que convencer a alguien de que confíe en ti, y esa empresa debe necesitar a alguien como tú.
Piensa que la práctica hace al maestro y, en el mercado, hay mucha gente con más práctica que yo. Mucha más. Me sentía preparado, pero no todas las ofertas que te llegan son las que de verdad quieres. Yo soñaba con Google, ¿sabes? Bueno, me conformaba con una startup puntera. Sí, me gusta picar alto. Afortunadamente, la bolsa de empleo de KeepCoding tiene empresas que buscan Senior y Junior para empezar a trabajar como programador. Gracias a Dios. Yo aún estaba algo verde, pero gracias a las palabras Web Bootcamp me concedieron varias entrevistas. Magia.
7. Las entrevistas de trabajo son terroríficas
Mi amigo me contaba que le encantaban las entrevistas, que se sentía como una estrella de cine decidiendo qué guión escoger. Pero para los neófitos como yo, las entrevistas dan más miedo que ir al dentista. Algunas fueron bastante tensas, solucionando problemas de código con la mirada fija de otra persona, viendo cada uno de tus pasos, errores y correcciones. Todo. Cada línea de código era supervisada instantáneamente. Otras, a pesar de ser más relajadas, parecían la prueba de acceso a Harvard.
Preguntas sobre algoritmos, argumentar por qué el código de la derecha era mejor que el de la izquierda. Incluso en una quisieron romper el hielo con un «¿espacios o tabulaciones?». Y lo peor es que no te puedes preparar, porque no sabes qué te vas a encontrar. Las entrevistas se logran controlar con la experiencia. Después de 7 entrevistas, comenzaba a sentirme algo más seguro.
8. La entrada al mundo tecnológico es larga y frustrante
Por si en algún momento te has perdido, recuerda, soy un programador sin experiencia, no un fichaje estrella. ¿Qué quiere decir esto? Que para que apuesten por mí, tengo que demostrar mi valía, ¿cómo? Con código. ¿Dónde? En más entrevistas.
Es difícil ser programador y entrar en este mundillo, porque es un sector muy competitivo, mueve mucho dinero y cada empleado tiene un gran impacto sobre el negocio. Entiendo la posición de las empresas de asegurarse de que están apostando por alguien que merece la pena, pero para el candidato se vuelve una montaña rusa: euforia y depresión. Euforia cuando pasas a una siguiente ronda, depresión cuando no. Una nueva entrevista podía ser una prueba online, un test para enviar antes de medianoche o una sesión por Hangouts.
9. Muchos no lograrán ser programadores
Es duro, pero es la verdad. No es fácil conseguirlo. No me habían rechazado tantas veces ni en una discoteca. Mi cerebro intentó que me rindiese, pero tengo fortaleza, confianza y optimismo, y por eso continué. Pero entiendo que, por razones de tiempo, dinero o simple fuerza de voluntad (según mi experiencia el 80% depende de tu fuerza), no todo el mundo puede llevar esta lucha.
Una lucha que comienza al aprender código, que continúa dedicando mucho tiempo libre a repasar y repetir, y que finaliza buscando un trabajo que te guste. Porque es cierto, solo aplicaba a empresas más o menos «guays». Ese y los sueldos eran uno de los motivos que me habían llevado a cambiarme de profesión y querer convertirme en desarrollador.
Otros se podrían haber rendido y seguir con sus empleos, pero cuando empiezas a descubrir lo bonito que es este mundo, no solo el de la programación, sino todo lo que envuelve al mundo tecnológico, ya no quieres mirar atrás. Aprender algo nuevo es maravilloso, pero aplicarlo es un ejercicio completo de satisfacción. Yo me había propuesto una meta y no tenía dudas de que acabaría consiguiéndola.
10. Te sentirás estúpido y frustrado
Escribir código consiste en subidas y bajadas. Como dijo Diego Freniche en el KeepCoding Connect: «todo programador Senior ha tenido la idea de montar un chiringuito en la playa». Yo agrego: también un no-programador. Te desesperarás, bajarás al Inframundo y te tirarás horas intentando arreglar errores imposibles, horas de búsqueda y, al conseguirlo, subirás al Olimpo cual Dios Griego.
¿Pero sabes cómo se resuelven la mayor cantidad de errores? Preguntando a gente que sabe más que tú. Tienes que reconocer tus limitaciones; la experiencia es algo vital y lo más sabio que puedes hacer es preguntar y aprender de quien la tiene. Cuando un Junior y un Senior trabajan juntos, aprenden los dos.
Y recuerda, en la fase Junior, esa fase de aprendizaje, no eres el código que escribes, eres lo que puedes llegar a ser.
11. Puedes no querer ser programador
Después de conseguir mi primer empleo como programador descubrí lo divertido que es programar, y que cada día acabas la jornada siendo mejor. Pero después de un tiempo, me di cuenta de que dedicarme exclusivamente a programar no estaba hecho para mí. Tenía otra serie de habilidades antes y ahora tenía nuevas. Además, estaba ya en el mundo tecnológico al trabajar como programador informático.
Me di cuenta de que mi verdadera meta fue entrar en este sector maravilloso. Y lo había conseguido. Comencé a ver mis otras habilidades: creatividad, dotes sociales, organización, análisis…
La verdad es que me había convertido en un mix entre ambos mundos: el técnico y el de negocio. Estos perfiles son todavía más extraños. En un par de años como programador, conseguí un nivel y una autonomía notables para tener la puerta abierta en muchos puestos de trabajo. Pero a pesar de que me encanta programar, vi algo todavía más importante: podía ser más útil de otra forma. Y eso es algo que muchos no programadores debemos pensar: es difícil ser programador, pero ser desarrollador no es el único camino. Programar te va a abrir miles de puertas y miles más si lo combinas con lo que ya eres.
12. Casi todo se mueve a través de conexiones
Esta es una de las grandes verdades de la industria. Yo logré entrar gracias a KeepCoding y su bolsa de empleo.
¿Crees que yo, por mi cuenta, siendo un total desconocido, iba a conseguir oportunidades? No. Las conexiones en este sector son muy importantes, porque cuesta tanto ganarse la confianza de una empresa que, una vez logrado, su confianza es del 100%.
Tanto fue así que ¿adivinas quién fue el siguiente en venir a trabajar conmigo? Mi amigo el desarrollador, sí. Necesitaban un Senior y yo lo recomendé. Por supuesto le hicieron pruebas de todo tipo, aquí todavía no existen los enchufes (creo), y las superó con cierta holgura. 14 años de experiencia es mucha experiencia. Pero sin mí, él nunca hubiese sabido de esa vacante que buscaba la empresa, o quizá sí y su CV se hubiera perdido entre cientos de candidaturas, quién sabe.
Se dice que 8 de cada 10 ofertas del sector pasan desapercibidas. Ahí es donde radica la vital importancia de escoger dónde formarte y valorar que ese lugar tenga una buena bolsa de empleo. Además, asistir a conferencias, charlas, networking… te va a dar a conocer al mundo, un mundo que de por sí ya está muy conectado. Puede que llames la atención de alguien por tu experiencia en Kotlin y, si necesitan un experto, puede recomendarte.
13. Las empresas necesitan más que un buen código para tener éxito
Por mucho que tu código sea la octava maravilla del mundo, no es suficiente para garantizar el buen desarrollo de la empresa, que al final es lo importante.
En el sector tecnológico, muchas startups suben como la espuma y otras caen como un castillo de naipes.
Ten eso en cuenta, porque no solo tu nivel va a ser lo que lleve el negocio. Se necesitan de managers con visión, un equipo de marketing creativo y, sobre todo, un buen equipo de RRHH que es quien se encarga de encontrar el talento. Si formas parte de un equipo de desarrollo, ¿quiénes compartirán el código contigo? ¿Cómo gestionan el trabajo? ¿Usan Git, Mercurial? Ten en cuenta todos esos factores, porque no solo las empresas deciden quién entra, también nosotros decidimos a qué empresas queremos entrar.
Esas son las verdades con las que me he encontrado a lo largo de mi odisea al ser programador. Y mi mensaje más importante es: si quieres, puedes.
Etiqueta:cursos online, HTML, JAVASCRIPT, Lenguajes de programación, PHYTON, STACK OVERFLOW, TIOBE