Mi socio en un proyecto web sigue quejándose de que PHP es malo y no ha hecho nada. ¿Debería despedirlo?

Un ejemplo que puede citar: Facebook usa PHP, y si hay alguna aplicación web que escala hoy, es Facebook.

Hay muchos factores involucrados en lo que realmente necesita hacer (cuál es su relación con el “socio”, si él es solo un empleado con algunos riesgos, etc.) pero PHP sí escala: solo necesita saber cómo hacerlo.

Algunos consejos técnicos:

  1. Estructura MVC correcta donde se eliminan las ramas innecesarias de flujo de código
  2. Pasar objetos grandes por referencia
  3. Mysql Query optimization
  4. Código de operación de almacenamiento en caché (hoy en día el predeterminado)
  5. Modelos de datos de vista de almacenamiento en caché
  6. Arquitectura multiservidor
  7. Uso de colas de proceso o solución equivalente para calcular trabajos intensivos
  8. Actualización a PHP7 (he migrado con éxito pocas aplicaciones web a PHP7 con un aumento significativo en el rendimiento).

    Y posiblemente unos pocos más.

Al final, pídale a su pareja que recuerde dos cosas:

a. El código bien escrito es a menudo mucho más importante que el lenguaje de programación que se utiliza.

si. Mientras no esté usando un destornillador en lugar de un martillo (como usar PHP-GD para hacer una gran cantidad de procesamiento de imágenes), debería estar bien.

Aclamaciones,
Janak

Fundador,
Tecnologías Digiperfect
http://digiperfect.com

No estoy seguro de la naturaleza de su relación. El uso de las palabras Socio, Fuego y Proyecto me confunde.

  • ¿Le estás pagando?
  • ¿El proyecto tiene un presupuesto?
  • ¿Tienes el control de ese presupuesto y tu pareja no?
  • ¿Es algo que estás haciendo solo para divertirte con un amigo?

Dependiendo de las respuestas, podría dar diferentes respuestas.

En general, si contrato personas para que trabajen conmigo en proyectos sobre los que tengo influencia, me siento responsable de guiarlos. Hay algunos puestos temporales mucho más cercanos al aumento de personal donde espero que comiencen a funcionar y los reemplazaré mucho más rápido. Estos no son socios.

Me encanta hacer proyectos paralelos con amigos. A veces funciona y a veces no. En estas empresas no remuneradas, el objetivo más alto suele ser mejorar en mi oficio y divertirme. Si eso no está sucediendo, debería ser obvio. La empresa se abandona pero nadie es despedido.

Nota al margen de opinión: he disfrutado de los podcasts y de leer entrevistas con el creador de PHP. Es interesante la cantidad de cosas malas que tiene que decir sobre su propio idioma y, al mismo tiempo, frustrado porque no hay nada más que pueda hacer lo que puede hacer. Para mí, PHP es la historia más divertida del pragmatismo utilitario que fue demasiado lejos.

No tienes pareja Tienes un ancla Levanta el ancla o córtala. Cualquier programador que se queja de un lenguaje hasta el punto de no hacer nada con él es:

  1. Inexperto
  2. Incompetente
  3. o maligno
  4. Los 3

Tenga en cuenta que, literalmente, todos los programadores se quejan de los lenguajes y muchos programadores se quejan reflexivamente sobre PHP. Las quejas de PHP son en su mayoría infundadas y las quejas regulares son solo parte de la vida. Ninguno de los dos impide que un programador competente y efectivo haga las cosas.

Soy un desarrollador full stack. Me encanta Python, también sé mucho de Java y JavaScript. Como profesional independiente, la mayoría de las veces también trabajo con PHP.

