¿Qué hace enojar a los desarrolladores web?

¡Impresionantes respuestas hasta ahora! Aquí está mi lista:

  • “Quiero que mi sitio web tenga chicas bailando en la página de inicio, con fuegos artificiales en cada segunda página y copos de nieve animados en otros, ¡pero debe ser elegante !”, Una cita real . Clientes que vieron algunas “campanas y silbatos” en otros sitios web y quieren calzarlos sin importar lo que pase.
  • Date prisa y espera. De vez en cuando, después de que se firma el contrato y se determina la fecha límite, termino esperando mucho tiempo a que un cliente me brinde contenido para trabajar o responda a las solicitudes de revisión. Luego, el mismo cliente quiere que las cosas se hagan CUANTO ANTES, aparentemente pensando que todo lo que hago cuando no estoy trabajando en su sitio web es sentarme en casa junto a mi teléfono esperando que llamen. No es raro esperar un par de meses. El tiempo más largo que tuve que esperar para obtener materiales en un proyecto terminado fue aproximadamente un año y medio (!), Y una vez, el cliente desapareció en medio del proyecto en el que ya invirtieron alrededor de $ 1,500, y nunca volví a saber de ellos. Otra vez, un cliente siguió requiriendo un sitio web cada vez más ambicioso durante 2 años, gastando alrededor de $ 6,000 en el proceso, solo para perder interés y renunciar antes de que se terminara.

    No, esto no está bien a pesar de que me pagaron por el trabajo que hice; me encanta diseñar sitios web y siempre pongo mi mejor esfuerzo y corazón en un proyecto … Odio que se desperdicie un gran diseño de sitio web.

  • “Pero, ¡pero $ 600 es demasiado para un sitio web para mi negocio de un millón de dólares, cuando puedo hacer que mi sobrino lo construya gratis!” Siempre respondo para no dudar en hacerme cualquier pregunta que puedan tener en el futuro, incluso si elijo a alguien más, y eso hago rediseño, recuperación de piratería, SEO y mejoras en sitios web existentes también. (De hecho, alrededor del 20% de mi negocio proviene de personas que se fueron a otro lugar, se quemaron y regresaron para que arreglara las cosas porque dejé las puertas abiertas … en ese momento, tienden a ser clientes mucho más agradables también. )
  • Ese último pago … como Nadeem, también mantengo una puerta trasera de administrador en estos días, porque ese último pago nunca llega aproximadamente el 30% del tiempo, hasta que se retira el sitio web. Curiosamente, nunca fui engañado cuando construí un sitio web para adultos, por lo general eran pequeñas empresas “respetables” no adultas.
  • Este es más un problema de la palma de la mano que de la ira. Alrededor del 20-30% de mis clientes pierden sus sitios web porque olvidaron pagar la factura del alojamiento . La pérdida más cara fue un sitio web que construí para un importador internacional con una enorme tienda en línea de muebles para el hogar súper caros, durante 1 año y por alrededor de $ 10,000. Estuvo en línea durante dos años. Luego, no pagaron la factura de alojamiento de $ 100 / año, esperaron alrededor de un mes para contactarme y se enojaron mucho cuando les expliqué que no podía recuperar su sitio web tal como está porque todos los cambios que hicieron al contenido se habría perdido. Y, querían que lo hiciera gratis, porque “me lo compraron y ahora no está allí”. ¿Realmente necesito mencionar que ya no están en el negocio?

    Estoy tan agradecido de haber aprendido a elegir a mis clientes con cuidado y establecer proyectos de una manera que proteja contra la mayoría de las molestias, a lo largo de los años. Todos son más felices.

Para mí, en los últimos años, han sido las continuas “bs” de las modernas “tecnologías” web que no son realmente cambios tecnológicos fundamentales. Algo de eso lo he leído de otros desarrolladores web. Algunos de ellos son súper ricos.

Mi queja principal es sobre la rotación continua de herramientas con nombres modernos que ocurre en la web. Sé que eso suena elitista, pero nubla la vista y confunde a la gente. ¿Reaccionas? ¿Eres angular? Antes de la web, su lenguaje de programación fue escrito por un científico académico que dedicó una gran cantidad de tiempo y recursos a que los editores ayudaran a escribir documentación clara y un conjunto de características exhaustivas optimizadas por Godlike Minds, mientras que resulta que gran parte de la web proviene de fuentes “de cosecha propia”. No me malinterpreten, soy un fanático de la contribución de la comunidad, la libertad de expresión y disfrutar de la informática, hacer referencias sutiles, etc., pero hay un patrón en el comportamiento cuando se trata de programación web y después de verlo permanecer sin cambios durante 20 años se está haciendo un poco largo. Todo el negocio web, y su comercialización, por parte de las manzanas, los Facebook y los Google, todo eso es siempre lo mismo, ligeramente diferente y, a menudo, un poco decepcionante.

