Discover and read the best of Twitter Threads about #SoftwareArchitecture

Most recents (18)

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
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
El grifo de la creatividad en el diseño de software

[ H I L O ] ⇩
En el parque donde voy con los niños hay una fuente, y esa fuente tiene un problema.

Es el mismo problema que tiene la mayoría, y probablemente tú también, para escribir código con un buen diseño.

Si crees que no eres creativo, o que no escibes código con suficiente calidad ...
... atención a esto:

El agua llega a la fuente por un largo tubo que, aunque oculto, estaba muy cerca de la superficie.

El problema esta en que el sol, en el ardiente verano de Madrid, lo convertía en un tubo lleno de agua caliente.
Read 8 tweets
El otro día me preguntaron que roadmap recomendaría alguien que esta empezando o a alguien que quiere saber más allá de frameworks.

Comparto por aquí lo que recomendé por si le sirve a alguien más

[ H I L O ] ⇩
Clean Code creo que debería ser lo primero:
- Código legible, naming
- Code smells
- Ley de Demeter
- Acoplamiento, cohesion
- Tell don't ask
- KISS
- Design patterns

Libros recomendados
Código sostenible
buff.ly/3uLdRyZ

Clean code
buff.ly/3PokPDt
El siguiente paso sería testing:
- Tipos de test
- Dobles de test
- TDD, ATDD
- Clean code en testing

Libros recomendados:

Test Driven Development: By Example
buff.ly/3e3uscx

Growing Object-Oriented Software, Guided by Tests
buff.ly/3hp3cqL
Read 8 tweets
¿Qué es lo que la gente realmente exitosa hace que la mayoría no hace?

[ H I L O ] ⇩
Muchos nos deprimimos cuando perdemos la motivación.

Pensamos que la gente exitosa tiene una reserva inagotable de pasión.

Pero la gente exitosa siente la misma falta de motivación que el resto de los humanos.
La diferencia está en que ellos encuentran la manera de seguir adelante.

La maestría requiere práctica.

Pero cuanto más practicas algo, más aburrido y rutinario se vuelve.

Una vez que las ganancias iniciales se lográn, nuestro interés comienza a desvanecerse.
Read 10 tweets
El desarrollo de software se enseña mal, muy mal!

Te lo explico ⤵️
¿Te imaginas ir a clases de música y que te enseñen a tocar solo canciones ya existentes usando su partitura?

¿Sabrías identificar las partes de las que se compone una canción y por qué?

¿podrías componer una canción?, seguramente no

Porque te han explicado solo una solución.
Es lo que se hace hoy en día enseñando desarrollo de software.

Se aprende en base a la implementación concreta de una solución de una librería de moda.

Sin conocer el problema qué resuelve, principio que aplica y otras alternativas para solucionarlo.

Se pierde la creatividad.
Read 6 tweets
¿Por qué mi newsletter no se puede ver en la web?

[HILO] ⇩
Mi amigo David, llevaba 3 años cogiendo una oferta de Movistar para clientes nuevos que incluye el pack de futbol con descuento.

¿Cómo es posible?

Muy sencillo en realidad.
Existe una oferta que para clientes nuevos. Tienen un descuento durante 3 o 6 meses, no recuerdo.

¿Qué hace cuando se acaba el periodo?

Se da de baja y se da de alta a los 3 o 5 días.
Read 9 tweets
¿Hasta donde apuntas en tu imaginación?

[ H I L O ] ⇩
Luis Piedrahita en un show preguntó a una joven sentada en la segunda fila del patio de butacas del Teatro Principal que compartiera en voz alta un sueño.

Por inalcanzable que fuera. La chica optó por un tópico: que le tocara la lotería, o mejor todavía, el Euromillón.
El monologuista le pidió que concretase más.

Que pronunciase una cantidad generosa, con la que ella considerara que ya no tendría que volver a trabajar en el resto de su vida.

La espectadora dijo 100 millones de euros.
Read 6 tweets
¿Eres desarrollador de software o eres cría de una gaviota?

AVISO: esto va a dejarte con cara de gaviota.

