Hace 3 años | Por ccguy a mrlacey.com
Publicado hace 3 años por ccguy a mrlacey.com

Puede parecer una pregunta razonable, pero hace algunas suposiciones terribles: líneas de código = esfuerzo, líneas de código = valor, todas las líneas de código son iguales. Nada de eso es cierto. ¿Por qué un arreglo que parece tan simple cuando se observan los cambios realizados tomó dos días para completarse?

Comentarios

porquiño

#1 contratado!!! Lástima que mi empresa no sea de informática.

B

#14 Últimamente estás on fire ioputa!!!

B

#18 lol lol lol

Pues ya llevas unos cuantos epicos, yo por lo menos me descojono, mi favorito es de los seguratas de Melbourne, dios, que grande ese.

Sadalsuud

#20 ¿Podría indicarme o mostrarme ese épico desbarre del señor Skaworld? Siento curiosidad por saber de los seguratas de Melbourne.

A

#18 Pues los míos están todos dando faena. Que se piren joder.

A

#17

Trabukero

#14 Amos que tiene que ser de MILF para arriba... A ver si así hay suerte.

porquiño

#14 jajajajaj no esperaba menos de tí.

l

#34 AAAAA que alguien me saque los ojos!!!

porquiño

#57

Puño_mentón

#34 eso sustituirá a la ballena en mis pesadillas.........dios santo......

maloconocido

#14 es un campo de remolachas?

A

#12 off topic Me hubiera gustado saber cómo se las arregló Steinmetz para localizar este fallo sin destripar el bobinado. En esta época no había frecuencímetros, ni osciloscopios ni sondas de temperatura ni... Claro que era un genio. Y lo valía, porque sino este generador habría acabado averiándose.

neotobarra2

#12 #73 He escuchado tantas versiones diferentes y hasta contradictorias de esa misma anécdota que empiezo a dudar de que realmente llegase a suceder...

D

#90 Yo la escuché con un tornillo.
Apretar tornillo, un dolar, saber qué tornillo apretar, 9.999.

l

#73 Teniendo la palabrita magica ya tienen los lo mas dificil, con una palabra tan precisa es facil busca y tener resultados.
https://www.meneame.net/search?q=steinmetz
#68 Para cosas que necesiten hora no se deberia usar UTZ? que siempre es la misma sea verano o invierno y en todo el mundo. Luego se añade la diferencia horaria local.
#44

#69 En un articulo de prensa, para la misma cantidad de texto puede haber mucha diferencia de investigación, para sacar una foto puede hacer falta viajar a otro continente y esperar horas o dias para encontrar el momento.
Para cambiar una pieza a veces hace falta desmontar medio motor para llegar a ella. Para limpiar el ventilador del portatil yo he tenido que desmontarlo entero.
#60 Hay salido unos cuanto ejemplo en meneame a lo largo del tiempo, que gente que hay automatizado una tarea y han sido despedidos no por vagos, sino porque su tarea ya no hace falta que lo haga él.
Toda buena accion sera convenientemente castigada.

maloconocido

#91 UTC

p

#12 Go to #3

#1 Y la reaccion a esa respuesta variara segun el tiempo que hayas tardado en escribir esa linea.

A

#48 Es un poco el concepto de TDD, no? Piensa primero en lo que es necesario, crea el número de tests correcto para que los UACs cumplan su cometido. Ahora simplemente, una vez comprendido el problema, haz el mínimo código necesario para que esos tests pasen.

Recuerdo una vez que estuve una puta semana con legacy code para un tema de OAuth entre diferentes aplicaciones dantescas de un monstruo de empresa que llevaba con ese código la tira de años... una puta semana... creo que la solución fueron 8 líneas de código. 0 bugs en producción. Nadie me preguntó por qué había tardado tanto. Ahora escucho esas putas preguntas del CEO constantemente, "why would you spend so much time?" Respuesta --> #1

D

#2 lol lol lol

D

#2 como persona incapaz de entenderlas te aviso de que me has ofendido

pedrobz

#40 Si eres incapaz de entender lo que dicen tus subordinados entonces no deberías estar en ese puesto...

D

#50 yo estoy enchufado

pedrobz

#62 Era obvio en cuanto soltaste "incapaz de entender"

dav

#2 A parte de la broma, también te puedes llevar dos días para quitar una línea (caso real), pero claro hasta que llegas a la conclusión de que eso es lo que hay que hacer y no poner 100 líneas nuevas y que además al solucionar tu problema no creas 20 nuevos pues...

janatxan

#4 en los mundos de yupi si, en la realidad en la que todo va por tiempos y costes no.

