This graph shows how many times the word ______ has been mentioned throughout the history of the program.
Vamos a darle la bienvenida a Fernando de KeepCoding.
Fernando, ¿cómo estás, amigo?
¿Qué tal? Muy bien.
Pues nada, te estamos aquí esperando.
Has escuchado un poquito lo de Guillermo.
Sí, sí, estaba escuchando.
Me ha gustado mucho.
De hecho, he tomado notas incluso de algunas cosas
que me han parecido particularmente interesantes.
Notas, notas y todo. Muy bien, muy bien. Me encanta.
Notas, notas y sí.
Pues tenemos a Fernando que nos va a dar una charlita así
cortita del caos al orden, cinco virtudes para un código imbatible
y vamos a aprovechar, mientras Fernando está dando la charla,
yo voy a aprovechar para hacer un sorteito de Codely
que nos ha quedado, ¿vale?
Así estáis atentos también a la charla de Fernando
y os quedáis pegados.
Así que nada, vamos con Fernando
y luego Fernando y yo vamos a anunciar una cosa muy bestia.
Estoy nervioso. Hostia, me palpita el corazón y todo.
Va a salir aquí el tomate, el lola, en todas partes.
Madre mía.
Pero lo van a escuchar primero aquí.
Bueno, pues nada, Fernando, te dejo aquí a los mandos.
No sé si tienes alguna presentación que tengas que demostrar.
No, no, no, de una.
Madre mía, Fernando, que estás hecho un crack.
Pues os dejo con Fernando.
Venga, amigos.
Ok, pues muchísimas gracias.
Bueno, lo primero, muchas gracias por estar aquí escuchándonos
y muchas gracias a mí por invitarme otra vez,
que es siempre un placer.
Mi nombre, como ya podéis imaginar, es Fernando Fernando Rodríguez.
Soy cofundador de KeepCoding.
Tengo también 30 años de experiencia como desarrollador
y unos 20 aproximadamente como instructor.
Yo he empezado a dar clases hace ya bastante tiempo
y la cosa despegó sobre todo cuando el boom de iOS
y que di formaciones de programación para iOS en todas partes,
desde en Europa, en América Latina, en Estados Unidos,
especialmente en el área de Silicon Valley,
donde estuve viviendo también un tiempo.
Y también cuando vivía ahí, pues ayudé a varias startups
a montar equipos completos de desarrollo para iOS
y ayudé a formar el equipo de desarrollo de iOS de Facebook.
Volvieron locos, decían que todo tenía que ser móvil.
Hace bastante tiempo.
En resumen de cuentas, he conocido y he tratado con desarrolladores
en todas sus etapas de desarrollo,
desde la fase larval allá de insecto adulto con alas, escamas, antenas y demás.
Y las diferencias que notas, realmente, sorprendentemente son muy pocas.
Hay los que son buenos y hay los que son malos.
¿Y qué es lo que caracteriza a los que son buenos?
Sorprendentemente, una misma cosa.
Todos ellos siguen, son buenos profesionales,
porque siguen, sabiéndolo o no, de forma instintiva o consciente,
cinco reglas que os voy a contar aquí.
Y no solo las siguen, sino que las siguen en este orden.
Y eso es vital aquí también.
Y los que eran malos, pues, sin excepción,
o bien ignoraban algunas de estas reglas,
o, y esto es un poco sorprendente,
lo aplicaban en un orden indebido.
Es decir, el orden de los factores aquí altera y mucho el producto final.
Ok, entonces, es una de las cosas que yo insisto más.
Mis alumnos de KeepCoding creo que me centro en la formación de base.
La gente aquí viene de la nada y es un momento clave.
¿Vale?
Entonces, pero esté preparado, son cinco cosas, nada más.
Así que deja el móvil, deja hurgar en la nariz y escucha.
Son las cinco virtudes del código y del buen programador.
El buen código tiene que ser claro, correcto, eficiente, flexible y seguro.
Y el buen programador es el que las garantiza en el siguiente orden.
Y el orden puede parecer sorprendente, pero es exactamente ese.
Vamos a ver cuáles son.
Y, ojo, esto, si tú lo sigues, te distingue del 85% de la competencia.
Entonces, es algo que es muy fácil de aplicar, quizá un poco antiintuitivo,
pero si lo aplicas, destacas enormemente con respecto a tu competencia.
Claridad.
Lo primero, lo primero tiene que ser la claridad.
Tiene que ser tu primer objetivo.
Tu código tiene que ser claro, sencillo, evidente.
¿Vale?
El programador inteligente no escribe código difícil de entender.
El programador inteligente escribe código tonto, código claro, evidente,
que no tiene trucos ingeniosos, no tiene recovecos de ningún tipo.
Una cosa que es muy común que yo veo entre principiantes que ya están empezando a sentirse cómodos
y empezando a sentirse gallitos, es lo siguiente.
Siempre te traen un trozo de código, una función, lo que sea, bastante retorcida
y te dicen, ¿a que no adivinas lo que hace?
No.
No voy a adivinar lo que hace.
Si tengo que adivinar lo que hace tu código, tu código es un truño.
¿Vale?
Se tiene que entender de inmediato.
¿De acuerdo?
O otra variante es, ¿podrías hacerlo más corto?
¿Por qué?
¿Qué importancia tiene eso?
¿Cuál es la relevancia en nuestra profesión que una función sea 3, 4, 10 símbolos más cortos que otro?
No tiene ninguna relevancia y no es ahí donde tienes que poner tu ancho de banda cerebral.
Terry Adams, que es uno de los programadores más geniales y atormentados de los que he oído hablar,
el tío escribió él solo, entre otras cosas, un sistema operativo entero para comunicarse con Dios.
No me lo invento.
Y él dijo una vez una frase que a mí me gusta mucho, que es la siguiente.
Los tontos admiran la complejidad.
Los genios, la sencillez.
Así que parafraseando.
A Bruce Lee, be a genio, my friend.
Ahí es donde puedes demostrar realmente tu capacidad.
No en crear código confuso o obstruzo, es un código claro.
Hace poco me preguntaba, ¿qué es lo que había tomado nota de lo que decía Guillermo?
Simplificar es hard work.
Simplificar es lo difícil.
Es lo primero que tienes que hacer.
Entonces, busca siempre la sencillez, la complejidad.
Ya te buscará a ti, a ella sola.
No te preocupes.
Eso es lo primero.
Lo segundo, la corrección.
El segundo objetivo, y es absolutamente imprescindible, es la corrección.
Es decir, tu código tiene que hacer lo que se espera que haga.
Siempre.
¿De acuerdo?
Entonces, de nada sirve una función, digamos que es súper rápida, pero no hace lo que tiene que hacer.
O hay casos en los cuales no hace lo que tiene que hacer.
Es inadmisible.
No sirve para nada.
Y una confusión muy común es centrarse en la eficiencia antes de tiempo.
No lo haga.
Veremos adentro poco.
Entonces, ¿qué es preferible?
¿Código claro o código correcto?
Código claro.
Porque el código claro e incorrecto es fácil de entender, fácil de modificar y se podrá arreglar fácilmente.
Mientras que el código confuso, aunque correcto, ni Cristo lo entiende, no lo vas a poder modificar y en algún momento terminará siendo tirado a la basura.
Entonces, lo primero es lo primero.
¿Cómo aseguras la corrección?
Haciendo test.
Seguramente ya lo he oído un montón de veces.
Hay que hacer test.
Es una práctica esencial en nuestra profesión.
Tercero, la eficiencia.
Todo software claro y correcto debería, en la medida de lo posible, ser lo más eficiente posible.
Y esto es un extra que solo se debe de buscar y perseguir si tienes los dos primeros puntos iniciados resueltos.
Y además se ha demostrado, y hay herramientas para eso, que la función que te trae de cabeza es realmente el cuello de botella.
Si no, siempre, siempre es una pérdida de tiempo y normalmente va en perjuicio de las dos primeras características, las dos primeras virtudes del buen software y del buen programador que hemos mencionado, que es la claridad y la corrección.
¿Por qué lo digo yo?
No, porque lo dice nada menos que Donald Kant, que es un dios de la computación y es uno de los mayores expertos en algoritmia y en eficiencia computacional.
Ya lo advirtió hace un montón de años. La optimización prematura es la raíz de todos los males.
Este hombre lleva años escribiendo su obra prima, que es The Art of Computer Programming.
Él es como el autor de Juego de Tronos, pero al revés.
Este no termina porque no para nunca de escribir acá 3x4, saca otro tomo de 700 páginas casi que absolutamente indigeribles.
Entonces, aquí nadie sabe más que Donald. Entonces, vamos a hacerle caso.
Y él dice exactamente, es un tipo muy cuantitativo, está especializado en eficiencia y dice,
aproximadamente el 97% del tiempo no es necesario preocuparse por la optimización,
ya que enfocarse demasiado en optimizar pequeñas partes del código puede llevar a un diseño de software complicado y difícil de mantener.
Palabras textuales. Además, la optimización ya han hecho un trabajo enorme los programadores de los compiladores.
Tú, como programador de la aplicación, no debe de ser tu primer objetivo.
¿Vale? Es el tercero.
Es decir, por último, la eficiencia. ¿Cómo se logra?
Pues se logra usando estructuras de datos más adecuadas, algoritmos más adecuados y evitando trabajo inútil.
Normalmente en ese orden.
No debes dedicar mucho tiempo a micro-optimizaciones.
Que raspas a lo mejor, qué sé yo, 3 nanosegundos,
cuando deberías estar dedicando tu atención a otras cosas más importantes.
Luego, tenemos la flexibilidad.
Claridad, corrección, eficiencia y por último, por último no, por penúltimo, la flexibilidad.
Toda función o clase, lo que sea, clara y correcta, debería ser lo más flexible posible.
Es decir, que tú puedas reutilizarla sin mayores dificultades, sin mayores cambios.
Al igual que la eficiencia, la flexibilidad es un extra, que solo debe de ser perseguido
si tenemos los dos primeros puntos iniciales cubiertos.
Y vemos la necesidad de reutilizarla en un contexto diferente.
Nosotros siempre tenemos la tentación a la paja mental.
Ver que esto pueda, funciona, que calma.
Piensa que te están pagando.
Entonces, los test, y esto es la gran ventaja que tienen,
no solo te asegura la corrección, sino que obliga a que implementes la flexibilidad.
Porque tendrá que funcionar por lo menos en dos sitios, en el test y en el software en sí.
Entonces, de nuevo, haz test.
Es una de las mejores prácticas profesionales con las que puedes utilizar.
Y además te ayuda a distinguirte la competencia.
Esto es muy importante.
Luego, por último, que es a lo que nos deberíamos dedicar los programadores más experientes
o los que tengan ya cubiertas estas cuatro primeras partes.
¿En qué debes de enfocarte?
En algo de una importancia brutal.
Cada vez es más necesario, es más evidente cuando no le haces caso.
Y algo que te hace destacar enormemente dentro del mercado laboral es la seguridad.
No podemos seguir ignorando estos aspectos.
Es una vergüenza para nuestra profesión.
Todo software claro y correcto tiene que ser seguro.
¿Qué quiero decir con esto?
Que no debe de tener, al menos no debe de tener agujeros o fallos conocidos
que permitan a un atacante robo de datos, pérdida de información, control del sistema.
Piensa en lo que eso puede generar.
Ha habido casos, no quiero citar a nadie, pero ha habido un caso muy sonado recientemente
y constantemente están ocurriendo casos así.
Entonces, esto es cierto, es más laborioso.
A veces no está entretenido para nosotros, pero no es especialmente difícil.
Por ejemplo, en el caso del desarrollo web, que yo creo que es lo que más interesa aquí,
pues tenéis la lista de OWASP, que te indica cuáles son los 10 fallos más comunes
y cómo evitarlos en una aplicación web.
No es una lectura muy amena.
Estudiate uno por semana, uno al mes y va poniéndolo en práctica.
En 10 meses, como mucho, eso te sitúa por encima del 95 de tus competidores.
Son pocos, lamentablemente, los programadores que le dan la debida importancia a esto.
Entonces, en resumidas cuentas, crea software que te obligue a sentirte orgulloso de él,
para que cuando te enteres que la propiedad, el trabajo, la privacidad o la vida de otros dependen de él,
duermas como un niño.
Así que recuerda, claridad, simplificar es hard work, claridad, corrección, eficiencia, flexibilidad y seguridad.
Pues muchas gracias y por aquí lo dejamos.
Muy bien, Fernando.
Oye, muchas, muchas, muchas gracias por participar en la MiduConf y por compartir ahí esos preceptos
para que la gente se ponga a hacer buenas prácticas y hacer el mejor código posible.
Vamos a comentar un momentito para que la gente sepa de dónde viene Fernando,
que Fernando sabe de lo suyo y de qué...
Ay, ¿por qué no me deja compartir mi pantalla?
¿No me deja mi pantalla?
Pues no, no me deja compartir...
No me deja compartir mi pantalla.
¿Por qué?
¿Por qué no me deja compartir pantalla?
A ver, un momento, que quiero compartir mi pantalla para enseñar un poquito aquí, aquí.
Ay, mira, un momento.
Lo siento que voy a tener que poner eso por ahí en medio.
Vale, ahora sí.
El tema, que aquí lo tenemos.
Si queréis formaros con los contenidos más actualizados que tenéis, bootcamps,
un montón de formaciones de nivel, sé que ahora dentro de poco va a iniciar,
justamente ha iniciado la de aprender a programar desde cero,
pero en noviembre tenéis las de Java, Full Stack, Inteligencia Artificial,
el Full Stack Bootcamp, tenéis un montón.
Y ahora también, no sé si el de DevOps es novedoso, es de hace poco.
No, no, lleva ya bastante tiempo.
DevOps y Cloud Computing lleva bastante tiempo, sí.
Pues mira.
El que es más novedoso es quizá el de IA, que vamos a por la segunda edición,
pero el de DevOps ya lleva...
Buenísimo.
No sé decirte cuántas, pero...
Pues ahí tenéis a keepcoding.midu.link barra keepcoding
y puedes entrar y ver todos los contenidos que tienen, que tienen un montón.
Si dicen que van de nuestra parte, ¿se llevan algo?
Fernando, ¿es un descuento?
Sí, no, algo, sí.
Bueno, un descuento, no sé, o algo.
Sí, hay un descuento.
Pues nada, le decís, oye, que vais de parte de MiduDev,
por la MiduConf, y ahí tenéis un descuentito para que, nada,
ahí lo que queráis aprender, mejorar o subir de nivel, pues lo tengáis.
Y ahora vamos a anunciar, pues, una de las cosas, yo creo que más,
más brutales, más brutales, más brutales, o que a mí me hace una ilusión tremenda
y que la gente de keepcoding, pues, participa y...
O que vamos a tumbar X y todas las redes sociales, ¿eh?
No van a caer los servidores.
Os voy a pedir una cosa, la verdad.
Esto es un sueño mío hecho realidad.
Es una cosa en la que llevamos trabajando, yo qué sé, años, ¿no?
Y el hecho de que a día de hoy lo podamos hacer gracias, sobre todo,
a la gente de keepcoding, pues, es increíble.
Es increíble.
Entonces, no sé cómo explicaroslo sin...
Así que creo que voy a ir a saco.
Voy a ir a saco y os lo voy a decir directamente.
Yo os voy a decir que vamos a tener la GSConf España por primera vez en la historia.
GSConf llega a España el 1 de marzo del 2025.
La conferencia de JavaScript llega de forma oficial, presencial, a España, a Madrid.
Sí, gracias, sobre todo, a la ayuda de keepcoding.
Buscamos más patrocinadores.
Keepcoding nos está ayudando con un montón de cosas y es el sponsor principal.
Es una ayuda increíble la que nos está dando.
Al final es que podemos hacer la GSConf España gracias a la gente de keepcoding,
gracias a Fernando y a todo el equipo que hay detrás.
Y, amigos, el 1 de marzo del 2025, GSConf España abre sus puertas.
Pero, además, tengo otra sorpresa.
Y es que, gracias a la gente de keepcoding,
gracias a todo el esfuerzo que estamos poniendo por aquí,
hoy, de forma totalmente exclusiva,
podéis encontrar y podéis conseguir vuestra entrada a un precio mega especial.
Porque utilizando el cupón de miduconf os va a quitar 30 euros de la entrada.
Una entrada que incorpora, pues tienes acceso a todas las charlas,
talleres, el desayuno, la comida,
un cóctel final con networking, actividades, sorteos.
O sea, un montón de cosas.
Así que estamos súper ilusionados.
No sé, Fernando, ¿tú cómo lo ves?
Yo estoy encantado.
Para mí también es un sueño.
Yo siempre he estado convencido que España es un lugar fantástico
para hacer conferencias de tecnología.
Es cierto que nosotros hemos hecho bastantes eventos,
conferencias y tal,
pero es algo que quita normalmente tiempo de la actividad principal de la empresa.
Entonces, siempre que propongo algo, normalmente me mandan callar.
Entonces, me alegra mucho que tú hayas propuesto,
coño, tengo un aliado, vamos a sacar esto.
Yo estoy encantado, vamos.
Creo que es un proyecto muy, muy bueno.
Vamos a traer conferenciantes de primera.
Y yo creo que ya es hora de que empiezo realmente,
que vuelvan un tiempo que se hacían más conferencias de este tipo en España.
Yo creo que la pandemia frenó todo indebidamente.
Nos resistimos mucho a salir de casa,
quitarnos el pijama, la batamanta y salir al sol.
Eso es una excelente oportunidad.
Así que yo quisiera pedir muy especialmente a toda la comunidad de KeepCoding,
a alumnos, instructores, mentores,
todo el pueblo de KeepCoding,
que se anime, que se venga.
Están ya a la venta las entradas Early Bird.
Es una oportunidad muy buena para conseguir esto a un muy buen precio.
Tienes el descuento ese.
Y ya está.
Y es solo por el día de hoy.
El descuento de 30 euros lo vais a tener solo y exclusivamente por el día de la programación.
Mañana sí que va a tener descuento los que son suscriptores de Twitch,
mecenas y tal,
pero ya no existirá de nuevo este descuento que es exclusivo de hoy.
¿Vale?
Para que hoy sea el día de la programación y lo podamos celebrar por todo alto.
También os comento que tenemos dos speakers confirmados ya.
Tenemos a Javi Velasco, Tech Lead de Vercell, el séptimo empleado de Vercell,
y Carmen Ansio.
Y tenemos un montón de cositas más aquí en la página web que le podéis echar un vistazo.
Podéis ir con gente, le podéis decir a vuestra empresa que os paguen la entrada,
que para eso, para que podáis seguir creciendo.
Y para toda la gente que está preocupada, que dice,
ah, ¿y qué pasa con LATAM? ¿Qué pasa con LATAM? ¿Qué pasa con LATAM?
Pues que la conferencia, la GSConf, la vamos a retransmitir en vivo y en directo
en este canal de Twitch de forma totalmente gratuita.
Para todos, para toda la gente que esté en LATAM.
No se va a perder tampoco la GSConf porque también va a ser 100% virtual
y la vais a tener aquí, el 1 de marzo del 2025, en twitch.tv barra mi duda.
Pues Fernando, te mando...
Si puedes venir...
Sí, hombre, si puedes venir, mucho mejor, porque hay sorteos exclusivos que vamos a tener ahí,
actividades, networking, un montón de cosas.
Y ya te lo iré recordando, para que no te pierdas el 1 de marzo del 2025,
la GSConf en España, la primera GSConf de la historia que vamos a hacer en España.
Pues Fernando, te mando un abrazo enorme, muchísimas gracias por pasarte
y seguimos en contacto, ¿vale?
Que luego iremos haciendo un sorteo también de KeyCoding,
que tenemos un par de cosas para sortear
y la haremos cuando hablemos con el bueno de Freddy Vega de Platzi.
Así que te mando un abrazo, Fernando, cuídate.
Venga, un abrazo.
Hasta luego.