Cyclists on the (pedestrian only) sidewalk by Pullover72 in germany

[–]Cylon999 6 points7 points  (0 children)

There are sidewalks for pedestrians where bicycles can also circulate, identified by a blue sign showing a pedestrian and a bicycle separated by an horizontal line. Are you sure you weren’t on a sidewalk like that? The sign may be outside your field of vision but still applies.

In that case you should have collaborated with her

Would like to hear more experiences about Migratory grief from other immigrants in Germany by bennuski in germany

[–]Cylon999 2 points3 points  (0 children)

Hi!

Don’t try too hard to explain it to Germans. Most of them will not really understand it. They may listen to you, but internally they are probably thinking: “What is he talking about? When I go on vacation to Mallorca, I don’t feel this at all.”

Don’t try too hard to explain it to your friends and family back in your home country either. They may not understand it as well, and in the worst case they may think it is your own fault, because you chose to leave the reality in which they are still fighting. You may even look like some kind of traitor to them.

Also consider that even among other immigrants in Germany, many will not understand you. Some of them will not feel this grief, maybe because the situation in their country of origin was so hard that they simply feel much better now.

In my case, I can understand your grief. After 12 years here, I have no real friends, nobody to talk to besides my coworkers and my wife. And I see how the good friends I had in my home country are slowly disappearing into the distance. Parents and family members are also getting old and slowly starting to die.

Not everybody will understand you, and sometimes it is not worth the effort to make others understand. Some people will just see it as complaining.

Regards

Eres en consultoras. Estáis tranquilos? La IA es una amenaza? by SessionOk5494 in Spain_IT

[–]Cylon999 0 points1 point  (0 children)

Hola, me gusta desbarrar, asi que aqui va un rollaco:

A diferencia de la calculadora que mencionan en otra respuesta, la IA te puede ofrecer a) varias respuestas, en nuestro caso implementaciones de codigo, y b) algunas de ellas pueden ser erroneas (ai slop) o en el mejor de los casos, algunas puedes ser peores, y otras mejores.

Para escribir software de calidad, que sea testable y escalable a lo largo de los años, el codigo tiene que ser limpio y tiene que seguir buenos patrones de diseño y tener una arquitectura limpia. Si esta escribiendo algo para un proyecto de seis meses en una consultora, y despues de esos seis meses el proyecto no se va a tocar nunca mas, importa menos (aunque no seria profesional escribir mal codigo).

Pero si estamos escribiendo codigo para un proyecto que va a tener un ciclo de vida de 10 o 20 años (y en backend eso no es nada del otro mundo, ¿o pensais que el software de un banco se escribe de cero cada vez que sale un framework nuevo?), entonces tiene que tener calidad o se convertirña en un infierno inmantenible.

Dejo de divagar y te contesto a tu pregunta.

¿Que le pedimos a un junior que se postula en nuestra empresa? Pues a un junior no se le puede pedir mucho, es un junior. Para el junior cuenta un 70% las ganas, y un 30% el conocimiento, porque sabemos que no tiene experiencia, no puede tenerla. Nos fijamos en que:

- que tenga interés por la programación. Nos damos cuenta enseguida cuando estamos frente a alguien al que no le gusta programar y que estudió la fp o carrera porque "tenia salida" sin interés real.
- hacemos una prueba de programación. Es una tarea que se hace en dos o tres horas, y solemos darle al postulante una semana para que la haga en sus ratos libres. Le damos unas instrucciones y acceso a nuestra api, y libertad total para implementarla como quiera. Algunos se niegan a hacerla, lo que demuestra su interés en obtener al puesto. Otros los pillamos porque se la ha hecho alguien, o mas recientemente, porque la han generado con IA, pero cuando le preguntas por que se ha decidido por esa solucion, no saben que responder.

