¿Dejarías que un desarrollador junior sea el único desarrollador en un proyecto?

Cosas que he visto hacer a los juniors:

  1. Creación de agujeros de seguridad (debido a la inyección de sql, falta de firewall y falta general de comprensión de los problemas de seguridad).
  2. Perder cantidades masivas de tiempo al usar una herramienta incorrecta para el trabajo (porque no conocen otra)
  3. Reinventar la rueda (tiempo perdido, errores creados)
  4. Haciendo exactamente lo que les pides que hagan. Mortalmente peligroso.
  5. No pensar en posibles problemas puede ponerlos en una esquina donde de repente las funciones simples y fáciles de predecir no se pueden agregar sin una reescritura importante de todo.
  6. Crear código que no se puede mantener
  7. Crear código que falla completamente con cualquier cosa fuera de un caso probado
  8. La creación de código que funciona bien para un usuario, se bloquea inmediatamente para 2+. Sin supervisión y pruebas de carga, puede encontrarlo en producción cuando cree que todo estaba listo para su lanzamiento esta noche.

No significa que no puedan hacer el trabajo, pero el riesgo de fallar / atornillar algo mal / exceder la fecha límite / presupuesto / generar mala experiencia del usuario (y todo eso a la vez) es alto. Decide si quieres tomarlo.

Esto definitivamente depende de la complejidad del proyecto, la importancia, las limitaciones de tiempo y muchos otros factores. También depende, en mi opinión, de la capacidad del desarrollador junior.

He trabajado con dos tipos de desarrolladores junior:

  1. El desarrollador junior que no sabe mucho, está intimidado por la situación, no hará preguntas y cometerá errores increíbles que destruirán todo el proyecto y harán que todos pierdan el tiempo
  2. El desarrollador junior que no sabe mucho pero comprende sus limitaciones y también lo que requiere el proyecto. Hacen preguntas inteligentes para resolver los problemas que enfrentan y le informarán instantáneamente cuando haya un problema que no puedan resolver.

Creo que está bastante claro con cuál prefiero trabajar y con cuál daría la posibilidad de trabajar en un nuevo proyecto.

Hay proyectos donde sería aceptable. En general, proyectos pequeños y de bajo riesgo donde hay una biblioteca suficiente de proyectos similares para que el desarrollador junior haga referencia a cómo hacer las cosas más difíciles (seguridad, autenticación, pistas de auditoría, etc.)

Creo que esto depende en gran medida del proyecto. Si es relativamente complejo, o si la seguridad es importante, entonces no, no creo que sea una buena idea tener un desarrollador junior como único desarrollador.

Pero si es algo relativamente simple, o si la información personal de los usuarios no es un problema, ¿por qué no? Hay muchos proyectos en los que un desarrollador junior solo haría bien.

Otra posible pregunta sería qué tan bueno es realmente este desarrollador. El término “desarrollador junior” no está exactamente estandarizado, y los llamados desarrolladores junior pueden tener varios niveles de habilidad. Esta es la razón por la cual muchas compañías usan pruebas de codificación para evaluar el nivel de habilidad de un desarrollador, o al menos sirven como una estimación aproximada.

Depende del proyecto. Si la seguridad juega un papel importante, que casi siempre lo hace, preferiría que lo haga una persona con más experiencia. Cosas como diseño visual y cosas simples de front-end son las cosas en las que confiaría para un principiante. Sin embargo, soy una persona demasiado obsesionada con la seguridad y nunca fui realmente un líder de proyecto (solo en la universidad), así que estoy seguro de que hay otros que lo permitirían.

¿Dejaría uno? No solo lo haría, sino que lo he hecho. No es algo que quiera hacer o planear hacer. Generalmente no es justo para el proyecto o el desarrollador, pero hay circunstancias exigentes.