Usuario Senpai19899 entrega parcialmente y me vota negativamente

  • Autor Autor Tebb
  • Fecha de inicio Fecha de inicio
Estado

🔒 Este tema está cerrado para nuevas respuestas.

⏰ Solo el creador del tema puede solicitar la reapertura de sus propios temas, pero únicamente dentro de los 60 días previos a la última actualización.

Tebb

Tebb

Gamma
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Retroalimentación: +6 / =0 / -0
El usuario @Senpai19899 me ha votado negativamente y tal y como hice en el post principal:


Dejo constancia de todo por aquí para la mediación:

1. Indica que no hice el pago completo del 50% inicial.

Realicé el pago al principio del 50% por paypal:

Ver el archivo adjunto 1218368


En ningún momento Senpai me indicó que por motivos de comisiones no había recibido los $25 usd.

De todas formas, tan justo lo supe porque lo puso de forma pública en el tema del negocio, le hice otro PayPal de $5 para cubrir esas posibles comisiones:

Ver el archivo adjunto 1218370


2. Me pide que le realice el pago del 50% final cuando la entrega ha sido parcial, y la principal funcionalidad no ha sido desarrollada

El briefing que le envié al principio era este:

Hola,

Necesito que me programes una API con Slim a la que se pueda dar acceso a una tabla de una base de datos.

La tabla sería la siguiente:

1709637750506.png




Y los endpoints de la API serían:

/auth

Se le pasa:
  • usuario
  • contraseña

Devuelve:
- token

/getAntennas

Se le pasa (para filtrar resultados):
  • código (opcional)
  • operadora (opcional)
  • latitud (opcional)
  • longitud (opcional)
  • radio (opcional)
  • dirección (opcional)
  • número de resultados (por defecto 20, máximo 500)

Devuelve:
  • codigo
  • nombre
  • operadora
  • lat
  • lng
  • dirección
  • tipo
  • etiqueta
  • banda
  • tecnologias

En caso de que no se le pase nada para filtrar, devuelve resultados aleatorios.

¿Qué me costaría?

Gracias

Partiendo de este briefing, el programador entrega un proyecto que no lo cumple:

3. El programador se niega a programar parámetros porque argumenta que son opcionales

Comenta lo siguiente:
lo de los parámetros colocaste opcional y estas dando un ejemplo de pasar varios parámetros por url con funcionamiento de sql sacando un radio y cosas extras no pautadas al iniciar, ya te explique que esos parámetros con coordenadas y direcciones no funcionara con 1 tabla sin relaciones

No sé si el programador es junior, pero normalmente en un briefing, cuando en los parámetros se marcan como opcional, no indica que sea opcional su programación, sino que en el uso de un endpoint, ese parámetro puede ser opcional en una consulta. Es decir, que no hace falta utilizar todos los parámetros a la vez en una consulta.

Como ChatGPT es más imparcial que nosotros, dejo que lo explique mejor:

Ver el archivo adjunto 1218372

Por lo tanto, para que la entrega sea completa, estos parámetros deben ser programados para poder ser utilizados en una consulta, aunque sean opcionales en la consulta.

4. El programador indica que debería cambiar la estructura de la base de datos para poder implementar dichos filtros

El programador me hace las siguientes indicaciones:

varios parámetros por url con funcionamiento de sql sacando un radio y cosas extras no pautadas al iniciar, ya te explique que esos parámetros con coordenadas y direcciones no funcionara con 1 tabla sin relaciones

También así:
como te mencione las coordenadas y direcciones, no funciona mucho la idea como parámetros o filtros, cuando diseñen diferente las tablas de mysql pueden seguir el ejemplo y agregar esa funcionalidad

Tengo la suerte de ser programador senior, y sé perfectamente que para implementar los parámetros que se solicitan en el briefing no hace falta cambiar absolutamente nada de la base de datos o la tabla.

Voy a poner unos ejemplos que deberían funcionar según el briefing:

/getAntennas?operadora=orange&resultados=1

Ver el archivo adjunto 1218373

Como se observa, no limita los resultados a 1 o al número que indico. Observo en el código entregado por el programador que el número de resultados está hardcodeado a 200:

Ver el archivo adjunto 1218378


/getAntennas?lat=40.078208&lng=-2.13015&radio=10