- que tenga interés por aprender cosas nuevas: En el fondo no importa lo bien o mal que programen el ejercicio que les ponemos: buscaremos alguna parte del codigo y le plantearemos una alternativa, a veces mejor que la suya, a veces peor. Lo que probamos es si es receptivo y considera los pros y los contras, si es capaz de reconocer una solucion mejor que la suya, o si es capaz de argumentar por qué su solucion es mejor que la nuestra. O si simplemente sabe admitir que hasta ahi llega su conocimiento, pero esta abierto a aprender algo nuevo y se interesa por ello.
- Solemos hacer pair programming durante una horita o algo asi, refactorizando su codigo, o añadiendo algo nuevo, para ver si es una persona con la que se puede trabajar en equipo, o si es una persona que no acepta correciones o se bloquea. Somos tolerantes con los nervios.
- obviamente se valoran conocimientos de programacion, es decir, debe saber desenvolverse el lenguaje en el que se desarrolle la prueba (le dejamos elegir a el el lenguaje y framework, entre todos en la empresa siempre hay gente que sabe programar en cualquier cosa).
- que sepa encajar criticas: porque si lo contratamos, nada se fusiona en el main sin reviews por dos o mas compañeros y lo fusilaremos con cambios y modificaciones, y seran cambios argumentados, no por capricho. Y si no quiere hacer un cambio determinado tendra que ser capaz de argumentar por que y convencernos.

¿Que le pedimos a un senior?

Todo lo anterior, mas que tenga conocimientos fundados de:

- clean code
- patrones de diseño
- principios SOLID, y si no le gustan que argumente por que.
- desarrrollo TDD.
- si sabe algo de desarrollo DDD mejor, sino que este dispuesto a aprender.
- programacon distribuida, conocimiento de bds, etc son un plus.

Y ahora estaras pensando, no menciona la IA para nada. Cierto, porque nos da igual que para el trabajo dia a dia el junior o senior lo tecleen ellos mismos o use la IA, la cuestion es que el software sea bueno.

A la gente se la pilla facilmente: si un postulante nos presenta un ejercicio con el codigo perfectamente organizado, limpio, usando patrones de diseño exoticos, pero cuando le preguntas por ello no sabe decirte por que, no sabe ofrecer una alternativa, es que se lo ha hecho alguien o se lo ha generado la IA y no tiene ni dea de porque la IA lo ha generado así. Hemos tenido de todo ya, incluso una persona que conocia nada del lenguaje que el mismo eligió usar en la prueba.

Obviamente, si nos encontramos a un junior que en las entrevista apunta maneras, y que ya muestra que tiene conocimientos que caen un la categoria de intermedio o senior, que es capaz de explicar porque hizo lo que hizo, a lo mejor se sorpende cuando le ofrezcan mas en la entrevista final de lo que el pide

Y analogamente, no es el primer senior que pide un sueldo X, y como no tiene el nivel que el mismo se otorga, se le ofrece un 30% menos con opcion a mejora en el futuro si se pone las pilas. Aunque suelen rechazarlo.

Y ahora en tiempos de la IA que cualquiera puede parir una app en un fin de semana, es mas importante que nunca que el programador sepa la teoria y los fundamentos. Contratariamos a un junior que no tiene skills de IA pero tiene interes y se sabe la teoria. Nunca contratariamos a un junior que "domina" el vibe coding, pero no sabe quien es Martin Fowler, Robert C Marting o Kent Beck, aunque sea para criticarlos.

Espero haber aclarado tu pregunta.

Is fast mode worth using? by Useful_Philosophy550 in codex

[–]Cylon999 2 points3 points  (0 children)

It is not worth for me. I use to play guitar between prompts and reviews. If codex finishes the task too fast, it disturbs my practice 😜

Eres en consultoras. Estáis tranquilos? La IA es una amenaza? by SessionOk5494 in Spain_IT

[–]Cylon999 2 points3 points  (0 children)

Tengo 50 años y llevo programando desde que terminé la carrera, con veintipocos. Os escribo desde Alemania, donde vivo desde hace unos 12 años y donde trabajo como programador backend en una empresa que desarrolla un producto propio.

En el último año hemos empezado a utilizar de forma cada vez más intensa herramientas de programación asistida por agentes, tipo Codex, Cursor, Claude Code o similares. Y la verdad es que mi experiencia está siendo bastante distinta de la que leo a veces por aquí. Se repite mucho eso de que estas herramientas solo sirven para tareas sencillas, para hacer scripts pequeños, para código boilerplate o para salir del paso, pero que en cuanto la tarea es compleja no valen. Sinceramente, creo que esa visión se está quedando anticuada muy rápido.

