Jorge Sánchez Profile picture
Dec 6, 2022 10 tweets 4 min read Read on X
¿Escribes código utilizando el sistema 1 de pensamiento o el sistema 2?

¿Sabes que relación tienen con #tdd?

Sigue leyendo ⤵️

#SoftwareDevelopement
Nuestro cerebro es increíble.

Lo que ocurre es que a veces estamos tan convencidos de sus capacidades y sus resultados que pasamos por alto las trampas que nos hace y los errores que nos lleva a cometer.

Conocerlas y comprenderlas es fundamental para tomar mejores decisiones.
El sistema 1 de pensamiento es implícito, es el encargado de dar respuestas rápidas.

Lo hace de manera rápida y frecuente.

Lo hace de manera emocional, estereotipada y hasta subconsciente.

Es útil en tareas automatizadas como andar o pestañear y puede hacerlas a la vez.
El sistema 2 de pensamiento es explícito, es más lento y lo hace de manera racional.

En cierta medida es perezoso porque es más costoso y por eso menos frecuente.

Es lógico, calculador y va acompañado de la consciencia.

El cerebro es vago y siempre prioriza el sistema uno.
¿Por qué tenemos estos dos sistemas?

Se estima que tenemos alrededor de 60.000 pensamientos diarios, por lo tanto el cerebro necesita atajos para resolver rápidamente y con el menor gasto energético posible

La evolución nos ha diseñado para utilizar el sistema 1 frecuentemente
A nuestros antepasados les fue muy útil el sistema 1 para sobrevivir.

Es por esto que cuando paseas tranquilamente por el campo y oyes un ruido entre la maleza, te alertas como si un depredador te fuera a atacar.

Cuando la probabilidad de que sea así es escasa.
Cuando desarrollamos también podemos hacerlo utilizado el sistema 1 o el sistema 2.

¿Alguna vez cuando estabas desarrollando escuchando música y para entender un algoritmo complejo has tenido que parar la música?

Tu cerebro necesitaba pasar al sistema 2, no puede hacer las dos.
Como en el caso del depredador, el sistema 1 nos puede llevar a cometer errores.

Por eso es importante utilizar técnicas que te fuercen a utilizar el sistema 2.

Una técnica muy útil es #TDD, te mantiene en el sistema 2 consiguiendo así un código más simple y más optimo.
Si quieres aprender principios, conceptos e ideas sobre #SoftwareArchitecture #CleanCode #LegacyCode y #Testing y porque son útiles, suscríbete a mi newsletter.

Para recibirla:
xurxodev.com/#/portal/signup
Si te ha gustado este hilo comparte el primer tweet para que más gente pueda disfrutarlo.

Si no te ha gustado, comparte el primer tweet para que mas gente pueda criticarlo 😉

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Jorge Sánchez

Jorge Sánchez Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @xurxodev

Mar 20, 2023
Siguiendo la lógica de #TDD, tus primeros tests en código de producción cuando no tienes experiencia no deberían ser siguiendo TDD

[ H I L O ] ⇩
La lógica de TDD se basa un ciclo red-green-refactor basado en baby steps o pequeños pasos.

Escribes el test más sencillo

El primer step que falle.

El segundo step que funcione.

El tercer step refactor para optimizar el código

Este ciclo se repite a medida que añadimos tests
Esta lógica de ir dando pequeños pasos sigue la tercera ley de hábitos, hazlo fácil.

Es importante para construir un hábito como el de escribir test, empezar haciéndolo fácil porque en base a obtener la recompensa querrás hacer más.

Ya llegará el momento de hacer TDD.
Read 7 tweets
Mar 19, 2023
¡Ay! Pobres perros de cortijo que se creen lobos.

[ H I L O ] ⇩
Cuando yo era pequeño iba de vacaciones al pueblo de mis abuelos.

Allí hicimos un grupo de amigos y verano tras verano nos fuimos haciendo mayores juntos.

Llegó la adolescencia y con ella los ligues.

Una característica que viví fue como a alguien extraño le costaba encajar.
Por defecto, a los que son de allí de toda de la vida no les gustan los extraños.

Pero hay algo mucho peor que ser nuevo en un pueblo.

Ganarte la atención de alguien del pueblo sin haber sido aceptado todavía por la mayoría o los más populares.
Read 8 tweets
Mar 18, 2023
Las buenas ideas, patrones y principios que se usan en el desarrollo de software, ¿de dónde salen?

[ H I L O ] ⇩
A finales de 1980 @unclebobmartin comenzó a recopilar distintos principios de diseño de software.

Algunos de los principios habían sido formulados por otros colegas, por ejemplo el Principio de Sustitución de Liskov fue enunciado por Barbara Liskov y Jeannette Wing.
@unclebobmartin El Tío Bob por aquella época debatía sobre estos principios con otros colegas en USENET (una especie temprana de Facebook).

A lo largo de los años, los principios fueron cambiado.

Algunos fueron eliminados y otros se fusionaron.

Todavía se agregaron otros.
Read 7 tweets
Feb 13, 2023
El otro día me preguntarón cómo se me ocurrían tantas ideas para escribir uno o dos hilos diarios y además la newsletter semanal

[ H I L O ] ⇩
Las ideas nacen por la exposición de unas ideas a otras. Las ideas no nacen aisladas.

Me exongo a idea sde otros.

Leo y escucho mucho contenido de calidad.

El gran mito de la creatividad es pensar que necesitamos iluminarnos en un momento eureka.
No va así y lo he aprendido no hace mucho.

La creatividad nace de exponerte a ideas de otros para que copulen con las tuyas.

De sus relaciones nacen nuevas ideas tan grandes como la de los principios SOLID que no son exclusivas del tito bob.

De otra forma es imposible.
Read 5 tweets
Feb 12, 2023
Cómo aprendí de un niño a explicar desarrollo de software de una forma diferente

[ H I L O ] ⇩
Los niños tienen mucho que enseñar a los adultos.

Mi hijo cuando tenía 3 años más o menos, me enseñó explicarle las cosas.

Si, así de sencillo y de complicado a la vez.
Los padres siempre estamos queríendo enseñar cosas a nuestros hijos pero sobre todo con el primero no sabemos como hacerlo bien.

Los 3 años es una edad en la que los niños empiezan a hacer muchas preguntas.

El principal problema es que no adecuamos el lenguaje a su vocabulario.
Read 10 tweets
Feb 12, 2023
Caso de estudio:

Equipo de desarrollo de stack tecnológico .Net Core

Tienen desarrollado API Rest

Tienen problemas de errores, velocidad de desarrollo y mantenimiento de la aplicación. Me piden ayuda

Te cuento más ⬇️
A groso modo me suelo encontrar estas características:

- Capa de controladores usando MediatR para usar el patrón CQRS
- Base de datos -> Sql Server
- ORM - Entity Framework
- Pocos tests unitarios, alguno de integración y end to end
- Entidades anémicas con getters y setters sin comportamiento
- Entidades creadas siguiendo convenciones EF code first
- Handlers usando directamente el contexto de EF
Read 10 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(