janatxan

#13 suerte vendiéndole esa moto a la mayoría de empresas, no hay tantas google que valoren eso, es triste si, pero es lo que hay, por eso la referencia a los mundos de yupi.

skaworld

#45 la velocidad te la aportan los años y ser metodico, a base de encontrar problemas y la solución óptima vas puliendo tu velocidad a medida que los vas aprendiendo a sortear, pero para aprender a hacerlo bien al principio necesitas tiempo (y si la cosa es nueva más tiempo)

Pero repito... Un cliente al q le chulees con errores o espaguetis no va a llamarte específicamente, uno que ve el trabajo más o menos bien si, y mi experiencia en ese mundillo fue que me la suda el objetivo de la empresa, mi objetivo es que el cliente me vuelva a solicitar específicamente. A lo largo de mi carrera tuve más de 20 empresas que me pedían por mi nombre y nunca he estado desasignado gracias creo a eso, a largo plazo compensa

D

#19 Cada día son más, y por norma general tienen más éxito. Los mundos de yupi eran hace 15 años, ahora los mundos de yupi son creer que la forma de trabajar más adecuada es la anterior de hacer la ñapa más rápida para salir del paso y tardar casi el mismo tiempo en hacerla que en explicársela a un jefe que no hace gestión porque está muy ocupado haciendo microgestion de los empleados. Y son los mundos de yupi porque cuando esa empresa caiga solo tendrás en el currículum "experto en ñapas", y las Googles que ya te digo que cada día son más tienen grandes exigencias de nivel técnico, pero les importa poco que sepas justificarte al jefe porque sus jefes gestionan el proyecto de verdad, no hacen de perros guardianes de los programadores

janatxan

#52 son mas, ¿son la mayoría? ¿son capaces de absorber la fuerza de trabajo creciente en el sector? porque esto es como el dinero, que 4 privilegiados puedan vivir de rentas no nos convierte en un país de millonarios.

D

#55 En el mundo en el que me muevo si, son mayoría. Incluso conozco a gente de consultoras que ya no usan el método antiguo, aunque en las consultoras siempre va a haber jefes jerárquicos mirando lo que hacen los programadores, algunas ya los han apartado de la microgestion. En España, colapsada por las consultoras, el cambio está siendo más lento. Pero en algún momento tendrán que plantearse por qué cada vez son menos competitivos.

Lo que digo es que es un tipo de trabajo en extinción, que los dinosaurios que se han pasado 15/20 años en una o dos de esas consultoras se creen que no hay otra forma de trabajar, pero son ellos los que están obsoletos y en mayor riesgo de quedarse fuera del mercado.

freelancer

#13 Peor aún arreglar un desastre de bug sin cambiar una línea de código, dejar a los desarrolladores mascadita la solución definitiva y tener después que explicar en comité por qué los servidores funcionan tan mal y la aplicación falla. Palabra de BOFH

y

#21 No te equivoques. Los servidores no funcionan mal porque los desarrolladores sean unos inútiles. Entienden que el problema de rendimiento es por diseño y no por carga tanto como tú.

El problema es que lo que era una prueba de concepto medio copiada de stackoverflow se acaba convirtiendo en lo que va a producción porque "total, solo es el MVP y tiene que estar listo mañana, en la actualización del siguiente sprint lo corregiremos". Y obviamente no.

freelancer

#72 No en varios casos que me han tocado. Ese caso es de desarrollador inútil, que no sabe copiar de stackoverflow. Entonces resulta que allí donde su brillante hilo recién creado ha de usar un pool común de conexiones, crea un nuevo pool de conexiones para ese hilo. Agregue carga de producción al sistema y se quedará sin puertos de conexión. "La culpa es de los de sistemas que le ponen pocos puertos al linux para que la aplicación falle". Que algunos no entienden de herencia más allá del pantalón que les dejó su hermano.

y

#77 Pues sí, en ese caso si es de inútil.

Aun así, si eso no te pasa también con tus juniors es (seguramente) porque apenas tendrás (es un puesto con muchísima menos rotación).
Entiendo que pasen ese tipo de cosas cuando la empresa necesita un senior pero no puede pagarlo y prefieres contratar 3 chiquillos recién salidos del ciclo superior que no saben ni lo que es la recursividad porque te cuesta igual y son 3

freelancer

#79 Hay miles de escenarios. En el caso que te cuento lo más triste es que son seniors, project leads y demás. Gente capaz de llegar a Director de Proyectos o a la quiebra de la empresa, lo primero que ocurra

y