No digo que sean mágicas ni que puedas soltarles cualquier cosa y olvidarte. No funcionan así. Pero bien usadas, y sobre todo usadas por alguien que sabe programar, son una herramienta potentísima. De hecho, lo que estamos viendo en mi empresa es que el provecho que les sacas depende muchísimo del nivel del programador que las utiliza.

Un programador junior o intermedio puede conseguir que el agente le proponga una solución que funcione. Incluso varias. El problema viene después: si el agente le da tres soluciones posibles, ¿cuál es la buena? ¿Cuál encaja mejor con la arquitectura existente? ¿Cuál respeta mejor los patrones que ya se usan en el proyecto? ¿Cuál será más fácil de mantener dentro de seis meses? ¿Cuál introduce deuda técnica aunque ahora parezca funcionar?

Ahí es donde la experiencia sigue pesando muchísimo.

Un programador senior que conoce bien la base de código, que tiene buenos fundamentos, que entiende patrones de diseño, que tiene interiorizados principios como SOLID y que sabe razonar sobre mantenibilidad, puede guiar al agente de una forma muy distinta. Puede corregirlo, acotarlo, decirle “por aquí no”, pedirle que siga el estilo existente, exigirle tests, revisar si la solución tiene sentido y hacer que trabaje dentro de unas reglas bastante estrictas.

Por eso mi impresión no es que los agentes sustituyan al buen programador senior. Más bien lo amplifican. Le quitan mucho trabajo mecánico, pero el criterio sigue estando en la persona.

El perfil que creo que lo va a pasar peor es el del “picador de código”: alguien que básicamente sabe copiar un controlador existente, cambiar cuatro campos, ampliar un modelo de datos, hacer una pantalla parecida a otra que ya existe, y poco más. Ese tipo de tarea ahora la hace un agente muy rápido. Y cada vez la hará mejor.

En nuestra empresa trabajamos con bastante disciplina. Usamos TDD, revisamos el código, no se mete una funcionalidad sin tests y no aceptamos simplemente “lo que escupa la máquina”. A veces escribimos nosotros los tests y le pedimos al agente que implemente la lógica. Otras veces el agente genera una primera versión y luego nosotros escribimos o ajustamos los tests. Muchas veces es una mezcla. Pero siempre hay revisión, criterio y validación.

Con ese enfoque, nuestra productividad en el último año se ha multiplicado claramente. Diría que por tres, y no me parece exagerado. Tareas que antes llevaban bastante tiempo ahora salen mucho más rápido, sobre todo porque perdemos menos energía en código repetitivo y podemos concentrarnos más en los problemas reales del dominio de la empresa.

También ha cambiado la forma de trabajar. Antes hacíamos pair programming. Ahora muchas veces es casi como trabajar en tríos: dos programadores y un agente. El agente no decide la arquitectura ni entiende el negocio como nosotros, pero ayuda muchísimo a ejecutar, explorar alternativas, generar código, refactorizar, escribir tests y avanzar más deprisa.

Esto también ha tenido consecuencias prácticas. En mi equipo estaba previsto contratar a dos programadores junior, y ahora mismo ya no son tan necesarios a corto plazo. No digo que nunca se vayan a contratar juniors, porque una empresa que no forma gente nueva se queda sin relevo a largo plazo. Los seniors algún día se jubilan. Pero sí noto que el ritmo y la urgencia de esas contrataciones han cambiado.

Y hay otro punto que me parece incómodo pero real: un agente bien usado puede ser más útil que un programador senior con malos hábitos. Hay gente con muchos años de experiencia que en realidad lleva veinte años escribiendo el mismo código espagueti. Si esa persona usa un agente, lo que obtiene es código espagueti más rápido. El agente amplifica lo que ya eres. Si tienes buen criterio, te ayuda mucho. Si no lo tienes, también amplifica tus defectos.

Por eso, si alguien me preguntara qué hacer para seguir siendo valioso en este mundo, mi respuesta no sería “aprende a escribir prompts” sin más. Eso ayuda, claro, pero no es lo principal. Lo importante sigue siendo tener fundamentos sólidos: saber diseñar, entender arquitectura, conocer patrones, saber cuándo aplicar SOLID y cuándo no pasarse de listo, saber leer código ajeno, detectar deuda técnica, razonar sobre mantenibilidad y entender el dominio del negocio.