Soy un desarrollador de PHP, supongo. Para ser honesto, soy un programador de computadoras que se metió en PHP porque parecía una buena manera de conseguir un trabajo que durara, más que solo ser el diseñador front-end, que es un trabajo que espera un cambio porque los diseños cambian y, por lo tanto, Hay desgaste del diseñador. Pero lo peor de PHP es el babytalk de frameworks que me impide hacer mi trabajo. ¿Laravel? ¿Eres Joomla, Moogle, Magento, WordPress, Cake, Zend, CodeIgniter (no tanto), Symfony, Drupal o eres un fanático de Django?

He estado haciendo la web desde 1997, cuando aprendí y escribí una página web personal en HTML y PHP por primera vez. Mi primer puesto remunerado fue en 1997 haciendo maquetas simples para un lanzamiento de inicio (duró 2-3 semanas), pero realmente no tuve un concierto a largo plazo en diseño web (y programación) hasta 1999, cuando trabajé para el ESTUDIO de Carnegie Mellon. para consulta creativa. Aprender uno nuevo ya no es un gran problema para mí, porque es “dónde pusieron eso” en lugar de “qué demonios es eso” la mayoría del tiempo, pero ningún empleador que me entreviste parece creer eso, no importa cuántos veces lo reclamo.

He tenido que analizar el árbol de arriba solo para seguir trabajando. Cada uno de estos proyectos me chupa la vida. Incluso escribí mi propio marco, pero por supuesto nadie me dejará usarlo porque ya eligieron TrendyWebFramework. Y como no “sé” eso, sea lo que sea que eso signifique, no puedo conseguir el trabajo, aunque sea irrelevante porque es cómo lo usaste , no si lo sabes . Y alguien más ya lo ha usado y ahora tengo que limpiar este desastre porque se han ido y estoy atrapado con él.

Echemos un vistazo al término “AJAX” como ejemplo, porque la web está llena de cosas de cosecha propia, pero todos conocen el término AJAX, y tiene un historial de “aparición” en los labios del desarrollador de toda la vida que probablemente ha hecho Un bien viviendo para sí mismo.

AJAX significa “Javascript y XML asíncrono” y también tiene algunas otras interpretaciones. También aparece en descripciones de trabajo para desarrolladores web. Es un término que nunca ha muerto, y está completamente en uso, pero su término técnico es XMLHttpRequest. La verdad es que el término apenas tiene sentido cuando se investigan los desarrolladores, especialmente aquellos que obviamente tienen experiencia en su currículum.

Reclutadores, gerentes de contratación y mi próximo jefe: simplemente no es necesario ni siquiera mencionar esto en la descripción del trabajo. Si está tratando de eliminar a un estudiante de primaria que nunca ha tocado una computadora de su lista de currículums, simplemente puede mirar al candidato, en lugar de molestarse en poner un letrero que diga “¿No AJAX? Ir a casa “en su publicación de trabajo.

Por supuesto, esos días son prácticamente dinosaurios debido a marcos más nuevos como angular, ¿verdad? El más nuevo que he escuchado a gente preguntando recientemente es “React.js”, que no es un proyecto nuevo pero que ha sido perfeccionado por sus cuidadores por algún tiempo. ¿Lo sabes? ¿Conoces “React.js”? ¿Cuándo fue la última vez que alguien realmente me hizo una pregunta que no era sobre: ​​una gran colección de características que usan muchos desarrolladores pero que muchos no saben bien, al menos no todo porque hay demasiadas características y siempre está cambiando? Cuando hacen una pregunta como “¿conoces a Joomla?”, ¿Eso realmente determina el estado físico de una persona? Parece un poco demasiado miope. Eso es lo que ha hecho la Web para la industria informática. Se ha convertido a las personas, en una industria que solía depender únicamente de los disquetes, contratables en base a vagas afirmaciones sobre una sopa de letras y nombres de productos falsos que en realidad son solo colecciones de middleware que resuelven la mitad de los problemas que crean.

