Hay una desconexión masiva entre lo que algunos bootcamps de codificación enseñan a los estudiantes y lo que los empleadores buscan en una entrevista técnica.
En 2007, mucho antes de que existieran los bootcamps de codificación, Jeff Atwood (un blogger de programación muy respetado) escribió un interesante artículo sobre la contratación de desarrolladores junior. En él propuso que un gran número de programadores que buscaban trabajo carecían de la capacidad de resolver lo que los desarrolladores experimentados considerarían problemas “muy fáciles”.
¿Por qué los programadores no pueden programar?
- Tengo 35 años y quiero ingresar al desarrollo web como un cambio de carrera. ¿Es demasiado tarde?
- Si quiero una carrera como artista conceptual (juegos / películas) o como ilustrador, ¿debo ir a una escuela de arte o incluso a la universidad?
- Cómo perseguir el periodismo para convertirse en un anfitrión de viaje
- ¿Cómo es la vida de un empleado del centro de llamadas de BPO en India?
- Tengo 25 años, no he podido encontrar trabajo durante más de un año y me fracturé el tobillo. ¿Qué puedo hacer para mantener a mi familia?
En el artículo cita otra publicación de blog sobre el tema que proclama:
La mayoría de los buenos programadores deberían poder escribir en papel un programa que lo haga en menos de un par de minutos. ¿Quieres saber algo aterrador? La mayoría de los graduados de ciencia ficción no pueden. También he visto a autoproclamados programadores senior tomar más de 10-15 minutos para escribir una solución.
En 2015, el hecho es que muchos bootcamps de codificación han empeorado el problema. Si espera poder conseguir un trabajo como programador, es importante que sepa cómo programar.
Sé que esto suena sorprendentemente obvio, pero el hecho es que un gran porcentaje de los bootcamps de codificación no funcionan con los estudiantes en la programación real y, como tales, sus graduados no pueden resolver ni siquiera las tareas básicas de programación cuando se gradúan.
En cambio, los alumnos salen a un par de entrevistas técnicas, y se dan cuenta de que no están preparados, y se ven obligados a estudiar por su cuenta para aprender realmente el oficio.
Expliquemos por qué está sucediendo esto, así que abróchese el casco de trabajo, apriétese en un cañón de trabajo y dispare a la tierra de trabajo, y hable sobre lo que realmente se necesita para obtener un trabajo después de graduarse de un campamento de codificación.
Sé lo que estás pensando….
¿No debería ser imposible que los bootcamps de programación no enseñen programación? He aquí por qué esto es en realidad mucho más común de lo que cabría esperar.
En el mundo real, es común usar “frameworks”, que son herramientas de programación que le permiten construir cosas rápidamente . Los marcos contienen una tonelada de código que otras personas escribieron y resuelven la mayoría de los problemas que surgen con mucha frecuencia al construir aplicaciones web. Debido a esto, es posible saber cómo construir aplicaciones web, pero solo entender cómo usar la herramienta, no entender de qué se trata la programación en general.
Ahora, estos marcos son algo bueno, y hacen el 90% de su trabajo por usted, haciendo que su vida sea mucho más fácil. Pero…. Hay situaciones en las que tendrá que hacer cosas que no están integradas en los marcos. Y a medida que crea aplicaciones cada vez más complicadas (como las que están construyendo las empresas que están contratando), más importantes son estos problemas para resolver.
Por lo tanto, el marco es una herramienta poderosa que facilita su vida y le ahorra mucho tiempo, pero cuando no puede confiar en un marco, las cosas se vuelven más difíciles.
¿Qué diablos son las aplicaciones CRUD?
Las aplicaciones CRUD son la abreviatura de las aplicaciones “Crear actualización de lectura de destrucción”. En resumen, son aplicaciones que son básicamente una vista web en la parte superior de una base de datos, que es algo que es común a la mayoría de las aplicaciones, y como tales marcos hacen la mayor parte del trabajo. Un ejemplo de una aplicación CRUD es un blog.
Cada publicación de blog es algo que se puede crear, leer, actualizar o eliminar. Realmente no hay muchas características más complicadas (piense: pagos, mapas, etc.).
El creador de Ruby on Rails, un marco popular, lanzó Rails y le mostró a la gente cómo construir un blog en un screencast de 15 minutos en 2005. Realmente sacudió las cosas porque hasta ese momento, probablemente tomaría la mayoría de los buenos desarrolladores 100x el momento de construirlo sin el marco.
Después de que salió Ruby on Rails, los frameworks se hicieron bastante populares, y muchos lenguajes de programación obtuvieron nuevos frameworks (a menudo modelados a partir de Ruby on Rails). Otros marcos que existen son: Pylons, Django, ExpressJS y Play!
Las aplicaciones CRUD son generalmente bastante simples de codificar en la mayoría de los frameworks y los desarrolladores más experimentados pueden construir una aplicación CRUD básica en una tarde o un fin de semana, ya que los frameworks hacen las cosas tan fáciles.
¿Qué es la lógica de negocios?
La lógica empresarial es el término para cosas que requieren el uso de un lenguaje de programación para manipular y transformar datos en la aplicación. Las aplicaciones avanzadas generalmente tienen mucha lógica empresarial.
Un ejemplo de una aplicación que tiene mucha lógica de negocios es una aplicación de ajedrez. Determinar si una pieza se puede mover a un determinado cuadrado requiere mucha lógica de negocios (código personalizado que no está integrado en un marco), ya que todas las piezas tienen diferentes reglas asociadas y no es un problema que enfrentan las aplicaciones web en general.
Escribir la lógica empresarial generalmente es mucho más difícil que crear aplicaciones CRUD.
Si bien las cosas CRUD estándar se pueden hacer en solo una o dos líneas de código utilizando un marco, la lógica de negocios es tan personalizada que necesitará el código al 100% usted mismo.
Los desarrolladores a pedido son buenos para programar.
El núcleo de lo que realmente es la programación es tomar algunas entradas, ejecutar algunos comandos y transformar los datos en un formato diferente que se ajuste a un criterio diferente. Entonces, en entrevistas técnicas, a menudo hacen preguntas como: “Dada esta entrada, produzca esta salida”.
Por lo general, los entrevistadores plantearán una pregunta relacionada con la codificación que nunca antes ha tenido que resolver y se le pedirá que camine hasta una pizarra y escriba el código con un marcador de borrado en seco (y no podrá usar un marco para resuélvelo).
Un ejemplo de una pregunta fácil es:
Dado algún texto, transfórmalo para que se invierta. Por ejemplo: “hola” se convierte en “olleh”.
Los mejores bootcamps de codificación preparan a los estudiantes para dominar este tipo de problemas y los más difíciles: uno en el que los marcos no tienen solución y en su lugar deberá escribir muchas líneas de código usted mismo. También se espera que conozcas algunos fundamentos de informática, como la notación Big Oh.
Escribí una larga publicación sobre cómo es la típica entrevista de codificación.
La única cosa entre usted y un nuevo trabajo como desarrollador web junior
Los mejores bootcamps de codificación están diseñados para estudiantes de ingeniería inversa que son programadores capaces que pueden resolver los problemas que conllevará la entrevista técnica.
Entonces, los 3 mejores bootcamps de codificación te enseñarán cómo ser un verdadero practicante de un lenguaje de programación. Le enseñarán cómo resolver problemas informáticos, pasarán mucho tiempo trabajando en diferentes problemas de programación abstracta, trabajarán transformando datos y simplemente utilizando el lenguaje de programación antiguo sin un marco.
Pero por lo demás, eso solo enseña cómo usar un marco y no funciona en absoluto en habilidades de programación. Para codificar bootcamps como este, es mejor que llames a Kenny Loggins, porque estás en la zona de peligro. De top-gun.
Echa un vistazo a este artículo que realmente habla sobre cómo determinar qué campamentos de arranque de codificación son los mejores y lo que realmente importa.
Ingeniería inversa: la estrategia perfecta de bootcamp de codificación
Si le gustó mi respuesta, significaría mucho para mí si la votara al presionar el botón azul claro a continuación.