Así que combiné 10 años de experiencia trabajando con diferentes idiomas en proyectos complejos … PHP puede ser una molestia. Vi un código horrible, quiero decir, realmente horrible e indestructible … ¡pero! Siempre pude mejorar ese código y hacerle cambios sin excepciones. Si eres lo suficientemente bueno, puedes detenerte por un momento para pensar cómo mejorar el código, cómo encapsular el código incorrecto de una manera que no te moleste, y luego comenzar a trabajar … Entonces, creo que solo necesita algo de motivación , un nuevo enfoque, trate de obtener ayuda para él, hágale saber sus pensamientos y trabaje para mejorar su motivación. Haz que defina las fechas de vencimiento para que pueda saber cuándo llega tarde y no funciona correctamente. Puede contratar a un consultor o un desarrollador senior para que lo ayude hasta que pueda volver a trabajar solo. Para despedirlo, debes decidir si es solo un programador para tu proyecto o si tiene otras aportaciones que hacer.

¡Buena suerte con eso!

Seré un poco más directo que las otras excelentes respuestas que ya recibió.

Si este fuera mi negocio y mi empleado, su trasero estaría actualizando su currículum mientras hablamos.

Si es cierto que “todo lo que hace es quejarse de lo malo que es PHP y de cómo no se escala”, entonces eso me dice que no tiene un conocimiento profundo del lenguaje; de hecho, ni siquiera estoy seguro de que comprenda completamente lo que significa escalar.

De acuerdo, entonces tal vez solo apesta en PHP; eso es realmente tu culpa, porque es tu trabajo verificar que tenga las habilidades requeridas para el trabajo.

¿Pero luego le das otra oportunidad de hacerlo en un idioma más de su agrado, y todavía encuentra una razón por la que no puede hacer el trabajo para el que fue contratado? No se le pregunta cuánto dolor es el proceso de integración, se le pide que produzca un producto entregable.

Dejame poner esto de otro modo. ¿Te interesa saber cómo me familiaricé con Java? Mediante el desarrollo de una aplicación para teléfonos inteligentes, en el trabajo. Mi jefe no me preguntó “¿puedo hacer esto?”, Me preguntó “¿cuándo haré esto?”. Y se hizo. Es por eso que me entrega un cheque de pago los días 1 y 15 de cada mes, para hacer las cosas, no para quejarme del medio ambiente, un idioma, el color del cielo. Este chico es un cáncer. Deshazte de él antes de que el cáncer se propague.

Si no mencionaras la “integración”, me habría inclinado hacia que tu pareja no fuera muy competente. Pero el hecho de que parezca que tiene que lidiar con el código php “heredado” podría ser un gran problema para ustedes. Depende de la calidad del código y de sus habilidades para manejarlo.

Además, es casi una regla de oro que cualquier desarrollador se queje del código que no es suyo … no todo el tiempo, pero es bastante común que cuando un desarrollador hereda el código antiguo de un proyecto, no le gustará.

Si quiere salir de este vínculo, retroceda un poco y siéntense juntos. Calcule el tiempo para salir de este desastre, y una vez que tenga un plan de acción aproximado, sígalo. Entonces tienes cierta responsabilidad en ambos extremos. Si solo está golpeando el teclado sin ninguna línea de tiempo específica, entonces esa es una gran bandera roja.

Este chico no está en contacto con la realidad;

¿ha revisado su cartera de proyectos completados?

Los argumentos que está usando son un montón de basura.
php: es utilizado por su competidor en la esquina de la calle siguiente, ¿por qué entregan y él no?
“Escala”: no tiene un producto que funcione, no hay usuarios. que escala tienes e incluso si tiene una escala de Facebook [1], existen métodos técnicos para resolverlo.

Yo diría: “Necesito que se complete el requisito X antes de fin de semana, si no puede codificar php, tómese el tiempo de aprenderlo y volver. ¿Puedes hacer lo que necesitamos para completar el proyecto?
para el final de la semana, si aún no entrega, le diría “Necesito que lo haga, lo haré por otra persona”.

Notas al pie

[1] ¿Cómo escala Facebook su aplicación en PHP?