“D3.js” se hizo grande por ahí. “THREE.js” es grande. “JQuery” fue rey durante mucho tiempo y todavía lo es de muchas maneras. Hubo otros. Es una biblioteca con un título moderno. Algunos de ellos arreglan cosas o agregan funcionalidad, pero hay mucha superposición y convergencia de características que hace que todos sepan un poco a pollo después de un tiempo.

El cuadro anterior es una locura porque nadie usa ninguno de estos “marcos PHP”, excepto algunos a la derecha. Lo que demuestra que las personas que tomaron las decisiones sobre qué usar pueden no haber tenido idea de lo que estaban eligiendo. Las cosas a la izquierda de este gráfico son hasta 1000 veces más rápidas para la misma operación (caso de prueba de Hello World) que el marco líder “Laravel” que, según el gráfico a continuación, es la “Mejor elección” para nuevos proyectos en 2016 y fue el “más popular para proyectos personales” (probablemente porque las personas que lo usaban estaban entre trabajos y necesitaban una nueva pseudo-habilidad para impresionar a los posibles empleadores).

Quizás SitePoint es parcial, pero otras fuentes dicen lo mismo de los últimos años. Lástima que Laravel obtenga puntuaciones más bajas en los puntos de referencia:

¿Quizás deberían haber contratado a un programador de computadoras en lugar de un cazador de habilidades moderno?

  1. Requisitos: trabajar en algo que no está planeado, los objetivos que no se transmiten por completo y los requisitos de cambio incesante a menudo me ponen molesto.
  2. Tiempo: marco de tiempo poco realista para completar una tarea tediosa o difícil.
  3. Remuneración: la cantidad de dinero que se paga a cambio de los servicios prestados a menudo es menor, aunque no me enoja sino que me entristece .
  4. Culpa : si se produce algún error, en lugar de críticas constructivas y la mentalidad de ayuda de la administración para resolver el error, a menudo se culpa a los desarrolladores por su incompetencia, ignorancia y la lista continúa.
  5. Exceso de trabajo: debido al corto período de tiempo para completar un proyecto, tenemos un exceso de trabajo y, a menudo, no se nos paga por el tiempo extra. Consejo: nunca te quedes tarde en tu oficina . El código escrito durante esta fase a menudo tiene errores y a menudo me pregunto si hubiera escrito un código mucho mejor al día siguiente.
  6. Compatibilidad entre navegadores: lo que a menudo funciona en Chrome, Firefox y Opera puede o no funcionar en Internet Explorer.

Nada relacionado con el desarrollo web … nunca más.

