Cómo comunicarse con un compañero de trabajo que considera que los marcos son un éxito

10

¿Cómo se puede vender una idea como "deberíamos usar jQuery porque su marco altamente optimizado y compatible con varios navegadores" o "el marco de la entidad es genial porque está ordenado y se ocupa de nuestro modelo automáticamente" cuando la respuesta común es una declaración en blanco como "jquery no funciona bien "o" las entidades traen 12 columnas en una tabla cuando solo necesitamos 10 "?

Soy un tipo pragmático que tiende a confiar en los axiomas que he desarrollado a través de la experiencia (no es un problema de rendimiento hasta que haya una desaceleración visible). No sé si hay una "categoría" específica en la que encaje el otro extremo, mientras que todo es un problema de rendimiento hasta que se demuestre lo contrario ... o incluso dónde comenzar la comunicación aquí.

P.Brian.Mackey
fuente
77
No se llama Dick, ¿verdad? Daily WTF 'Java is Slow'
AlexC
Solo golpea la bolsa fuera de él.
Trabajo
1
@AlexC - OMG YES !!!!!!!!!!!!
P.Brian.Mackey
1
"¡Muéstrame los datos!" cuál sería la versión de TI de esa línea de Jerry Maguire sobre el dinero que Tom Cruise hizo famoso hace años.
JB King
2
Dígale que él es un éxito de rendimiento para su proyecto.
Wyatt Barnett

Respuestas:

15

¡Tráigalos hechos concretos!

Por ejemplo, existen puntos de referencia de rendimiento para los marcos ORM y JS. Además, todo el framework y ORM tienen buenos argumentos de venta en su página de inicio.

Después de leer su comentario, creo que en su caso el problema no es la tecnología adecuada. Son las personas que se niegan a aprender nuevas tecnologías.

Amir Rezaei
fuente
3
+1 - La dificultad aquí es que he revisado y creado prototipos para mostrar varias herramientas y tecnologías nuevas ... sí, funcionan bien. Pero, tengo la sensación de que existe un estigma contra todos los cambios o las nuevas herramientas que surgen por el fracaso de las herramientas pasadas (y posiblemente por temor a la complejidad). Entonces, la apuesta segura es solo mantener el statu quo. Desafortunadamente, no sé cuánto tiempo nuestras antiguas herramientas resistirán las crecientes expectativas y requisitos de los usuarios.
P.Brian.Mackey
1
@ P.Brian.Mackey: siempre puedes probar el fregadero o la ruta de natación. En su próximo proyecto donde pueda liderar una implementación, implemente su marco. Puede mantenerse al día o salir.
Joel Etherton
Problema: no hay referencia de marco JS relevante frente a JS personalizado (solución a medida).
Nicole
6

Enfrenté este problema antes, gente que quería reinventar la rueda. Por lo general, les explico que podemos mejorar y pulir el producto si pasamos tiempo perfeccionando lo que es importante y no lo que hay debajo. Además ... quiero decir que los marcos están ahí por una RAZÓN, y el rendimiento realmente no es un problema en estos días. La confiabilidad es más importante, y si los marcos tienen buenas revisiones / calificaciones, entonces probablemente sean más confiables que algo que cualquiera pueda inventar sobre la marcha.


fuente
+1 por la idea de que, si bien es probable que haya algún impacto en el rendimiento, generalmente es un gran cambio para reducir significativamente el tiempo de envío, mejorar el mantenimiento y, con un marco maduro / ampliamente optimizado, probablemente más confiable de lo que puede construir usted mismo . Es raro que los reinventores de las ruedas argumenten que usar cualquier cosa menos un ensamblaje puro es la única forma de lograr un rendimiento real, entonces, ¿por qué el uso de marcos sobre la línea? (FWIW no estoy en el campamento "el rendimiento no es un gran problema en estos días", ya que todavía creo que el rendimiento es muy importante. Simplemente no es lo único importante.)
Matthew Frederick
6

Todo el mundo parece estar en desacuerdo con su colega, pero creo que debería tomarse en serio sus argumentos si no es por otra razón que no sea entender su punto de vista. Creo firmemente en los marcos cuando los necesita o cuando realmente proporcionan optimización, pero también creo que la dependencia excesiva de un marco puede conducir a un desarrollo débil en algunos casos.

Creo que debería abordar el problema menos desde el punto de vista de que su compañero de trabajo está equivocado y más desde el punto de vista de que el uso de los marcos en los que está pensando mejorará el tiempo de desarrollo, el rendimiento, el mantenimiento, etc.

Siempre trato de tener en cuenta el uso de la herramienta adecuada para el trabajo correcto. No necesito un trineo de 12 lb (jQuery) para clavar un clavo para colgar una imagen (intercambio de imágenes). Pero si me encuentro con una situación en la que cuelgo una imagen que requiere una punta de ferrocarril para mantenerla en la pared, es mejor que tenga listo el trineo.

Joel Etherton
fuente
4

tiene razón, hay gastos generales

pero la suposición de que la sobrecarga de un marco es más que una solución codificada a mano puede no ser correcta, e incluso si es correcta, la sobrecarga puede no ser significativa.

proponer una prueba:

  • ambos escriben algo realista pero relativamente pequeño
  • usas jQuery (o lo que sea) y él no puede usar nada
  • medir dos cosas:
    1. cuánto tiempo les lleva a ambos codificar la solución (suponiendo que sus habilidades de codificación sean equivalentes)
    2. cuánto tiempo lleva ejecutar (ciclo de vida completo) cada solución

lo más probable es que haya una pequeña sobrecarga con el marco, muy pequeña, pero una gran diferencia en cuánto tiempo lleva codificar [y depurar] la solución

entonces tu amigo puede discutir los hechos, en lugar de contigo

