La pregunta es esta y el detalle sigue: ¿hay algo que pueda decir / mencionar, como programador, para llevarlo a mi lado?
Me encantaría escuchar argumentos válidos para ambas partes en este caso, pero sobre todo sugerencias sobre cómo hablar con él.
Mi situación es esta: estoy trabajando en un proyecto de equipo en mi carrera, construyendo un sitio web de tamaño medio como prototipo para la universidad. Todos se consideran iguales en el grupo y no hay un líder designado, por lo que la respuesta a este problema no puede ser "rango de atracción".
Todos son iguales, sin embargo, existe una gran brecha en el conocimiento entre los miembros. El miembro del equipo en cuestión y yo somos desarrolladores capaces, aunque no tiene experiencia en la industria. Los otros tres miembros son menos capaces, y dos han optado por abandonar el desarrollo por completo. Los tres se han negado a comentar sobre la situación debido a la falta de conocimiento.
Como grupo, estamos decidiendo qué tecnologías usar en la implementación del sitio web; específicamente, si usar un framework PHP (Code Igniter) o no.
Estoy argumentando a favor, citando:
- No reinventar la rueda
- Base de código bien escrita y probada para trabajar desde
- Ponerse en marcha (la fecha límite está más cerca de lo que nos gustaría)
- Velocidad de desarrollo
- Patrones de diseño sólidos y sostenibles y buenas prácticas.
Está argumentando a favor de trabajar de la manera que solía hacerlo:
- Escribir funciones personalizadas y únicas en un archivo de "biblioteca" como cuando las necesita
- Funciones para acceder a los datos y representar esos datos en la página, obtener / configurar hacia y desde la sesión y obtener / publicar datos, etc.
- Tener 1 archivo por página (lo que resulta en la no separación de preocupaciones entre control, presentación y datos)
Sus razones contra el uso del marco de trabajo se basan principalmente en que él no puede ver el punto: ya puede hacer todas esas cosas. El marco no cambia eso, solo lo hace más difícil porque tiene que aprender el marco; no quiere usar código que no ha escrito personalmente.
También ha dicho que "no importa la calidad de la base del código, ya que el proyecto es solo un prototipo y nunca se mantendrá". Para mí, eso no es excusa para escribir código que no se puede mantener.
Puedo ver por qué él hace esos argumentos, pero tengo problemas con su "falta de preocupación por la mantenibilidad" y su "desprecio por el buen diseño", o incluso la separación de las preocupaciones. Sin embargo, sospecho que nunca ha estudiado patrones de diseño, por lo que no sé cuán efectivo sería demostrar que su método podría ser imposible de mantener.
Quiero comenzar este proyecto, pero no quiero hacerlo sin tener en cuenta todo lo que he aprendido a lo largo de los años. Como dije antes, no hay posibilidad de subir de rango aquí, ni otros miembros del equipo están dispuestos a participar. ¿Debería retroceder y hacer las cosas a su manera? ¿Es demasiado terco e inexperto para saberlo mejor? ¿O estoy siendo el terco aquí?
TL; DR Un miembro del equipo inexperto es terco, ¿cómo puedo convencerlo?
he doesn't want to use code he hasn't personally written.
I want to know exactly how everything works
es un argumento válido cuando se aprende, reinventar la rueda es realmente aceptable. Tal vez, solo tal vez, podrías leer eso como un grito de ayuda y no como terquedad.
since the project is only a prototype and will never be maintained
Últimas palabras finales :) Ojalá tuviera un dólar cada vez que hice esta suposición y descubrí que la impaciencia y la codicia a corto plazo de los superiores decidieron que el prototipo ES el producto ahora.