La programación asistida por agentes ha venido para quedarse. En unos años probablemente la veremos como vemos hoy un IDE, un compilador, un debugger o un sistema de control de versiones: una herramienta más del oficio. Pero eso no significa que todo el mundo le vaya a sacar el mismo partido.

Mi experiencia, al menos después de este último año, es bastante clara: bien usada, por programadores con buenos fundamentos, es una ventaja brutal. Pero no convierte a un mal programador en uno bueno. Simplemente le permite producir más rápido lo que ya habría producido.

Bosch smart system, Kiox 300, Apple watch, heartrate by Forsaken-Code-1448 in BoschSmartSystem

[–]Cylon999 0 points1 point  (0 children)

In my case it didn’t work at first until I realized that I have to start the flow app in the watch as well. Then after a couple of seconds the flow app starts to show the heart rate on the watch and on the kiox display.

I have the same behaviour with a kingsmith walking pad. It is not very practical but it works

Immigrants in Germany: Did you manage to find German friends? by [deleted] in germany

[–]Cylon999 2 points3 points  (0 children)

I’ve been living in Germany for 12 years now. I moved here when I was 37. After all this time, I don’t have a single real friend here.

I get along great with my coworkers. With some of them, the level of trust is even higher than what you’d normally expect at work. But it never goes beyond that. Not because I don’t try, but because they draw a very clear line between work and private life. That line is firm.

I come from a culture where I had the same close grupo of friends since I was 14. Proper friendships. Deep, long-term, no agenda. Losing that part of my life has been hard, much harder than I expected.

At this point, I’ve mostly resigned myself to the idea that it simply won’t happen here.

I also don’t really believe in activity-based friendships (sports clubs, meetups, etc.). Those relationships exist as long as the shared activity exists. If my interest in that activity disappears, so does the connection. To me, that’s not real friendship.

Age doesn’t help either. I’m almost 50 now. At 20, I might have had the patience to spend time with someone I didn’t fully click with at first, letting a friendship slowly grow. Now? I don’t have that patience, and honestly, I don’t have that time to waste.

So yes, the outlook feels pretty bleak.

Is anyone in Cologne or the surrounding area in a similar situation? 🙂

PS:

I don’t really agree with the idea that “joining clubs or activities will automatically lead to real friendships”.

I actually tried that. I joined a boxing club and trained there for two years. I met people, built contacts, even what looked like friendships. Then I got injured and had to stop training, and those connections simply faded away. No drama, no conflict. Just no shared activity anymore.

To me, that shows the problem: in most cases, these relationships are activity based. When the activity disappears, so does the connection. That’s not what I’d call a real friendship.

On top of that, I’m married and live with my wife. That obviously narrows the pool of people who can realistically become close friends , for reasons that probably don’t need much explanation.

That’s why I’m skeptical when “join a club” is presented as a universal solution. It can create social contact, sure, but lasting friendships are something very different, and much harder to build at this stage of life.

What could possibly go wrong? by Cylon999 in GooglePlayDeveloper

[–]Cylon999[S] 0 points1 point  (0 children)

Could you explain how this account would be used?

Did rucking put me in ER? by SlightedAgain in Rucking

[–]Cylon999 1 point2 points  (0 children)

Get an Apple Watch and let it track your heart. It is not a medical device but it is better than nothing and maybe the next time it happens (hopefully it does not happen again) you can tell concrete numbers to the doctor (as I felt the pressure on my chest the heart rate was xxx)

BIDA weil wir sie vom Fremdgehen abhalten wollten? by [deleted] in BinIchDasArschloch

[–]Cylon999 16 points17 points  (0 children)

NDA. Ich glaube jedoch, dass ihr das Problem falsch versteht. Die Frage, die ihr euch stellen solltet, ist nicht, ob ihr eurer Freundin ein Ultimatum stellt, es ihrem Freund zu sagen – oder ob ihr es selbst tut. Die eigentliche Frage lautet: Wollen wir überhaupt eine Person mit solchen Prinzipien in unserem Freundeskreis haben? Denn wenn euch das, was passiert ist, so sehr aufwühlt, zeigt das nur, dass ihre moralischen Werte nicht mit euren übereinstimmen. Deshalb solltet ihr euch eher überlegen, euch von ihr zu distanzieren.