#80 Yo eso estoy más acostumbrado a verlo en la parte de gestión de equipos.

En el lado técnico lo que me da la sensación que abunda entre la gente con experiencia es un ego tremendo, que se acaba traduciendo en una interminable concatenación de huidas hacia delante.

freelancer

#84 En el lado técnico lo que me da la sensación que abunda entre la gente con experiencia es un ego tremendo
"Los hijos de uno nunca son feos". Y ya está, que corrija otro, que a mí me da la risa porque mi parte esta bien.

freelancer

#79 En cuanto a rotación, estuve en una empresa donde los sysadmin salían corriendo a los seis meses; cada año dos rotaciones completas. La gente hablaba de uno que duró casi dos años allí con rango de leyenda

D

#6 En esa realidad lo importante no es que sean dos líneas sino que resuelva un problema.

janatxan

#31 si tu empresa vende una solución a 6 meses vista y tu necesitas 1 año para desarrollarla en condiciones, mas te vale ser un lince convenciendo a tu jefe de ello, que al fin y al cabo es a lo que se refiere el envío.

D

#35 No, habla de que lo entregas en 6 meses pero hay muy pocas líneas.

Incluso en tu caso. ¿Qué es más caro que entregar un proyecto 6 meses tarde? Entregar la tiempo pero lleno de errores y tener que afrontar las consecuencias de dichos errores.

Por otra parte, si se vendió un proyecto a 6 meses vista y tarda un año, el primer sospechoso es el que lo vendió. Si no tienes capacidad de reacción ante retrasos, no asumas compromisos que puedan retrasarse.

pedrobz

#44 Y lo peor es que nadie medio importante valora/comprende todo ese esfuerzo...

Idomeneo

#44 Los bugs relacionados con el tiempo son todo un clásico. Me has recordado esta lista de pifias relacionadas:

https://infiniteundo.com/post/25326999628/falsehoods-programmers-believe-about-time

f

#44 ¿Qué lenguaje es ese que no te da una excepción de formato al parsear 0.9 como entero y, especialmente, ninguna excepción al dividir por cero?

D

Porque es legacy code y me ha costado 2 dias entenderlo para encontrar el lugar correcto donde poner esas 2 puñeteras lineas

W

#7 Pero ese código hace 1 mes era El brand new code que refactorizaba el legacy code anterior

janatxan

#49 fíjate hasta que punto las cosas no son así que existe ese articulo, y ni siquiera es español (por aquello del empresauriado patrio), y poco te costará encontrar en este mismo sitio experiencias de primera mano que no van por el camino que indicas, repito que la realidad ≠ mundos de yupi.

MacMagic

Porque esto es una puta mierda hecha por monos de feria borrachos y debes dar gracias a dios que yo pueda entender como funciona por dentro ya que no se lo deseo ni a tu persona que vivas esta maldita experiencia atroz.

KimDeal

1 minuto para apretar el tornillo, 8 horas para encontrar el tornillo a apretar.

Respuesta que los idiotas que piensan que la programación es poner datos en un Excel, suelen entender.

Escheriano

Me compadezco del pobre que tenga de PO/PM a alguien que hace ese tipo de preguntas. Que en 2020 aún se sigan haciendo... Y no es cuestión de no saber por qué las cosas llevan un tiempo u otro, es cuestión de confianza en el equipo y en tu gente. Si haces esa pregunta, automáticamente estás socavando un poco la confianza.

#23 Está bien que se hagan las preguntas pero el asunto es como se preguntan las cosas. "Solo has añadido dos líneas, ¿por qué has tardado dos días en hacerlo?" es una mala pregunta. Demuestra lo poco que se valora el trabajo y al trabajador y lo mucho que se desconoce acerca del entorno.

"Otra pregunta mucho mejor sería, ¿Qué cosas has hecho para diagnosticar y solucionar este problema?".

m

#36 otra pregunta sería: "¿Cuál era el problema?" y te contesten, "No se, pero con esas líneas funciona".

mecha

Recuerdo una vez trabajar 4 horas para cambiar un 3 por un 4 por un error. Era código de otra empresa, que me dieron porque les fallaba. Después de corregirlo, les mandé el código de nuevo para cargarlo en su repositorio, y un ticket de 4h de trabajo. De hecho creo que directamente les dije que hicieran el cambio ellos depués de probarlo yo en mi equipo.
Por suerte era una empresa decente, que entiende que hay que saber que ese cambio arregla el problema, que el cambio estaba comprobado que funcionaba y que no provocará otros fallos. Eso y que era una empresa con grandes proyectos abiertos pocos problemas económicos.