No está claro si él es realmente tu compañero si tienes la capacidad de despedirlo. Si bien tiene un punto válido acerca de que PHP es malo, tal vez la peor herramienta de desarrollo que he usado (disculpas amantes de PHP), todos los miembros de cualquier equipo deben contribuir por igual cuando sea posible. Los mejores equipos se complementan entre sí, al final, produciendo más de lo que los miembros individuales podrían.

Aquí hay un video maravilloso sobre el trabajo en equipo. Probablemente responda a su pregunta mejor que cualquier cosa que pueda, pero solo si obtiene el meta.

Primero hágale saber lo que piensa, dígale que cree que no está ayudando lo suficiente, que lo único que hace es quejarse y preguntarle si puede tomar una decisión y cumplirla.

O se queda con PHP (lo que no está mal, lo que está mal es el código heredado mal escrito, eso es lo que la gente se queja de PHP, incluido yo mismo) y listo.

O va con otro idioma y se ocupa de la integración fr34k! Ng, esas son las opciones a menos que tenga la intención de reescribir el proyecto desde cero en otro idioma.

Finalmente, si él sigue malgastando su tiempo con quejas, solo en parte, si desea trabajar, hacer un esfuerzo y seguir adelante, no puede dejar que evite que lo haga, ni dejar que reciba el beneficio de su esfuerzo con él sin hacer nada. .

Solo trata de hablar con él antes de despedirlo (si eres su jefe, e incluso si solo eres socio en el mismo nivel jerárquico, debes tratar de alentarlo para que sea una mejor persona, no para ser un niño llorón que se queja y se demora trabajo).

Opinión: sí

Si le está pagando a alguien que no está produciendo ningún trabajo, ya sea en el idioma actual o en la búsqueda de una alternativa y simplemente existe para recibir un cheque de pago, debe ir.

*Añadir*

Contraargumento a PHP: la última vez que verifiqué Facebook se ejecuta en PHP con HHVM. Escalado decentemente allí, a pesar de cualquier complicación del lenguaje.

¡Jaja! PHP es malo pero debería hacer el trabajo. Hay muchos alojamientos económicos y desarrolladores baratos con experiencia en PHP. Este es el mismo problema con Java. Puede encontrar muchos codificadores PHP / JAVA, esta es la razón por la cual las compañías eligen PHP. Pero hay otros idiomas con los que es divertido trabajar, como Ruby, Elixir o Scala. Elixir y Scala escalan bien y son agradables para trabajar. Los desarrolladores se quejan mucho pero debes enfocarte en el objetivo y no en el lenguaje que usan los desarrolladores.

Parece que es demasiado tarde para debatir qué idiomas usar.

Si PHP es lo que hay para cenar, tu pareja debería cavar y comer.

No me encanta PHP, pero cuando es hora de codificar, es hora de callarse y ponerse a trabajar.

Pude hacer un POO limpio y eficiente con PHP en Wayfair. Si deja de quejarse y simplemente lo usa, puede ser productivo.

Entonces no sé sobre disparar, pero tu colega necesita callarse y bailar.

Parece que no estamos recibiendo toda la historia aquí. Hay algunas cosas que me preocupan sobre su respuesta:

# 1 Llegaste a un sitio público antes de ir a tu “socio”.

Como emprendedor y como persona que ha ocupado algunos puestos de liderazgo, siento que puede estar en una mala asociación. ¿Existe la posibilidad de que tal vez esperes más de él de lo que él cree que eres? Quizás deba haber una mejor conversación entre ustedes dos sobre la arquitectura del sistema.

# 2 Estás devaluando el trabajo que la persona ya ha puesto en el proyecto.

Usted menciona que la persona aún no ha contribuido al proyecto, ¿significa esto que realmente es un socio o alguien que le gustaría estar en el proyecto? No hay nada de malo en llamar a alguien por su falta de trabajo, pero debes reconocer lo que han hecho correctamente antes de que puedan avanzar de una manera deseable. A todos les gustaría sentir que lo que hacen es valorado y apreciado. Eso puede ser algo que falta aquí.

