O desenvolvedor de software autodidata: mito ou oportunidade?

El desarrollador de software autodidacta: ¿mito u oportunidad?

¿Alguien puede ser un buen desarrollador sin tener experiencia en informática? Sí, y pueden ser un gran activo para su negocio.

Imagem em destaque

Internet está lleno de cientos de cursos, libros y guías sobre cómo aprender a codificar y convertirse en desarrollador de software. Algunos llegan incluso a prometer salarios de seis cifras con unos meses de formación. Esto ha llevado a que muchos entusiastas intenten irrumpir en el mundo del desarrollo de software sin entender del todo en qué se están metiendo.

Dejemos una cosa clara: escribir código es bastante fácil. Escribir un buen código es un poco más difícil pero factible, pero escribir un buen código que se convierta en un producto estable, rentable y mantenible es otra cuestión completamente diferente. Agregue a la mezcla trabajar junto a otros, revisar su código y aprender sobre la cultura tecnológica y rápidamente se dará cuenta de que un campo de entrenamiento de codificación no es suficiente.

La cuestión no es si los desarrolladores autodidactas pueden ser útiles para nuestra empresa y nuestros proyectos. Por supuesto que pueden: el talento no proviene de una carrera en informática o ingeniería. En cambio, es más interesante preguntar qué podemos ganar al contratar a alguien fuera de estas áreas.

¿Qué caracteriza a un buen desarrollador de software?

El quid de la cuestión que nos ocupa es simple: ¿puede una persona convertirse por sí sola en un buen desarrollador de software? Y detrás de esta pregunta hay una aún más fundamental: ¿qué caracteriza a un buen desarrollador de software?

Uno podría pensar en términos de capacidad de codificación. Y aunque es innegable que saber lógica informática es una habilidad imprescindible, lo cierto es que el talento en programación no es la única cualidad que debes buscar en un desarrollador .

En mi experiencia, los mejores desarrolladores tienen dos conjuntos de habilidades muy diferentes pero importantes: habilidades de comunicación y resolución creativa de problemas.

Un desarrollador de software es una persona que convierte una visión en un producto digital con la ayuda de la tecnología y otros desarrolladores. Desde esta perspectiva, necesitamos las habilidades antes mencionadas para dar forma a esta visión, así como una comprensión de las herramientas del oficio (como un lenguaje de programación) para hacerla realidad.

Las habilidades de comunicación nos ayudan a comprender la visión de nuestros clientes y nos ayudan a transmitir esa visión al resto de nuestro equipo. Te sorprendería saber cuántos proyectos están condenados al fracaso debido a requisitos confusos o desarrolladores aislados.

En cuanto a la resolución de problemas, el conocimiento no garantiza una solución (aunque cuanta más experiencia tengas, más probabilidades tendrás de llegar a ella). El conocimiento es una herramienta, una forma de facilitar el proceso de superación de una tarea en cuestión. La creatividad es el acto de alinear herramientas, conocimientos y problemas de maneras innovadoras para encontrar soluciones.

En otras palabras, un buen desarrollador no conoce todos los lenguajes de programación que existen, pero puede evaluar si una determinada herramienta puede resolver un problema y, en caso contrario, mostrar voluntad de aprender y adaptarse para atacar el problema desde un nuevo ángulo.

¿Es suficiente ser autodidacta?

No me malinterpretes, saber cómo funciona la tecnología es esencial en nuestra industria. Incluso la persona más creativa y comunicativa tendrá dificultades para cumplir los plazos si tiene que empezar de cero. En ese sentido, sí, aprender a escribir código y aprender sobre arquitectura de computadora/red es extremadamente importante.

¿Puede un desarrollador autodidacta saber todo esto? Sí, pero hay una advertencia. El grupo total de desarrolladores autodidactas es mucho mayor y más variable que lo que se ve en desarrolladores junior con títulos.

En otras palabras, es más probable que encuentres una persona con muy pocos conocimientos en el campo si eliges un desarrollador autodidacta que si eliges un nuevo candidato recién salido de la universidad. Y para ser justos, muchas veces no es culpa suya.

Muchas personas caen en estafas y cursos irresponsables que prometen demasiado y no cumplen lo suficiente. Toman algunos cursos de Python o Frontend, crean una hermosa página web como tarea y se les hace creer que esto es suficiente para tener éxito en el campo.

Desafortunadamente, esto sucede más de lo que nos gustaría admitir, razón por la cual implementamos salvaguardas como codificar entrevistas (aunque no son el principio y el fin de todo) para detectar candidatos potenciales que no tienen la habilidades básicas necesarias.

Pero algunos desarrolladores autodidactas no se detienen ahí. Van un paso más allá al crear múltiples proyectos por su cuenta, realizar más cursos, obtener certificados de Amazon y Microsoft y trabajar con comunidades en proyectos de código abierto. Y poco a poco se van adentrando más en el campo de la tecnología. Este es el tipo de desarrollador autodidacta que deberíamos buscar.

Lo que los desarrolladores autodidactas aportan

¿Por qué deberías echar un vistazo al currículum de un psicólogo que intenta incursionar en este campo? ¿O de una persona que nunca asistió a la universidad?

Creo que la palabra clave aquí es diversidad , tanto en términos de abrir caminos a las minorías como de ampliar el alcance de nuestro negocio. Dejame explicar.

Muchos desarrolladores autodidactas están aprovechando que algunos de estos cursos son gratuitos en las redes sociales o muy asequibles. Y estamos hablando de personas muy talentosas que de otro modo no tendrían recursos suficientes para obtener un título completo en informática, incluso si tuvieran el talento para hacerlo.

Por otro lado, las personas ajenas al ámbito traen consigo nuevas perspectivas, sobre todo si tienen experiencia laboral previa. El desarrollo de software, como rama de la ingeniería, es un campo bastante joven con mucho espacio para crecer y evolucionar.

Uno de los mayores riesgos de convertirse en una comunidad aislada es perder contacto con el resto del mundo. Mientras otros cambian, adaptan y desarrollan nuevas metodologías, nosotros nos acostumbramos a las nuestras, con defectos y todo, y terminamos conformándonos con lo que funciona en lugar de intentar mejorar las cosas.

Las nuevas perspectivas cuestionan la autoridad, cambian paradigmas y desafían suposiciones. En este punto, siempre me gusta señalar el hecho de que uno de los paradigmas de programación de software más populares, la programación orientada a objetos, comenzó como un modelo que intentaba emular la vida celular.

En otras palabras, el paradigma de programación reinante no se basaba en la teoría de la información, sino en la biología. Si ese no es un caso convincente desde la perspectiva de un extraño, no sé cuál lo es.

Ampliar tus horizontes

Si ha estado rechazando candidatos basándose en sus títulos universitarios o en la falta de ellos, podría ser el momento de empezar a pensar en cambiar ese paradigma . Hay muchos talentos increíblemente creativos esperando una oportunidad para crecer y remodelar el mundo de la tecnología.

contenido relacionado

Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.