C

// ****************************
// ****************************
// ** Mostramos Hola Mundo **
// ****************************
// ****************************

echo "Hola Mundo";

Ahí van 7 líneas de código. Si eso le pasa por no hacer las cosas bien

D

#78 eso fallaría. No cierras /* con */ no?

johel

solucionar el problema 5 minutos, encontrar el problema 1 hora, explicar porque he tardado una hora y 5 minutos al $boss 50 minutos.

court

E=mc2 son solo 3 letras.

Por qué se tardamos milenios en darnos cuenta?

A la persona que pregunta habría que despedirla ipso facto. Sólo alguien muy ignorante puede evaluar el conocimiento por volumen de símbolos.

Maelstrom

#46 Has encapsulado todo el envío en una frase.

Como pequeño chascarrillo, cómo se enfrentan los futuros ingenieros, físicos y matemáticos a la prepotente frase de los libros o profesores de matemáticas "dejamos la demostración como ejercicio para el lector":

- Ingeniero: corre un programa de ordenador a fuerza bruta, encuentra el patrón y se queda con la intuición que da el mismo.
- Físico: "¿qué he de demostrar? "
- Matemático: "Bah, para otro día". Al siguiente día, sale en lista de ejercicios para entregar.

x

#46 La respuesta está contenida en los decimales de Pi.

También todas las respuestas incorrectas y otras cosas diversas. El problema es saberlo distinguir.

y

Por desgracia, hasta que no llevamos un tiempo desarrollando o en un puesto cercano al desarrollo no nos damos cuenta de que escribir código es lo de menos.

Vas a pasar más tiempo leyendo código que escribiéndolo. Vas a pasar más tiempo testeando que escribiendo código. Vas a pasar más tiempo documentando que escribiendo código.

Además, darle importancia al número de líneas cuando en los lenguajes de alto nivel de hoy en día una simple variable puede ser una función que contenga toda la aplicación es simplemente ser ignorante.

D

#69 estoy de acuerdo en casi todo, en londr documentar, según mi experiencia soy el único que documenta en mi empresa

Tannhauser

Porque tienes que hacer 50K millones de pruebas, 200 GTest, 500 GMocks y mientras haces todo esto haces un git pull y te bajas código nuevo y tienes conflictos, o sacas la recortada y vas disparando contra compañeros y colaboradores o te tiras unas cuantas horas más. Según qué entornos los tiempo son 5% programando, 95% creando las pruebas y luchando contre el entorno del sistema.

D

#29 en mi trabajo 5 minutos programando 55 esperando que la máquina responda. Así durante ocho horas

Tannhauser

#74 Para mi esas situaciones son desesperantes.

D

#81 imagina mi ánimo. Si no fuera por la pandemia estaría buscando otro trabajo

Tannhauser

#83 No te llegas imaginar lo de acuerdo que estoy contigo.

D

#92 eres compañero mío?

Tannhauser

#93 lol No.

D

#95 como lo sabes?

Pablosky

#83 ¿Y porqué no estás buscando otro trabajo YA? Que la mayoría de las empresas (serias) empiezan a ofrecer 100% remoto.

D

#97 no es por eso, no me veo haciendo entrevistas ahora

dav

#74 Trabajar con máquinas con menos recursos (memoria, micro...) es algo desesperante y que además le cuestan una pasta a la empresa; es algo que no puedo llegar a entender.

Yomisma123

"Pero si es solo un botón"

Escheriano

#22 ay, la clásica con el de UX, que el tarda 2 segundos en añadir algo al diseño y los programadores tardan horas, o días.

t

#24 Ayyy, el UI/UX

AlvaroLab

#22 viví un "it's just a form!" en el que hubo que invertir unas 10 personas durante 6 u 8 meses.

p

Relacionada: http://menea.me/129e

D

Por la misma razón por la que un cohete espacial que vale millones se puede ir al carajo por solo una línea de código.

malespuces

Es de lo primero que me enseñaron cuando era junior. No tengas prisa a coger el teclado.

Antes de picar una simple línea de código piensa muy y muy bien la solución entera...

x

Mi máximo para añadir un par de líneas fué un mes.
Contexto: el programa de control de caja de cierto banco, que impreso en una pila de papel tenía 85 cm de altura. Escrito mitad PL1 y mitad en assembler.
Nadie sabía lo que hacia ese monstruo, por lo que sus sucesivas modificaciones habían complicado aún más entender que pasaba ahí dentro. Las modificaciones solían consistir en un goto hacia nuevo código que hacia la cosa nueva y luego otro goto a donde se supone que hay que estar cuando se ha acabado. Así el código antiguo seguía vivo por si había que volver a él. Ahora hay que imaginar la modificación de una modificación de una modificación. Muy bonito todo.
La mayor parte del tiempo estuvo dedicada a asegurarse de que no se rompía nada más.