# 3 Se niega a trabajar con otro idioma cuando se le da la oportunidad.

Una vez estuve en una asociación incipiente con un tipo al que llamaremos Steve. Steve y yo nos llevamos bastante bien, pero Steve y yo teníamos ideas diferentes. Quería hacerse rico y nunca trabajar. Quería construir algo hermoso y útil para nuestros clientes. Steve y yo nunca pasamos la etapa de planificación. Terminó creando algo por su cuenta que nunca tuvo éxito y yo, bueno, todavía estoy construyendo algo hermoso. A lo que estoy tratando de llegar es que si realmente quieres tener una asociación exitosa, necesitas poder compartir y crecer juntos. Hay más valor en la capacidad de que ambos tengan los mismos objetivos para el proyecto. Si usted y PHPHater17 no pueden llevarse bien en esta etapa del negocio, entonces puede ser el momento de decir que es un buen comienzo y seguir adelante. Una alternativa puede ser comprarle su trabajo y preguntarle si le gustaría ser consultor de la empresa.

# 4 La cantidad de información que nos da hace que parezca que ya ha tomado una decisión y que no necesita tomar una decisión aquí.

Quizás Quora no sea el mejor lugar para que puedas expresar tu frustración con otras personas. De cualquier manera, espero que intentes un enfoque diferente en el futuro y busques a la persona que realmente puede resolver tus problemas de esta manera, la persona con la que estás molesto.

Por la forma en que ha escrito sobre esta situación, realmente parece que su pareja está inventando excusas y que no tiene intención de hacer ningún trabajo.

Es cierto que PHP es un desastre, pero no tanto que miles de desarrolladores no pueden trabajar con él todos los días. Si es un programador calificado y no hará lo que hacen muchos otros, entonces está siendo un poco prima prima.

También podría ser que no está calificado para ser programador. ¿Hay evidencia de que haya realizado otros proyectos de codificación en algún idioma? Y quiero decir que los hizo él mismo, no solo montados en los faldones de otra persona.

Le sugiero que se siente y hable francamente con él. Pregúntele con calma y amabilidad si puede hacer este trabajo, o si necesita encontrar a alguien más para hacerlo.

Si responde lanzándose a otro de sus comentarios acerca de cuán malo es PHP, haga contacto visual y repita la pregunta suavemente. No levantes la voz, solo haz la pregunta tan abierta y sinceramente como puedas.

Esperaría que finalmente retroceda y diga: “sí”. Entonces esperaría que no lo haga. Puede acercarse a él en una semana más o menos, y si no ha hecho nada, dígale con calma que necesita completar el proyecto, así que encontrará a alguien más.

Si él no puede o no quiere trabajar en PHP, entonces no sirve de nada obligarlo a hacerlo.

Solo dile, ¿cuál es el problema? ¿Vas a ayudar con esto? Si no es así, ¿cuál será su contribución para resolver este proyecto? ¿Eres parte de la solución? Los socios reales deciden juntos cómo resolver las cosas, si son socios, tienen que estar en la misma frecuencia, si no, los negocios no irían en la misma dirección y las cosas se romperían.

Parece muy obstinado sobre el tipo de lenguaje que quiere usar.

Si el proyecto debe hacerse en PHP, sí, reemplácelo con un tipo que trabaje en PHP, resuelva problemas en PHP y quiera el trabajo.

De lo contrario, harás que este tipo se queje y se queje sobre el lenguaje e intente impulsar soluciones en lo que le resulte cómodo, y si ya tienes una base de código, entonces garantizará una reescritura que podría ser costosa a largo plazo.

¿Quién sabe? Tal vez podría hacer un mejor trabajo en su idioma de elección, pero esa es una gran elección que debes hacer desde el principio.

Si tu pareja no es un hombre en condiciones de tomar estas grandes decisiones, no lo mantendré cerca.

Realmente, las cosas de PHP son irrelevantes.