Te cuento ⤵️
Niko Tinbergen realizó un estudio sobre el comportamiento de las gaviotas cuya peculiaridad es un punto rojo en el pico.

Se percató de que las crías de éstas picoteaban el punto rojo de sus progenitores cada vez que estaban hambrientas.
Con este escenario, Niko creó un prototipo de pico fabricado de cartón.

Cuando puso el pico artificial en el nido, las crías de gaviota lo ignoraron. Después, colocó el mismo pico pero con un punto rojo de un tamaño similar al de las gaviotas adultas.
Read 11 tweets
Conoces el término invariante de #ddd?

Te lo explico ⤵️
Un invariante es una regla de negocio empresarial que siempre debe ser consistente.

Una invariante es una regla de negocio empresarial que siempre se tiene que cumplir, no se puede romper.
Las entidades deben validarse a sí mismas y si no se aseguran los invariantes deben fallar.
Read 6 tweets
Como nos gusta catalogar como buena o mala práctica muy rápidamente en este este sector.

Ahora parece que Trunk-Based Development es la solución divina y se habla de gitflow como si fuera el demonio.

Esta pelicula ya la he visto muchas veces, es una reposición.

Me explico ⤵️
Pasamos de catalogar de buena práctica a mala práctica solo porque es lo único que conocemos, se lo hemos escuchado a alguien o porque en mi contexto me va bien o me fue mal

Nos olvidamos de que son dos herramientas que pueden tener sus casos de uso y contextos donde aplican.
Es volver a caer en aprender en base a soluciones y no a problemas.

Igual de malo es usar gitflow como estándar en una empresa para todos los casos como lo es usar Trunk-Based Development siempre.
Read 8 tweets
¿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.
Read 10 tweets
Rescatando joyas de youtube mientras dure twitter

String Calculator kata by @ploeh

#tdd #Kata #RIPTwitter #TwitterTakeover #TwitterOFF
String Calculator kata with AutoFixture. Exercise 1
String Calculator kata with AutoFixture. Exercise 2
Read 10 tweets
I'll be posting daily mini-essays on #SoftwareArchitecture and accompanying topics like #SystemsThinking, #Modeling, #TechLeadersip. I aim to do this consistently, particularly as a writing exercise for the first 30 days (which this thread covers).

So here we start 👇
Read 3 tweets
Reading the conclusion of
#TeamTopologies again, I like to share a couple of tweet-sized quotes that stood out to me:
"To avoid software becoming even larger and eventually overwhelming a team, the size of subsystems (or components) are limited to that manageable by a single team." #CognitiveLoad
"Team structures must match the required #SoftwareArchitecture or risk producing unintended designs" #ConwaysLaw
Read 6 tweets
The progression from coding to designing architectures is the practice of refactoring the structure and behavior of elements, at increasingly higher levels of scale.

#softwareDesign #softwareArchitecture
... where system elements can be

field/ var/ param -> method/ function/ procedure -> class -> aggregate/ composite/ collection -> module/ package -> application/ service -> sub-system -> system -> system of systems

#codenewbie #systemDesign
... where at each level of scale, the goal of refactoring is to win the trade-offs between time, cost, quality

#architects #management #visionary #leadership
Read 3 tweets
the culture is more important than

the org chart is more important than

the subject matter expertise is more important than

the code and design is more important than

teh tech stack/language/framework/etc
...
in other words:

the cultural architecture is more important than

the org architecture is more important than

the conceptual architecture is more important than

the technical application architecture is more important than

the technical infrastructure architecture
Read 3 tweets
When you have two systems that need to communicate, the default for 90+% of companies is to use a shared database. (thread) #dev #programming #architecture #softwarearchitecture
Most never move off of this model, but it has disadvantages that go along with the ease of sharing data. Applications lack encapsulation and cannot adapt their data designs to suit their unique requirements.
Usually the next approach is to treat applications just like components, with exposed public APIs. However, this can result in increased down time since direct API communication between applications means if any is down, the whole thing is down.
Read 7 tweets

Related hashtags

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.00/month or $30.00/year) and get exclusive features!

Become Premium

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

Donate via Paypal Become our Patreon

Thank you for your support!