D

#15 El problema es cuando dices que te va a llevar 2 o 3 días, subes lo que has hecho y es pasar de true a false una mierda y te dicen que como has podido tardar 3 días en eso, que menuda tocada de huevos y eso pasa el 99% de las veces porque tu jefe no es programador.

D

#51 O estar una semana intentando replicar un bug y que no salga, y al final es que el cliente tiene las mayúsculas puestas y el soft distingue entre mayúsculas y minúsculas, y te dice.. ahh, es que el password lo tengo todo en mayúsculas y por eso las dejo puestas. El bug es una tontería pero cuando no puedes ni replicarlo es un infierno.

Zeioth

"Because I took the time to investigate the real cause of the issue, not just looking at the symptoms"

Con poner esa, ya. Programar es una tarea de investigación.

#30 Muchas veces yo le llamo arqueología de código.

D

Las profesiones científicas son así. El que no entiende y lo ve desde fuera cree que si un tío está 8 horas al día pulsando como un loco un botón según van cambiando unas luces, está trabajando duro y bien. Sin embargo una persona brillante puede que esté durante un mes sentando, pensando y haciendo cálculos para optimizar esa tarea, y al final resulta que con las dos líneas que ha creado se multiplica por 100 la productividad, y de una forma muy sencilla. Obviamente esto en una empresa española sería motivo de despido, le echarían por vago.
Este tipo de optimizaciones es muy habitual en matemáticas, un ejemplo sería el de la multiplicación, que con una simple operación de cuatro líneas se ahorran cientos de sumas, y se reduce cientos de veces el tiempo en realizarlas y la posibilidad de equivocarse.

janatxan

Cuando sucede eso hay que, al menos, informar que la solución va a llevar un tiempo.

janatxan

#11 "Because the issue was reported with a vague description of how to recreate it."
"Because the reported issue was related to functionality, I'm not familiar with."
"Because I investigated if there were other ways of getting to the same problem, not just the reported reproduction steps."
"Because I took the time to verify if there were other parts of the code that might be affected in similar ways."
A no ser que se sea una persona que va dando bandazos y funcione con el prueba y error, con eso que se indica se sabe que se va a tardar un tiempo, no digo que sepa exactamente que va a tardar 2 días, pero seguramente sabia que no era cosa de media hora.
Por aquí arriba han comentado lo de explicar cosas a gente que no las entiende, cuando en un equipo/empresa el único que sabe de que va el tema y consideras que los demás no entienden lo que intentas explicar, el problema eres tu, no el resto del mundo, averigua como hacerte entender.

D

El código más horrible que tuve que trabajar era uno en el que tardaba media hora en compilar.Cada vez que cambiabas una linea tenías que esperar meida hora para mostrarte los errores de compilación.

c

Yo a veces le dejo a deber a la empresa. Despues de dos semanas de desarrollo, el codigo acaba con 200 líneas menos.

kmon

Más de una vez he publicado partes grandes de código que al final era una mala solución y sabía que lo iba a desechar, para a continuación publicar el bueno

j

¿Sólo dos días?, ¿cuantos test cases tenía? Lo mismo hasta fue demasiado rápido.

baronrampante

Un problema con esto es que un compañero chapucero puede presentar una solución en la mitad de tiempo y modificando cien líneas, aunque no haya entendido bien lo que estaba tocando y deje un pufo a futuro. Pues este tío, para muchos jefes, es lo más.

A

#1Pues nada. Se revisa otra vez un poco el código, se cambian dos lineas bien elegidas sin documentar ni comentar los cambios y se le devuelve al listo de turno diciendole que haber cuanto tarda el en arreglarlo.

D

Porque para que un avión funcione todo tiene que estar perfectamente calibrado, pedazo de subnormal.

Efnauj72

Hello
World!!!

D

Joder, esto está lleno de programadores !!!. A mi siempre me ha parecido una tontería equiparar el número de líneas con el trabajo realizado, hay gente que programa una línea sí y otra no para verlo más claro, ¿qué trabaja el doble ?. Además no hace falta que sean dos líneas, que falte una coma ya vale para joder un proyecto entero....

t

Total factura = 1000 euros
Tornillo = 0.1 euros
Saber que tornillo tocar = 999.9 euros

1 2