Si él no ha hecho ninguna contribución, en un período de tiempo razonable, entonces, sí, probablemente debería deshacerse de él.

Las quejas de PHP suenan más como excusas, ¿es la persona incluso capaz de hacer el trabajo?

Realmente depende de la escala de tiempo, si él no ha hecho una contribución en un día, entonces no me preocuparía, si ha pasado un mes , entonces lo despido.

Tu dices…

“¡Estás despedido!”

Eso si puedes.

Ignorar todo excepto esta línea “no se ha hecho nada”

Esa debería ser tu respuesta. Los socios están destinados a hacer cosas. Si no está funcionando, simplemente deja de ser socios. Quejarse no hace las cosas. Pierdes tiempo y dinero de esta manera.

Mi opinión sobre las alianzas es así, si no funciona desde el principio, continúe. Hoy en día camino bastante rápido. Si no hacen las cosas debido a la familia, el perro u otras cosas, colóquelas como una papa caliente.

La experiencia me dice que PHP es realmente un desastre cuando se aplica a ciertos problemas. Y sufre todos los inconvenientes de los lenguajes dinámicos.

Pero es escalable horizontalmente como un front-end web, y si bien las latencias en los marcos PHP comunes son algo con lo que podría necesitar luchar, tengo el presentimiento de que se las arreglará.

Redireccione suavemente a su socio a los problemas reales que necesita abordar, presumiblemente están en su hoja de ruta y / o en su rastreador de problemas.

Pregúntese, en este orden:

  1. ¿Por qué lo contrataste?
  2. él está haciendo lo que lo contrataste para hacer?
  3. ¿Le dijiste para qué lo contrataste?
  4. ¿Es razonable su solicitud?
  5. ¿Le diste suficiente tiempo para hacer lo que le contrataste?

A juzgar por tu pregunta, deberías despedirlo. Pero la pregunta puede tener algunos datos subyacentes que no nos contó. Entonces, realmente debe hacerse esas 5 preguntas y actuar en función de sus respuestas.

More Interesting

Soy un nuevo programador que busca entrar en el desarrollo web. ¿Con qué tecnología debo comenzar?

Quiero usar el resultado de una consulta en SQL como una tabla y agregarlo a la base de datos para poder usar esta tabla para ejecutar otra consulta. ¿Cómo lo hago?

Estoy considerando codificar bootcamps en Nueva York, particularmente para convertirme en un desarrollador de pila completa. ¿Qué bootcamp es el mejor?

Cómo evitar que el usuario final de una aplicación web cambie los valores en el tiempo de ejecución de JavaScript

Quiero crear un sitio web como GrubHub.com, ¿por dónde empiezo?

Cómo implementar código Java mientras se usa AWS

Soy nuevo en desarrollo web y acabo de aprender HTML, CSS y JS, pero de repente, cosas como Node.js, Require.js y Backbone.js se están acercando. ¿Qué son estos y por qué los necesitamos?

Construí una API de back-end y quiero mostrarla en GitHub. ¿Qué información debe contener mi archivo Léame y qué estructura debe tener?

Cómo hacer que un sitio web parezca desagradable, pero sin usuarios

¿Cuál es la mejor manera de organizar el desarrollo web cuando no eres un programador pero necesitas un sitio web bastante complejo para una nueva línea de negocios?

Necesito un plan de seis meses para convertirme en un desarrollador web de pila completa usando JavaScript. ¿Qué tengo que hacer?

JavaScript: ¿Cómo convierto la hora de la fecha UTC en horas EST utilizando Javascript puro?

Aprendí C y ahora quiero crear un sitio web como la forma más simple de Twitter usando Python. ¿Qué libros de Python me recomendarías?

Voy a aprender PHP este verano en un entrenamiento de 6 semanas. ¿Podré desarrollar un buen sitio web?

Compré música sin letra de un sitio de karaoke y quería saber, ¿puedo usarla legalmente en un sitio web sin fines de lucro?