Foto de markuswinkler (https://unsplash.com/@markuswinkler)
Es difícil leer noticias sobre desarrolladores y no tener la impresión de que hay escasez de talento. Tiene sentido, ¿verdad? Las empresas no le pagarían a alguien $100,000 al año si pudieran cubrir fácilmente el puesto con alguien más barato. Pero no hay escasez de desarrolladores. ¿No me crees?
Copia y pega una descripción genérica de un puesto de desarrollador y crea una oferta de trabajo gratuita en LinkedIn. Obtendrás una docena de solicitantes como mínimo. Págale a LinkedIn para promocionar el trabajo y obtendrás docenas más. Como gerente de contratación, he visto que esto ocurre docenas de veces.
Con cientos de personas postulándose para un puesto, deberías poder hacerles una oferta a la baja por debajo de los 100 mil al año, ¿verdad?
Te equivocas.
No hay escasez de desarrolladores
Más precisamente, no hay escasez de personas que se llaman a sí mismas desarrolladores. Hay escasez de desarrolladores cualificados.
Aplicar primeros auxilios no te convierte en médico. Usar una hoja de cálculo no te convierte en contador. Y crear una aplicación no te convierte en desarrollador.
Esto se aplica a cualquier dominio del desarrollo. Saber React no te convierte en un desarrollador frontend cualificado. Saber Node.js o Django no te convierte en un desarrollador backend cualificado. Y programar un token ERC-721 en Solidity no te convierte en un desarrollador blockchain cualificado. Del mismo modo, entrenar una red neuronal no te convierte en un ingeniero de deep learning.
Un ejemplo de la ingeniería frontend
Es fácil observar el desarrollo frontend y pensar: “oh, simplemente maqueto algunos divs como componentes de React, agrego un poco de CSS, et voilà, tengo una web app”. Bueno, la tienes, pero es probable que sea lenta, desordenada y con un mal SEO.
Debes ser capaz de adaptarte a diferentes navegadores. Debes saber cómo optimizar las cargas de componentes y llamar a APIs en el momento y lugar correctos. Debes saber cómo estructurar un código base al que múltiples ingenieros puedan contribuir sin pisarse los unos a los otros. Debes saber por qué eliges una solución CSS en lugar de otra que hace lo mismo. Debes usar herramientas razonablemente modernas para mejorar tu productividad. Si la página carga lentamente, debes saber cómo acelerarla. Debes saber cómo funciona el SEO y la optimización para móviles. Debes conocer una gran variedad de bibliotecas para no tener que reinventar la rueda. Y aunque no necesitas ser un experto en UI o UX, necesitas saber al menos los conceptos básicos. Debes poder reconocer las fugas de memoria y evitarlas. Debes diseñar la arquitectura de tu aplicación para que ejecute pruebas A/B de manera fluida. Tu arquitectura necesita contar con las abstracciones adecuadas para que intercambiar características y bibliotecas sea un proceso continuo y sin interrupciones.
Las empresas eventualmente aprenden por las malas que no todos los que se llaman a sí mismos desarrolladores realmente saben lo que hacen. Y dado que el mal software puede hundir por completo los ingresos de una empresa, saben que solo deben contratar desarrolladores cualificados.
Hagamos el mismo ejercicio con los desarrolladores blockchain.
El simple hecho de implementar un smart contract en la mainnet no te convierte automáticamente en un desarrollador de smart contracts.
Entonces, ¿qué te convierte en un desarrollador de smart contracts cualificado?
Al igual que en el ejemplo anterior, conoces una larga lista de qué no hacer. Solo porque tu código compile y pase las pruebas, no significa que sea buen código. Los ingenieros backend saben que pueden indexar la base de datos como quieran, pero indexar por la primera letra del nombre de alguien es una mala idea porque los índices con letras comunes se sobrecargarán. Los desarrolladores frontend saben que la menor cantidad posible de montajes de componentes debe depender de llamadas a APIs para evitar páginas en blanco cuando el internet es lento. Saben que ciertos patrones de CSS no funcionan en determinados navegadores o tienen un menor rendimiento que otros.
¿Puedes crear una lista similar para blockchain? (¿Sin Google?) Inténtalo ahora. ¿Qué tan larga es la lista? ¿Estás seguro de haber dado con los problemas principales?
Los gerentes de contratación quieren estar seguros de que conoces cuál es esta lista. No te familiarizas íntimamente con lo que no debes hacer después de 4 semanas de estudio básico y de construir smart contracts simples.
Acabamos de cubrir lo que no se debe hacer, pero ¿qué hay de conocer buenas formas de resolver problemas recurrentes? ¿Sabes cuáles son los patrones, o vas a reinventar la rueda de mala manera porque no estás reutilizando el conocimiento institucional? ¿Sabes si deberías estar en L2 o no, y si es así, cómo vas a comunicarte con L1? ¿Eres capaz de dar un paso atrás frente a todos los requisitos y pensar en cómo modelar tus datos de manera eficiente en el consumo de gas, y de una forma que sea flexible para futuros cambios? La seguridad es un punto muy importante. Los mismos hackeos ocurren una y otra vez porque, por lo general, los desarrolladores no estudian esto. Esto hace que los gerentes de contratación de buena reputación tengan miedo de contratar desarrolladores blockchain.
Nada de esto es para restringir el acceso o mantener una exclusividad artificial. Tampoco es para menospreciar a quienes están comenzando su camino.
El punto es que las empresas tienen buenas razones para rechazar tu solicitud si lo mejor que puedes hacer es mostrar algunos proyectos simples basados en cursos en línea.
El vaso medio lleno

Foto de https://pixabay.com/photos/optimism-optimistic-pessimism-619018/
Pero el hecho de que el vaso esté lleno al 50% no significa que esté medio vacío.
Existe una interpretación útil y verdadera de los hechos viendo el vaso medio lleno.
Cualquier persona razonablemente inteligente puede convertirse en un ingeniero senior en casi cualquier dominio de la programación si entrena duro y durante el tiempo suficiente. No hay nada mágico o misterioso en dominar un tema. Se ha hecho millones de veces y se volverá a hacer millones de veces más.
De hecho, puedes lograrlo completamente por tu cuenta. Ahora, por supuesto, creemos que RareSkills puede acelerar tu camino para convertirte en ingeniero senior. Pero emprender y completar el viaje depende de ti.
Esto no debería asustarte, debería emocionarte. Todo lo que tienes que hacer es ir más allá de lo que hacen tus compañeros, y entonces las empresas irán tras de ti. Es así de simple. Sí, es un trabajo duro, pero cualquiera que te diga que puedes conseguir un trabajo deseable y bien remunerado sin trabajar duro te está vendiendo humo. Sí, es bastante maravilloso que puedas ganar el sueldo de un abogado sin tener que pasar por la agotadora y costosa facultad de derecho, el examen LSAT y el examen del colegio de abogados. Pero trabajar de manera inteligente no significa evitar el trabajo duro. Significa trabajar duro en actividades que generen resultados de manera eficiente.
La verdadera definición de trabajo duro
Trabajo duro no significa trabajo indeseable.
El trabajo duro en un empleo sin futuro para un jefe horrible es un mal trabajo duro que deberías evitar. El trabajo duro para obtener una habilidad poco común que te coloque a la vanguardia de un campo emocionante es un trabajo duro deseable. El trabajo duro estudiando cosas que en realidad no hacen avanzar tus conocimientos o tu solicitud de empleo es un trabajo duro indeseable. El trabajo duro que te lleva a dar saltos cuánticos hacia tu objetivo es un trabajo duro deseable.
Las empresas prefieren encarecidamente a los ingenieros senior por una buena razón. No hay forma de evitar esto. No hay atajos para convertirse en un desarrollador cualificado.
Sin embargo, el viaje puede no ser tan largo como crees si estudias con la máxima eficiencia.
Para eso estamos aquí. Convertirse en un ingeniero senior lleva años si lo dejas al azar. Creemos que el viaje puede ser mucho más corto si estudias junto a personas motivadas e inteligentes, y bajo la guía de personas que ya han completado ese viaje.
Queremos que seas un desarrollador cualificado. Realmente hay una escasez de ellos.
Publicado originalmente el 11 de noviembre de 2022