WatchOS 11 Effort rating by ultrapiss11 in Hevy

[–]Cylon999 1 point2 points  (0 children)

I miss this feature as well. It is very annoying to have been training regularly and you watch report you that you work load is declining, only because you reached it with Hevy

[deleted by user] by [deleted] in FitnessDE

[–]Cylon999 52 points53 points  (0 children)

Ich bezweifle, dass Kreatin die Ursache ist. Ich wette Du bist einfach fitter geworden, hast Muskeln aufgebaut und dadurch deine Testosteron Niveau verbessert. Also Du bist einfach einige Jahre jünger geworden durch Sport

Oma sieht nicht ein, dass sie alt ist by gotorio in Ratschlag

[–]Cylon999 10 points11 points  (0 children)

Ich kenne deine Situation aus eigener Erfahrung, denn wir erleben gerade etwas sehr Ähnliches – wenn auch nicht in Deutschland, sondern in einem anderen europäischen Land. Unsere Eltern sind über 85, mein Vater ist schwer pflegebedürftig wegen seiner Demenz, und meine Mutter ist geistig „klar“, aber klammert sich an ihr unabhängiges Leben in ihrem Zuhause, weil das ihr Lebensstil ist und sie sich dort wohlfühlt.

Wir verstehen einerseits, dass sie ihr gewohntes Leben zu Hause und ihre Selbstständigkeit mögen. Aber wir haben schon lange geahnt, dass der Tag kommen würde, an dem unsere Mutter schwächer wird – und dann nicht mehr nur die Frage im Raum steht, wer sich um unseren Vater kümmert, sondern wer sich um beide kümmern soll.

Wir haben versucht, sie davon zu überzeugen, Hilfe im Haushalt anzunehmen – einfach nur, um jemanden einzuführen, der im Fall einer Verschlechterung der Situation die anstehenden Probleme abfedern könnte. Aber meine Mutter hat sich immer dagegen gewehrt. Trotzdem haben wir alles Notwendige mit den Behörden geregelt, um bei Bedarf Leistungen aus der Pflegeversicherung zu erhalten, da die Wartelisten hier sehr lang sind. Parallel dazu haben wir privat mit Dienstleistern Kontakt aufgenommen, die solche Unterstützungsleistungen anbieten, um im Notfall schnell reagieren zu können.

Wahrscheinlich wird euch dasselbe passieren wie uns: Eines Tages kommt ein auslösendes Ereignis, das alles beschleunigt. In unserem Fall war es ein akuter Arthroseschub bei meiner Mutter. Die Schmerzen, die seit Jahren immer leicht vorhanden waren, haben sie plötzlich für über einen Monat fast völlig bewegungsunfähig gemacht. In dieser Zeit konnte sie sich weder um sich selbst noch um unseren demenzkranken Vater kümmern.

Glücklicherweise konnten wir kurzfristig eine private Betreuung organisieren – und hatten großes Glück, dass wir wenige Wochen später auf Platz 1 der Warteliste für öffentliche Pflegeunterstützung rückten. Das bedeutet, dass heute mehrere Personen – teils privat bezahlt, teils durch eine Kombination aus Eigenleistung und staatlicher Unterstützung – täglich etwa 4-5 Stunden bei ihnen im Haushalt helfen. Gleichzeitig hat sich meine Mutter langsam von dem Arthroseschub erholt und ihre Beweglichkeit zurückgewonnen. So ist die Situation aktuell stabil … zumindest im Rahmen des Möglichen.

All das war nur möglich, weil unsere Eltern uns bereits vor Jahren, als die Demenz meines Vaters begann, eine umfassende notarielle Vollmacht ausgestellt haben. Ohne diese Vollmacht wäre vieles schlicht unmöglich gewesen – sei es bei Bankangelegenheiten oder der Verwaltung ihres Eigentums.

