[Música] seguramente ustedes se han comprado un celular y resulta que con todo su esfuerzo pagándolo a meses que al final incluso no comieron en un mes e ven en YouTube y ven un comercial un video diciendo el top de peores celulares 2024 eso me ha pasado y creo que a todos nos ha pasado porque le dedicamos a un stack a un framework a un lenguaje de programación todo el tiempo incluso pagamos un curso y todo y resulta que alguien en Twitter o alguien en YouTube ve pues y nos muestra que según es el peor lenguaje
de programación es por eso que hoy vamos a hablar de errores y de cómo elegir tu stack tecnológico así como lo ven primero que nada y siempre la siempre inicio esto con la pregunta de si realmente me equivoqué al elegir la informática la tecnología a como mi pues como mi carrera porque al final de cuentas uno piensa que Ah sí voy a ser el hacker y voy a ser el máximo y voy a ser Mr robot pero la realidad es que puedes estar 4 horas ahí talacheando buscando un mendigo punto y coma nada más para
que al final de cuentas solo se haya sido un error tuyo que se soluciona en menos de de 2 segundos y eso créeme te va a pasar y te ha pasado y te va a seguir pasando a lo largo de toda la historia de tu carrera y tal vez ahorita te estás preguntando Oye qué pasa si me equivoqué entonces en la programación yo no quiero estar programando yo no quiero estar buscando puntos y comas o comillas o llaves para siempre Bueno hay varias opciones en el mundo de la informática esta seguridad estas redes project Man
para nada más decir cómo vamos algún blocker Y ya te vas y con eso ya tienes tu trabajo hecho No no es cierto como creen eh está de bobs también testing eh todo el tema de Hardware legaltech auditoría y muchísimo más pero tienes que tomar en cuenta que cada uno de esos tiene sus pros y contras o sea con Hardware te puedes literalmente electrocutar quemar Pregúntale a alguien que se dedica mucho al Hardware y vas a ver que tienen buen de quemaduras de cortada de un buen de cosas con testing siempre te estás peleando con
los deps con seguridad siempre te estás peleando con toda la empresa porque tienen sus contraseñas muy sencillas y muy fáciles con project management o sea básicamente es una pelea constante con todos estos errores y con todas estas cosas que pueden llegar a suceder pero entonces a ver si me equivoqué de en la carrera de programación o no Bueno ya estoy aquí okay seguimos Ya estoy aquí ahora si estás iniciando o incluso si ya tienes este background ya eres Junior y vas a pasar a senior o ya te están ascendiendo a project management a gerente arquitecta
Arquitecto de soluciones Cómo eliges un lenguaje de programación ya sea para empezar a aprender o ya sea para ponerlo en algún proyecto siempre debes de considerar uno la curva de aprendizaje tanto tú como de todo tu equipo no es lo mismo que todo tu equipo sean por ejemplo Java developers y ahora nos aventemos a hacer Android pues no El Salto no es tan grande que si por ejemplo eh Ahora vamos a hacer sistemas en bebidos con c no es lo mismo ahí El Salto va a ser mucho más grande Igualmente ponte a pensar que c
es un lenguaje más con una sintaxis más dura y más difícil de aprender que python por ejemplo hay gente que dice que python babies que python es como para nada más hablar inglés y ya Y sí tiene una sintaxis mucho más light mucho más laxa más sencilla y es más fácil de aprender Y centrarse solo en la lógica por eso debes de considerar ese aspecto dos la demanda laboral y tal vez tú estarás diciendo Oye pues es que todos saben javascript y ahorita es lo de moda Sí pero eso te puede jugar en contra también
porque ponte a pensar es como ese restaurante en tu ciudad o eso pasa mucho aquí en Ciudad de México que está demasiado demandado y entonces hay mucha gente Qué pasa que es toda esa gente es competencia también quieras o no lo es así Ahora bien tienes que ver también los usos que se le puede dar en la vida real eso sobre todo si estás empezando con un lenguaje de programación te pongo un ejemplo python es muy usado para ciencia de datos para Inteligencia artificial y todo esto porque tiene muchísimas muchísimas bibliotecas muchísimas cosas para hacer
justo aprendizaje automatizado de learning y demás yo ahí te recomiendo preguntar a otras personas y por último si te gusta el lenguaje o no Porque te pongo un ejemplo a mí a mí personalmente no me gusta tanto javascript prefiero typescript le solventa varias cosas pero no me gusta tanto lo he hecho sí he tenido que entrarle también pero no es algo que yo elija no es no me gusta básicamente que por sintaxis que por cosas de variables que por milón cosas el punto aquí es que Okay si vas a estar haciendo 8 horas de tu
vida eso pues mínimo que sea algo que medio te guste no considerando que también vas a tener estos tropiezos estas fallas Y estos errores que al final te van a hacer crecer aquí te pongo una gráfica Justo abonando a lo de la demanda y oferta de la stack overflow surb de 2023 y básicamente javascript lidera la Gráfica que es lo que más se usa y después html y ccs tú estarás preguntándote Oye pero es que esos no son lenguajes de programación de hecho tienes toda la razón pero pues al final de cuentas si haces web
de una u otra forma uses lo que uses tienes que tocar tantito de estos después sigue python aquí estarás pensando sql que hace ahí Yo te recomiendo aprender sql porque quieras o no Aunque a veces aunque no lo diga en la vacante te preguntan mucho de sql o es un nice to have tener sql después tenemos cosas como typescript csharp Java y demás aquí tienes que balancear y decir okay puedo irme por javascript porque tal vez hay más oferta pero también podría aprender otra cosa como python u otra cosa como Java u otra cosa como
csharp en donde al final de cuentas puedo estar Pues diversificando mis oportunidades para que así pueda empezar a aprender Y tenga más probabilidades de tener un trabajo Yo siempre digo que elijas un lenguaje o una herramienta en la que seas máster así super mega crack en eso y después puedas ir aprendiendo más de otras herramientas porque esas otras herramientas te van a dejar eh comer básicamente no te van a dejar morir de hambre pero ese donde eres super mega Master crack Entonces ahí es donde está el verdadero dinero Okay ahora bien todos empezamos seguro con
esto empezamos con este con esta calculadora de estatura pero tienes que saber algo Tienes que saber que este es un error típico cuando estás empezando a aprender a programar es un error de parseo básicamente ahora te debe dar vergüenza sí Por qué no pero bien lo decía r Hoffman el fundador de linkedin que si cuando sacas tu mvp Y eso va también para la gente que le interesa el emprendimiento si sacas tu mvp de cuando te da orgullo lo sacaste demasiado tarde Entonces tienes que pensar que todos todas las personas que nos dedicamos a esto
deben empezar con esto y esto puede ser un mvp para que después no sé se me ocurre que Ah okay Ya lo hice así ya medio testé la idea perfecto y esto no es solo para la gente de emprendimiento también en empresa sirve mucho hacer pequeños demos para decirle a los managers o a los clientes que y que se den una idea de cómo es funcionan las cosas y entonces tú puedes hacer este pequeño mvp que medio sirve o medio no y después tú lo que puedes hacer es ya mejorarlo Qué pasa si después eso
en lugar de nada más introducir la estatura pues hacemos algo que con la cámara con python con Open CV por ejemplo detecte la estatura simplemente con la cámara y con una relación de algún objeto podría ser algo interesante Pero qué pasa si ya hice ese proyecto ya le metí mucha este pues mucho trabajo mucho tiempo mucho dinero Qué pasa si me equivoqué de lenguaje Pues si te equivocaste de lenguaje tienes dos opciones o seguir en ese o cambiarte a otro porque al final Ya aprendiste otro es que no me gustó es que no encuentro trabajo
en este es que no es que pues me tratan mal acá ya te equivocaste sí lamentablemente es así y ahora lo que sigue es elegir algo así por ejemplo probablemente y era el ejemplo que te decía Ya aprendiste el lenguaje de programación ya te desvelaste y todo y de repente ves un video de alguien diciendo los peores lenguajes de programación y ahí está el que aprendiste duele duele de verdad porque tal vez tú te compraste tu consola con todo el esfuerzo del mundo y de repente ves a alguien diciendo es que esa es la peor
consola del mundo básicamente está invalidando lo que tú decidiste en un momento Entonces sí duele pero al final de cuentas tú sabes si te equivocaste o no y al final eso tú lo decides Y tú tal vez estarás pensando Por qué Por qué si ya tengo que pensar en el SAT tengo que pensar en mi gato que me espera en la casa tengo que pensar ahora en que tuve El peor día de mi vida y mi pareja todavía me pregunta que si sí que si sí te quiero y todo eso todavía te tengo eso me
resulta que acaba de decirme alguien de lentes y con una playera negra en una conferencia que probablemente me equivoqué de lenguaje de programa si ese es el caso primero Creo que todavía estás a tiempo para decir sabes qué lo que aprendí no lo voy a echar en saco roto como dicen o sea no lo voy a desperdiciar Más bien yo puedo usar lo que aprendí de ese lenguaje de programación para poder solventar o poder para poder complementar mis aprendizajes de otro lenguaje de programación te pongo un ejemplo si ya aprendiste c y ya le echaste
y todo y no encuentras trabajo de c tal vez si encuentres trabajo de Java y muchas de las bases que aprendiste en C en c+ más en csp te van a servir perfectamente en Java Es más si ya le sabes muy bien a c Ja va a ser un juego de niños Comparado con eso Entonces probablemente no te equivocaste Qué sigue después de elegir un este un lenguaje de programación un framework un framework en pocas palabras es como una cajita de herramientas con un lenguaje de programación así solito puedes hacer lo mismo Sí pero eh
tienes que comprar o tienes que hacer que la que el destornillador que la llave que el martillo que el taladro el framework ya trae todo eso para que te concentres nada más o en la mayoría en la lógica y en lo que vas a construir eso es un framework Okay haz de cuenta que el lenguaje de programación es tú Arm el coche y el framework ya hace el coche pero al final tú lo vas a manejar y si te das cuenta son los mismos parámetros de cómo elegir un lenguaje de programación porque a ver veamos
la curva de aprendizaje Qué pasa si toda mi gente dentro de mi equipo sabe Eh sabe angular pero yo voy a decidir hacer un proyecto quién sabe por qué en diango php en Pon Perdón por qué por qué A ver quiero hacer lo mismo ambas pueden hacer una página web Sí por qué voy a decidir diango si me va a costar más dinero más tiempo y más errores entrenar a esas personas o yo mismo aprender eso y tener una curva de aprendizaje más larga entonces pues la la más fácil sería usar angular te gusta o
no pero sería lo más sencillo lo más adecuado por lo menos para ya salir del apuro para ya operar y para que el project manager ya no te moleste con cómo vas entonces eso sería lo más ideal ahora bien como te decía Qué es un framework básicamente un framework te centra en la lógica de negocio te centra en este en los en las buenas prácticas en las convenciones y en lo que necesitas simplemente para operar para funcionar para que no te concentres por ejemplo en la conexión a la base de datos y no te mates
tanto ahí normalmente ya traen eso resuelto o ya traen algo para hacer módulos dinámicos o depende mucho del framework realmente Okay ahora bien hay muchos frameworks de todo tipo viene incluso de había un meme de que cada semana salió un framework de o una cosa nueva de javascript que hubo un tiempo en el que haí era cierto y había 10,000 soluciones para javascript pero a ver hay frameworks que puedes usar para todo por ejemplo está diango que puedes hacer páginas web robustas en python por si sabes python angular Fíjate que me pasó algo curioso yo
no yo no no me gustaba tanto angular como que le tenía una versión Pero ahorita que empecé a usarlo para un proyecto y la nueva versión 18 y todo esto le agarré cariño me gustó mucho todo el tema de este de los módulos y de los Services me gustó ó realmente no no pensé que fuera tan bueno pero pues ahí está está rubion rails está larabel hay mucha gente que le hace el fe php pero php a veces te saca de apuros muy interesantes pero con frameworks como larabel es muy bueno usarlo entonces hay frameworks
para todo y hay herramientas para todas las personas y para todos los niveles claro algunas tienen su grado de dificultad más alto pero aquí volvemos a lo mismo qué tanta demanda Y qué tanto soporte hay en eso te pongo otro ejemplo en mi primer empleo yo usaba algo llamado j2 que es un framework de php muy bueno pero tenía una curva de aprendizaje muy alta porque era difícil de usar cuando ya lo dominaba H hacías cosas rapidísimo y no había mucho soporte de comidad de comunidad entonces a veces si tenías errores había problemas así que
pues tal vez ahí un larabel un cod igniter hubiera sido una buena opción verdad ahora Eso sí tal vez por acá estaba no y Yes que volvemos a la misma tabla de las de las gráficas por aquí puedes ver a nojs a react a jquery que Cabe destacar ojo que nojs y react no son frameworks react es una biblioteca de código de javascript y nojs es un entorno de ejecución Haz de cuenta que es donde vive el código de javascript para que pueda ser ejecutado en este pues en los servidores estos dominan no porque todos
lo usen sino porque hay muchas soluciones que lo integran te pongo un ejemplo para tú usar angular aunque no lo uses en servidor y todo eso para el backend usas no y Yes para todo el tema de npm y demás para todo el tema de compilación Si suena raro en javascript pero sí se usa lo usas mucho y por ahí está y query Y si te das cuenta jquery puedes decir Oye es que eso ya está en desuso sí pero hay muchos sistemas Legacy muchos sistemas que a las empresas les está les costaría mucho tiempo
y dinero migrar o que por alguna u otra razón no migran y aún están esos sistemas teniendo la necesidad de ser mantenidos Entonces ahí es donde entran estas herramientas o estos estos lenguajes que parecen viejos o sea hace poco di clases de visual basic 6 en 2024 tú te trata de buscar cursos de visual basic 6 y no hay me fue un dolor de cabeza para mí porque incluso es tan viejo que no lo podía ni capturar con obs con eso te digo todo no se veía absolutamente nada lo que tuve que hacer para dar
esos cursos fue poner la pantalla así más grande y usar mi celular porque no lo capturaba nada así de viejo es visual basic 6 como te decía pues nojs y react no son frameworks es cabe aclarar Aunque ojo hay gente que se equivoca en eso y está bien no pasa nada no No tampoco sean demasiado lavos entre ustedes Ahora qué pasa si me equivoqué de framework Qué pasa si ya le dediqué horas y tiempo y dinero y sudor y sangre literalmente a a a react incluso a bulles a diango y resulta que no me funcionó
no me gustó no encuentro trabajo de eso bueno Lamentablemente eso es solo una parte de un stack tecnológico porque un stack tecnológico no solo es un lenguaje de programación es todo lo que hace funcionar una aplicación así de sencillo un ejemplo es un coche qué es lo que hace funcionar el coche todo eso el motor la transmisión los frenos las llantas es un stack tecnológico qué necesitas para hacer unos hotcakes la harina huevos mantequilla leche bueno normalitos no todo eso es su stack o sea lo que necesita para funcionar Y entonces ya tenemos un backend
y ya tenemos un frontend supongamos que vamos a suponer que tenemos un backend en csp y un frontend en javascript lo primero que debes de hacer para elegir un stack es definir qué es lo que necesitas y para qué lo vas a usar te pongo un ejemplo tomemos por ejemplo Call of Duty Call of Duty Mobile o Call of Duty del que sea para la gente que ha usado Call of Duty seguro eh después les ves que después tienen sus métricas de cuánto le atinaron puntería Y cuánta gente le hicieron Kill y todo esto sí
cómo crees que sacan eso pues de todos los balazos que das con tu arma ahora bien Cuántos balazos al minuto al segundo dan muchísimos ahora por eso multiplícalo por todos los jugadores en esa partida ahora multiplícalo por todos en esa región y luego por todos en todo el mundo son muchísimas balas virtuales disparadas Cómo registras eso para que cada persona Tenga sus datos Pues de perfil y sus estadías y sepa que también se desempeña en ese jugador en ese juego o simplemente si no le sabe Okay bueno tienes que elegir por ejemplo una base de
datos rápida sql no O sea sí lo enseñan todo y te dije que lo aprendieras pero no es tan rápido un squel Server un my sequel no son tan rápidos ahí podríamos irnos a un Casandra a un db que tienen lectura y escritura mucho más rápidas porque necesito escribir pero a la velocidad de la luz y tal vez para el perfil para la información del nombre de la fotito de perfil y todo Ahí si uso un sql Por qué Porque no es información que tenga que leer o escribir a tanta velocidad todavía me falta el
entorno de ejecución dónde va a vivir esto porque si es el backen en javascript necesito no js necesito dónde va a vivir Necesito un apache un engin un Server BS ente dónde se va a ejecutar ahora Necesito algo de testing porque ni modo que lo aviente así y a ver si los usuarios se encuentran errores No si eso lo haces lo que va a pasar es que tus usuarios se van a saltar tus pagos se van a saltar esto y va a haber problemas va a haber problemas de seguridad va a haber problemas de muchas
cosas hay muchas soluciones de testing para cada framework para cada lenguaje de programación Incluso frameworks como angular por ejemplo ya traen su solución de testing en bebida ahí así que pues tienes que considerar eso y tienes que considerar el control de paquetes pip o anacon en el caso de python eh el de Java que justo ahorita se me olvidó el nombre pero lo saa mucho en Android npm por ejemplo para javascript hay muchos manejadores de paquetes que tienen sus pros y sus contras y luego viene el servicio de nube Qué pasa si no tengo mis
propios servidores bueno puedo elegir entre los diferentes que hay y cada uno tiene sus pros sus contras sus costos y todo hay diferentes stacks que todavía puedo usar como base por ejemplo uno que funciona bien para lectura rápida y escritura rápida de cosas es el stack min min viene del acrónimo de Express para el backen o sea para la este para la Api y todo angular para el Front o sea para lo que ve el usuario y noves porque ahí va a vivir Express para el backen y también se usa para angular es bueno sí
se usa mucho también lo puedo usar claro es usable y es compatible y hay bibliotecas y hay soluciones que te conectan superrápido a todos estos está el stack mern que es lo mismo nada más que quitando angular y poniendo react que sí ya sé que no es un framework pero pues te sirve mucho para hacer componentes moditos hacer tu frontend básicamente y mucha gente como lo vimos en las gráficas anteriores sabe react Entonces tal vez no me cueste tanto si tal vez Voy a contratar no me cueste tanto encontrar gente que le sepa react Y
ese es el punto si ya llegas a un punto de project management de senior developer te toca elegir estas cosas te toca decidir entre Qué servicio de nube me voy dependiendo del costo dependiendo de sus funcionalidades dependiendo de sus recursos que me den dependiendo del framework que puedan soportar dependiendo también de la demanda que haya en el mercado lo más fácil sería irse por lo más demandado que hay y sería más fácil encontrar o qué tal si busco en mi misma empresa y puedo ver si gente developers de otros departamentos pueda migrarlos a este proyecto
y puedan aprender más fácil o ya tengan ese conocimiento eso es algo que debemos de considerar porque siempre que contratas a alguien es los primeros tres meses no va no va a funcionar a su máxima capacidad Y entonces va a este va a costarte más tanto en tiempo como en dinero y al final esos son costos y al final eso va repercutiendo en tu proyecto Y ahora cómo elijo base de datos lo mismo qué necesitas hubo un caso que me acuerdo bastante cuando estaba en Microsoft no puedo decir mucho del cliente ya saben por n
y todo eso o sea acuerdos de confidencialidad pero básicamente todo lo estaba muy lento el sistema y ya investigando pensamos que era el el código pero en realidad era la base de datos Entonces cuál fue la solución hacer como una pre búsqueda en redis on cache guardada en redis que eso se lee superrápido y con eso aceleramos esto también por ahí estaba como una cosa de que hacía mucho cálculo y tardaba mucho y usamos databricks y con eso ya podía solucionar este tema pero nos tocó hacer pequeños demos Nos tocó investigar Nos tocó probar Nos
tocó ver si todo esto era compatible Y sí ya cuando todo está armado como normalmente te va a pasar en una empresa Cuando entras o cuando eres recién egresada egresado pues te toca te toca ya lidear con un stack con un proyecto ya hecho y ahora qué pasa si me equivoqué en la base de datos Qué pasa si me equivoqué en todo eso qué pasa si me equivoqué en la nube por ejemplo Qué pasa si elijo una nube inadecuada que si te das cuenta los parámetros para elegir una nube son los mismos solo cambias para
elegir performance y funciones qué pasa con todo eso hay muchas nubes y muchas tienen sus recursos y sus usos y sus este sus parámetros muy iguales o sea puedes hacer más o menos lo mismo entre todas Pero qué pasa si me equivoqué de nu Qué pasa si ya me equivoqué en el lenguaje en el framework en la base de datos en la nube en todo y todavía falta más Qué pasa si Necesito hacer un patrón de diseño una arquitectura definir otros frameworks unas convenciones name Convention tag Convention comit Convention Hay muchísimas cosas que no solo
son vomitar código que no solo son copiar y pegar de chat gpt y todavía necesito no fallecer en el intento todavía no necesito necesito preocuparme por no quedarme calvo y Qué pasa si me equivoqué de carrera has considerado eso qué pasa si pues digo Sabes qué es Mucho estrés y mucho y cosa horrible para mí bueno Qué pasa si me equivoqué al nacer es que no nací en la época donde los terrenos estaban baratos y es que mis papás ya a los 20 años tenían 10 terrenos y cinco casas y 10 perros lo que pasa
es que te da ansiedad pero justo con esa ansiedad tienes que aprender que esos errores son parte de la vida y que aprendes porque aprendes con esos errores porque al final nadie nace Sabiendo todo esto y te tienes que equivocar y te tienes que ensuciar y te tienes que caer y raspar las rodillas para aprenderlo Y es que así es la vida el único error que sí deberías temer es no aprender de tus errores porque al final de cuentas todos nos equivocamos si elegiste el stack Tecnológico no adecuado para tu organización todavía se puede cambiar
Si estás en la demo todavía se puede Y todavía se puede migrar y todavía podemos hacer más Pero al final de cuentas tanto las organizaciones como los softwares como todo están llenos de errores porque los hicieron humanos humanos llenos de errores Así que yo te invito a permitirte ser humano humana a permitirte aprender de los errores a recordarte bastante bien Que sigas a pesar de que te equivoques y sobre todo que recuerdes muy bien que todo lo que te acabo de decir no es brujería es tecnología i [Música]