Muchas cosas solían enojarme, así que aquí hay una lista de algunas de las principales junto con por qué ya no me enojan:

  • Clientes que cambian los requisitos una vez que el proyecto ha comenzado. Ya no es un problema porque cada vez que respondo con “Ok, no hay problema. Permítanme calcular el costo adicional y la cantidad de tiempo adicional que tomará ”. En este punto, estamos de acuerdo con el costo / tiempo / trabajo adicional O lo descartan O argumentan que debería hacerlo de forma gratuita. En este último caso, ofrezco un reembolso y cancelo el proyecto. Pido un pago del 50% por adelantado para trabajar. Por lo general, cuando solicitan cambios, el sitio está más o menos construido y están viendo la vista previa, por lo que un reembolso sería su pago inicial del 50% menos las horas que ya he ingresado. Simplemente no No tiene sentido que cancelen en este punto.
  • Los clientes me tratan como si fuera porque piensan que son de una nacionalidad superior. Esto sucede mucho porque vivo en Mauricio. Soy británico y me mudé aquí porque es mucho más pacífico. Sin embargo, ciertos tipos de clientes extranjeros parecen pensar que, dado que viven en Occidente y Mauricio es técnicamente parte de África, los necesito más de lo que me necesitan a mí. Mi nacionalidad actual se vuelve irrelevante. Presionan mucho por un trabajo adicional no remunerado (para mantener el proyecto existente conmigo o por oportunidades futuras no contadas) y no prestan ninguna atención a la línea de tiempo acordada del proyecto. Esto ya no es un problema porque me he vuelto bastante bueno para examinarlos en la etapa de requisitos / cotización y rechazarlos si creo que van a ser un dolor.
  • Clientes que no pagan. Ocurre y generalmente le sucede a los clientes que no tienen idea de cómo evolucionan los sitios web y cuánto es importante su apoyo. Esto solo me ha pasado una vez, pero antes de entrar en esto déjame explicarte un poco sobre mi proceso. Construyo el sitio web en mi máquina local sin contenido (nunca hago contenido) y luego lo pongo en línea en * mi * servidor para que el cliente pruebe e ingrese su contenido. Cuando terminan de ingresar su contenido y me dan el visto bueno (es decir, el pago final), configuro su alojamiento y muevo el sitio. Siempre tengo una cuenta de administrador para cada sitio web que construyo; esto es importante para el soporte. Me da acceso a los registros, soluciono los problemas que causan en el CMS, etc. Mi inicio de sesión de administrador está oculto para el cliente para que no puedan eliminarlo o usarlo ellos mismos (tiene una funcionalidad diferente). Entonces, cuando un cliente me pide que coloque la vista previa en su servidor, no es necesario, pero si no confío completamente en ellos, construyo una “puerta trasera” en el CMS para que pueda eliminar las hojas de estilo y las plantillas accediendo un enlace que contiene un token hash (tomo algunas precauciones para que no sea posible que el enlace se abra accidentalmente). Entonces, sí, una vez que un cliente intentó joderme. Sospeché que lo haría y lo hizo. Cambió el inicio de sesión del servidor, el inicio de sesión de administrador, la contraseña de la base de datos, etc. No quería entrar en el administrador y desordenar las cosas (sería capaz de arreglarlos y me haría parecer mezquino), así que usé mi kill cambiar. Sin estilos, sin plantillas de página. Me preguntó qué pasó, así que le dije lo que hice. Me pidió que lo arreglara y le dije: “Claro. Recibiste mi última factura … ”Él nunca pagó, su plan era construir el sitio por la mitad del precio que había cotizado. IMPORTANTE: esta historia no es algo habitual. La mejor manera de evitar problemas como estos es tener buenas relaciones con los clientes. Valoro las relaciones por encima del dinero y, a menudo, trabajo gratis para las personas que me gustan (no necesariamente mis mejores clientes, sino para las personas que me gustan).
  • Clientes mintiendo. Lo hacen si les conviene. ¿Acordó construir algo en cuatro semanas por teléfono? ¿El cliente se da cuenta de que cometió un error y que necesita hacerlo antes? Sí, le dirán que las cuatro semanas son su invención, que en realidad habían dicho una semana. Sabes que es una mentira porque la línea de tiempo es ridícula y no hay forma de que hayas aceptado. Además, qué colores usar, qué diseño les gusta, qué funcionalidad es uno del sitio, etc. Todo será ilícito mentiras. Esto ya no es un problema porque incluso cuando acordamos algo por teléfono, le digo al cliente que necesito un correo electrónico antes de actuar lo que sea que hayamos dicho. Si no envían un correo electrónico, les enviaré uno que detalle lo que se ha acordado y pediré confirmación antes de hacerlo. Tengo todo en correos electrónicos. Me protege, evita que el cliente mienta (ok, estoy siendo injusto, a veces es solo un malentendido, en cuyo caso el correo electrónico lo aclara) y me permite seguir el trabajo realizado en proyectos antiguos.
  • Clientes suponiendo que no hago nada hasta que me necesiten. Quizás lo más molesto que los clientes pueden hacer. Llaman de la nada, tienes una buena conversación y acuerdas hacer un trabajo para ellos y luego no pueden entender por qué necesitas dos semanas para hacer algo que solo requiere un par de días más o menos. Sí, un desarrollador web tiene otros proyectos con plazos acordados. Les digo a los clientes que necesito las dos semanas (o el tiempo que les haya dicho), pero puedo tratar de encontrar a alguien más para ellos si lo necesitan con urgencia. En realidad, sabes qué, no tengo una solución para esto, todavía me molesta.

Debo señalar que el 99% de mis clientes son geniales. Han sido muy solidarios y muy pacientes conmigo. Cuando menciono “cliente” arriba, me refiero a los idiotas egoístas y egoístas al 1% que no tienen la habilidad suficiente para hacer algo productivo. Evitar el contacto con ellos reduce significativamente la cantidad de ira que sentirás 😉

Hazlo lo antes posible .

Esta sola línea me enoja cada vez como nada más.

No puedes construir imperios de la noche a la mañana y esperar que duren más.

Odio cuando tengo que completar una tarea en el mismo día o en unas pocas horas. ¿Cómo se supone que debo hacer maravillas en cuestión de minutos y probarlas también, además de tener la garantía de que todo funcionará bien después de alterar cientos de líneas de código?