Esta consulta debería devolver todas las antenas a un radio de 10 kilómetros de las coordenadas indicadas. El programador me comenta que eso no se puede hacer sin modificar la estructura de la base de datos, sin embargo, con una simple consulta SQL se saca:


Ver el archivo adjunto 1218381

Y aquí el resultado (98 resultados en una tabla con más de 77.000 entreadas):

Ver el archivo adjunto 1218380


5. Resumen

En mi opinión, el programador no entendió el briefing, se limitó a decirme un precio y luego no me indicó que no podía realizar el trabajo, me entregó algo incompleto, y con mucho código comentado de otros proyectos:

Ver el archivo adjunto 1218388

Pese a que posteriormente me entregó de nuevo el código habiendo limpiado todos los comentarios de otros proyectos, la funcionalidad principal sigue sin estar desarrollada.

En ningún momento me indicó que había entendido mal el briefing, y que por $50 no podía añadir las funcionalidades que se solicitaron desde un inicio. En ningún momento quiso renegociar el precio, o devolverme el dinero al no poder cumplir el briefing.

Se limitó a decir que el encargo estaba terminado y que le abone el 50% final.

Le vuelvo a pedir que porfavor, acabe el proyecto para poder utilizar los filtros, y le reitero la no necesidad de modificar la tabla para implementar dichos filtros.

Y por si queda duda: yo no me niego a pagar, de hecho le pagaría ya porque soy una persona que no tiene deudas con nadie, pero lo justo es pagar cuando se entrega el proyecto completo, no sólo una parte de él.

Gracias.
 
Esperando repuesta del usuario @Senpai19899

Algunas consideraciones:
  • Se pide a ambos usuarios subir las pruebas en un solo mensaje para hacer más sencilla su lectura 📖
  • Las aclaraciones pueden durar días o semanas dependiendo la dificultad del caso 👨‍✈️
  • Si existe un apoyo absoluto a alguno de los usuarios, es posible terminar la aclaración lo más rápido posible 🏃‍♂️
  • Al final el resultado se determinará por las opiniones de todos los que hayan participado y se hará saber en este tema 📋
  • No se recomienda mandar mensajes o pruebas por privado, todo debe quedar plasmado aquí 📝
  • Lo ideal siempre es llegar a un acuerdo entre ambos usuarios de ser posible ✅
 
A la espera de la contraparte, para emitir una opinión
 
Por ahora estoy a favor de retirar la negativa, ya que todo los que dices yo como programadora básica se que es cierto y tiene lógica sin embargo toca ver respuesta de la contra parte
 
a ver esperar a ver que responde la otra parte de este problema.
 
Hasta ahora a favor de Tebb
Mysql practicamente es un lenguaje de programación y al parecer el que acepto el trabajo desconoce muchos conceptos. Veremos que dice.
Y con respecto a lo de (opcional) todos entendimos que no es una opción a realizar o no, es opcional/necesario o no para la consulta, pero que a la vez pueda servir de filtro que funciona con o sin ese parametro.
 
Bueno solo digo que tienes argumentos pero no entiendo porque públicas eso acá pero también en el tema, dado que al aclaratoria sería solo acá a mi parecer. Pero bueno...
 
Por ahora lo único que puedo decir, es que está fantásticamente documentado. Felicidades por ello. 😳
 
No se como estará tu modelo de base de datos, pero lo veo realizable al ver tus requerimientos iniciales.

Igual estaré pendiente de la otra parte.
 
A favor de que se retire la negativa bien argumentado
 
Disponible, para los que eligen paypal recuerden las comisiones como se menciona en la publicación, se trabaja sobre requerimientos específicos dados al iniciar



Creo que acá esta la respuesta del usuario
 
La defensa de negativa más clara, concisa y prolija que vi en todo este tiempo... a favor de retirar la negativa a @Tebb, aún con diferencias de gerundio, un programador que ya tiene su tiempo entendería que "opcional" no se refiere a "si te da la gana lo haces", sino para eso ni se escribe

El tema de la comisión es algo que que puede pasarse por alto y que puede solventarse en nada de tiempo, siendo que ya se realiza el pago inicial sin problema alguno
 
La defensa de negativa más clara, concisa y prolija que vi en todo este tiempo... a favor de retirar la negativa a @Tebb, aún con diferencias de gerundio, un programador que ya tiene su tiempo entendería que "opcional" no se refiere a "si te da la gana lo haces", sino para eso ni se escribe