nota: prepárate para una resistencia continua; muchas veces el rechazo a los frameworks se expresa en términos técnicos, pero en realidad es una cortina de humo para "no inventado aquí" o "No quiero aprender otra herramienta"

Steven A. Lowe
fuente
3

Recuerde a su colega que reinventa las ruedas que lo que está haciendo es una variedad de Optimización prematura. ¿Cómo puede saber que estos marcos representan un impacto de rendimiento inaceptable hasta que se demuestre que causan un problema? Mientras tanto, su productividad mutua seguramente habrá disminuido con todo el trabajo adicional que ha tenido que hacer.

Adam Crossland
fuente
2

¿Qué le parece explicar el impacto del rendimiento en el tiempo de entrega del proyecto cuando no utiliza algunos de estos enormes marcos probados y que ahorran tiempo?

G_P
fuente
No estoy seguro de que la razón de la votación negativa, ¿está diciendo que NO usar jQuery u otros marcos establecidos (siempre y cuando exista una necesidad definitiva de ellos) va a acortar el tiempo de entrega de un proyecto? Este es esencialmente el argumento de "no reinventar la rueda" ...
G_P
También voy a un cobarde voto negativo en coche. Alguien tiene un error en su kiester hoy.
Adam Crossland
1
Estoy de acuerdo con usted (¡y ciertamente no lo rechacé!), Pero he visto que el tiempo de desarrollo se prolonga debido al uso de un marco para una tarea simple que podría haberse hecho rápidamente a mano, y luego tener que lidiar con el marco no bastante bien, no hacer absolutamente lo que necesita, no bastante ser comprendido, etc.
Carson63000
@ Carson63000 - De acuerdo con usted al 100% - El alcance de la tarea en cuestión definitivamente debe sopesarse frente al impacto de la introducción de un marco.
G_P
1

Una opción sería decirle que él se encargará de ajustar el rendimiento, si se puede demostrar que hay un problema de rendimiento. O, si tiene los recursos, cree dos Pruebas de conceptos: cree los suyos con jQuery y todo lo que desee. Puede construir el suyo con su propio sistema súper rápido enrollado a mano. No permita que esto continúe por más de un par de días (es una prueba de concepto) y vea quién se desempeña mejor al final.

Y, por supuesto, como otros han mencionado, obtenga algunos números duros y perfiles de rendimiento para ambos lados del argumento.

FrustratedWithFormsDesigner
fuente
1

Primero, él puede ser el adecuado para su situación específica.

Como parece que tienes problemas para que vea tu punto de vista, debes hacer un mejor trabajo para convencerlo.

Ustedes dos están en dos puntos diferentes a lo largo de la línea entre "Construir" y "Comprar". Esta es una línea bastante larga. A la izquierda, en "Build" tienes SpaceX, que tuvo que construir una industria completa. A la derecha, en "Comprar", tiene una externalización completa de todas las funciones de TI a IBM, HP y similares, y la empresa no codifica en absoluto. En el medio, a unos 2 mm de distancia, están ustedes dos. Ambos deben convencer a la gerencia de que su enfoque de "compilar frente a comprar" en el marco y la norma y tal, y por "comprar" me refiero a "no construido internamente", es lo mejor para la empresa, por mucho tiempo -término. Twitter habría muerto si hubieran subcontratado a IBM. Rodaron los suyos. Piénsalo.

De cualquier manera, la gerencia necesita salir del campo de golf y entrar allí y hacer su trabajo.

Christopher Mahan
fuente
0

Bueno, para el ORM, la respuesta es "Solo si escribe su consulta de esa manera, lo mismo puede decirse de SQL". Como han dicho otros, lo que necesita son hechos concretos.

Además, haga preguntas específicas para profundizar en lo que dice: "¿Me puede dar un ejemplo de que JQuery no está funcionando porque esa no es mi experiencia".

La tercera opción, y un desarrollador viejo y sabio me sugirió esto, solo incluya la "cosa" de todos modos (suponiendo que no tenga problemas).

Buscar aprobación solo lleva a la respuesta "no". Téngalo allí, luego puede pedirles que señalen áreas específicas y pedirles que le digan cuál es el problema.

"Hey, este código EF, trae de vuelta solo los 2 elementos de datos necesarios de esa tabla, cuál es el problema", etc.

Obviamente, ¡debes tener mucha confianza en ti mismo y en la herramienta que estás utilizando antes de seguir adelante con este enfoque! :-)

ozz
fuente
0

Bueno, rechazar bibliotecas como esa fuera de control es estúpido y a veces arrogante. Las horas de producto invertidas en estos y el pensamiento detrás de ellos hace que rechazarlos sea simplemente ridículo.

Sin embargo, puede ser que su compañero de trabajo tenga razón, ya que necesita comparar y superar las demandas del software, que es parte del diseño. Puede ser que una solución ORM o ActiveRecord sea demasiado exagerada o, por el contrario, que el software necesite una solución realmente acoplada para el DB y ORM simplemente no lo corte.

Tener en cuenta estas cosas es importante cada vez que diseña un software.

Para las bibliotecas del lado del cliente, tendría que decir que es simplemente estúpido, ya que siempre puedes encontrar un marco que sea adecuado para tus necesidades. Y como algunos dijeron antes que yo, ¿qué es mejor que un marco de batalla probado?

Deje que elimine todos los problemas de los navegadores cruzados, él acudirá voluntariamente a usted sobre cómo usar un marco.

Por cierto, una vez tuve un jefe que no tenía en cuenta los marcos. Simplemente le mostré lo fácil que es hacer solicitudes ajax en lugar de copiar las funciones una y otra vez (que era una idea tonta en primer lugar), bueno, él no sabía cómo codificar, así que ...

Cu7l4ss
fuente