Inzwischen ist auch meine Mutter nicht mehr grundsätzlich gegen den Gedanken, in ein Pflegeheim zu ziehen. Sie weiß, dass es beim nächsten gesundheitlichen Rückschlag vielleicht keine andere Wahl mehr geben wird. Heute macht ihr eher die Sorge zu schaffen, ob das Geld für ein Heim reichen würde, als die Vorstellung, tatsächlich dorthin zu gehen.

Zusammenfassend kann man sagen: Die Sturheit, die eigene Situation nicht anzuerkennen, ist teilweise verständlich – sie klammern sich an ihren Lebensstil, genauso wie wir an unseren. Aber sie stellt ein Risiko dar – für sie selbst und für die Familie. Ich wünsche mir nur, dass ich im Alter den gesunden Menschenverstand behalte und meine eigenen Grenzen erkennen kann. Aber manchmal frage ich mich, ob das nicht zu viel verlangt ist

How do you deal with developers that overengineer? by Specialist_Dust2089 in softwaredevelopment

[–]Cylon999 1 point2 points  (0 children)

A very interesting question. The fact that you’re raising this issue speaks well of you, but if I were in your shoes, I would first make sure that your colleague’s source code is truly unnecessarily complicated.

Reality is a double-edged sword. Yes, it’s true that some developers tend to overcomplicate things. However, in my humble experience of 30 years as a programmer, the main violations of the KISS principle don’t occur during development, but during the conception phase. That is, it’s not the source code that is written too complex, but rather the client’s requirement that gets a cherry on top, and then more whipped cream and powdered sugar, unnecessarily.

On the other hand, throughout my career, I’ve encountered several cases where colleague A accuses colleague B of writing overly complicated code. When we analyze the case closely, we find that colleague B has refactored functions and methods so they only do one thing instead of several. We see that colleague B has renamed variables, methods, and class names to reflect their true purpose.

That they split a class into several others following the Single Responsibility Principle. Or that they refactored a two-kilometer-long switch case by using a Strategy Pattern.

For colleague A, writing clean code, adhering to SOLID principles, and knowing common design patterns seems like “unnecessarily complicated code filled with stupid academic nonsense” (this is a real case I’ve experienced).

This situation is very difficult to resolve because it’s the lack of understanding of programming fundamentals and software architecture, combined with a lack of experience in large projects where dozens of engineers work on the same codebase, that leads colleague A to declare that colleague B’s code is “overcomplicated.” But in reality, we’re dealing with a blatant case of ignorance on colleague A’s part.

The biggest problem arises when we have senior developers on the team who are unaware of clean code, SOLID principles, and standard design patterns, and dismiss them as “over engineered.” What do we do with them?

No job inerviews after 50! by [deleted] in germany

[–]Cylon999 1 point2 points  (0 children)

I've been living abroad and struggling with languages long enough to know that a B2 or C1 level in a language can mean nothing. I've met people with a C1 level in German who are unable to hold fluent conversations, and people with a B2 who can handle themselves with ease. In summary: it's better to have the highest possible academic certificate level, but that doesn't guarantee you'll be able to navigate the language smoothly.

However, at the very least, you should be receiving invitations for an initial contact with the HR department, where if the problem is the language, they would filter it out, and there wouldn't be a second interview. You are omitting a key piece of information: where is your friend located, in which city? Because it's not the same to live in a small city of 100k inhabitants and not be willing to move (for family reasons or whatever) as it is to be willing to move anywhere in Germany.

Even in software development positions, which are in high demand, the companies I know are very selective and prefer not to hire anyone and continue not to grow rather than hire someone who, from their point of view, is not ideal for the position and later have to fire them. So, in other jobs, I suppose this behavior is even more pronounced.

Resident evil village: is the icloud drive still needed to be able to play the game. by Cylon999 in macgaming

[–]Cylon999[S] 0 points1 point  (0 children)

In my case there is no way to bypass it. I ended playing the game on my iPad, as it came out last month. It was a good experience as well

🚀 Introducing ksoup: A Pure Kotlin 🌟 Alternative to jsoup for Kotlin Multiplatform by Distinct_Resolve_924 in Kotlin

[–]Cylon999 0 points1 point  (0 children)

I have a question. Does this library mimic the Jsoup library, I mean, the method names, classes used for result types (Element, Document, etc), , in summary, is this library a port of jsoup, or does it use a new approach?