Dame un buen rato y te daré una obra maestra, no un prototipo 😛

Hay una lista; Te lo aseguro. Pero en el día en que era desarrollador, esto realmente me molestó.

Entonces el cliente recibe una cotización y una línea de tiempo. Supongamos que la línea de tiempo es de 60 días hábiles. En esta línea de tiempo, se asignan 10 días a la estructura metálica estática IA, 15 días a la interfaz de usuario y al diseño, 35 días a la programación y las pruebas.

Ahora el equipo de diseño se toma su tiempo dulce: envía los diseños para una revisión del cliente el día 14, y el cliente comienza a comentar sobre los cambios de diseño, y después de ida y vuelta sobre el diseño, finalmente todo está bloqueado y listo para funcionar … pero en este momento se han agotado aproximadamente 40 días desde la línea de tiempo.

Ahora, de repente, se espera que los desarrolladores (la última milla) cumplan con la fecha límite, y pase lo que pase entreguen a tiempo.

Eso realmente me molestó \ U0001f621

Una vez trabajé con un cliente que esperaba que la programación se realizara en 7 días, algo que originalmente se estimó en 40 días. El comentario clásico de los clientes es: “pero, ¿cómo pueden afectar los cambios de diseño a su programación? Debería haber comenzado y cambiar las cosas más tarde según sea necesario”

De todos modos, las cosas han cambiado ahora … afortunadamente, esto ya no sucede.

  • Clientes que no conocen mi valor o el valor real de esta profesión.
  • Clientes que esperan que las cosas se hagan ‘lo antes posible’; o dentro de 30 minutos o algo así.
  • Los clientes me preguntan “¿Qué tan rápido puedes hacer esto?”. Odio escuchar esta pregunta.
  • Los clientes no tienen idea de lo que implica exactamente hacer cambios. Algunos piensan que el código solo se puede copiar y pegar con algunas modificaciones menores. Sí, a veces es posible, pero no todo el tiempo. Olvidan por completo la fase de prueba y los efectos secundarios que un código podría tener en otra cosa en su sitio.
  • La mentalidad de los clientes de que la mayoría de las cosas dentro del CMS es automática.

Tiempo limitado y libertad para explorar su creatividad.

Soggy Pizza pero tampoco quiero quemar la corteza.


Hay algunos problemas con los clientes que a veces pueden enojar a un desarrollador. El dinero es uno de los grandes.

Demuestrar una y otra vez alguna decisión que supuestamente ya han tomado es algo malo. Pero la gente hace cosas así. Un buen desarrollador tiene las habilidades de la gente para lidiar con esos problemas y peculiaridades.

Clientela. Y pruebas de navegador cruzado. Y el hecho de que la web no tiene estado. Pero principalmente clientes.

More Interesting

¿Puedes aprender todo el desarrollo web en video?

Cómo construir un sitio web profesional en WordPress

Cómo hacer una línea en Bootstrap CSS

¿Cuál es la complejidad de construir un sitio web como la Casa de la Seda de Hermes: http://bit.ly/YXmMgb? ¿Hay algún consejo?

¿Qué es mejor aprender o reaccionar como capa de vista para Meteor.js considerando el futuro?

¿Puedo agregar un reproductor de video de YouTube en mi sitio web para reproducir mis videos personalizados colocados en mi servidor, sin tener que alojar mis videos en YouTube? Si es así, ¿cómo?

Cómo asegurarse de que nadie se registre con información falsa en un sitio web

¿Cuál es el mejor CMS para construir un sitio de redes sociales?

¿Por qué el desarrollo de gemas en Ruby on Rails se está ralentizando?

¿Aprender Laravel es una buena opción? ¿O debería ir con Node.js o cualquier otro marco?

¿Dónde puedo encontrar un tema gratuito similar a Wordpress como este: http://oshine.wpengine.com/v12/?

¿Qué es un selector jQuery?

¿Cómo crean las personas estas aplicaciones que muestran una URL aparentemente genuina en Facebook y luego redirigen a un sitio web diferente al hacer clic?

¿Es realmente una codificación más eficiente en tiempo y costo en tecnologías web de código abierto?

Entonces, ¿qué necesito saber para estar en un nivel de "desarrollador web junior"? (Ese también es mi objetivo en términos de ingresar a la industria tecnológica). ¿Y cómo hago para aprenderlos?