El tema de la comisión es algo que que puede pasarse por alto y que puede solventarse en nada de tiempo, siendo que ya se realiza el pago inicial sin problema alguno
Feliz Cumpleaños Berker, tienes razón la defensa esta muy bien realizada, si la contraparte no dice nada, estoy a favor de retirar la negativa
 
Hasta ahora a favor de Tebb
Mysql practicamente es un lenguaje de programación y al parecer el que acepto el trabajo desconoce muchos conceptos. Veremos que dice.
Y con respecto a lo de (opcional) todos entendimos que no es una opción a realizar o no, es opcional/necesario o no para la consulta, pero que a la vez pueda servir de filtro que funciona con o sin ese parametro.
Decir que "Mysql practicamente es un lenguaje de programación" es una aberración, Mysql es una base de datos que usa SQL para la extracción de datos, si hay algún lenguaje implicado aquí es SQL que sirve como ya lo dije para extraer, buscar y/o filtrar datos en una base de datos relacional.
Si esa expresión tan desafortunada fuera cierta, sería correcto decir: "MongoDB practicamente es un lenguaje de programación" y yo no veo muchas aplicaciones donde use MongoDB para escribir la business logic de una aplicación, ni Sqlite3, ni MariaDB, ni Postgress o su primo Supabase.
 
Ya para irme y como alguien que trabaja en el desarrollo de endpoints* de Lun-Vie, 8 horas al día quiero dejar algunos apuntes:

1. Cuando el demandante menciona que la API debería tener soporte para esta clase de parámetros:
"/getAntennas?operadora=orange&resultados=1"
está en lo cierto, son esenciales para obtener resultados más exactos o más cercanos a necesidades específicas no solo un recordset pre-seteado.

2. Cuando se usan mini-frameworks como Slim ("Necesito que me programes una API con Slim...") tienes el problema de que no vienen con un conjunto integrado MVC como sí lo hace Laravel por ejemplo, cito Laravel "porque todo el mundo sabe programar con Laravel" (al menos cualquier programador que dice programar con PHP debería saberlo, tampoco es muy complicado). La ventaja de usar Laravel u otro framework MVC es que no necesitas adaptarle packages extras a tu proyecto, Slim no viene out of the box con un gestor de bases de datos y eso significa mayor tiempo de desarrollo.

3. Previo a comenzar el proyecto yo siempre sugiero hacer algo que me ha funcionado: conversar. Yo que tengo años trabajando como programador y consultor trato de sugerirle opciones al contratante, algunos contratantes está abiertos a sugerencias y otros no, sino hay un ambiente de trabajo armonioso yo prefiero abstenerme, el problema es que muchos aceptan proyectos porque necesitan el dinero.

4. En este caso Tebb, a pesar de tener una mala calificación del foro: "no recomendado", es según mi opinión quien tiene la razón.


* un endpoint es básicamente una URL a la que se accede (libremente o mediante autorización) para obtener información estructurada, usualmente de una base de datos
 
4. En este caso Tebb, a pesar de tener una mala calificación del foro: "no recomendado", es según mi opinión quien tiene la razón.

Hola Oscar, gracias por tu opinión.

Sólo comentar que anteriormente no tenía el "No recomendado". Aparece en mi perfil a raíz del voto negativo de @Senpai19899
 
Hola Oscar, gracias por tu opinión.

Sólo comentar que anteriormente no tenía el "No recomendado". Aparece en mi perfil a raíz del voto negativo de @Senpai19899
Es por tu porcentaje de calificaciones.
 
Les falto comunicación para que no se confundiera ese “opcional” como algo que debería hacerse o como no, ya que si no lees con detenimiento pues es fácil pensar eso, creo que esa es la raíz que propicio esto y ese problema nace de ustedes 2 por lo tanto arreglen su problema entre los 2 y cedan en algo los 2 para que se solucione su problema y se convierta esto en un callejón sin salida.
 
Última edición:
Estado

🔒 Este tema está cerrado para nuevas respuestas.

⏰ Solo el creador del tema puede solicitar la reapertura de sus propios temas, pero únicamente dentro de los 60 días previos a la última actualización.

Atrás
Arriba