window.pipedriveLeadboosterConfig = { base: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', versión: 2, } ;(function () { var w = window if (w.LeadBooster) { console.warn('LeadBooster ya existe') } else { w.LeadBooster = { q: [], on: function (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: function (n) { this.q.push({ t: 't', n: n }) }, } } })() TheCodestReview #4 - zumo semanal de ingeniería del software - The Codest
The Codest
  • Quiénes somos
  • Servicios
    • Desarrollo de software
      • Desarrollo Frontend
      • Desarrollo backend
    • Staff Augmentation
      • Desarrolladores frontales
      • Desarrolladores de backend
      • Ingenieros de datos
      • Ingenieros de la nube
      • Ingenieros de control de calidad
      • Otros
    • Asesoramiento
      • Auditoría y consultoría
  • Industrias
    • Fintech y Banca
    • E-commerce
    • Adtech
    • Tecnología sanitaria
    • Fabricación
    • Logística
    • Automoción
    • IOT
  • Valor para
    • CEO
    • CTO
    • Gestor de entregas
  • Nuestro equipo
  • Case Studies
  • Saber cómo
    • Blog
    • Meetups
    • Seminarios en línea
    • Recursos
Carreras profesionales Póngase en contacto
  • Quiénes somos
  • Servicios
    • Desarrollo de software
      • Desarrollo Frontend
      • Desarrollo backend
    • Staff Augmentation
      • Desarrolladores frontales
      • Desarrolladores de backend
      • Ingenieros de datos
      • Ingenieros de la nube
      • Ingenieros de control de calidad
      • Otros
    • Asesoramiento
      • Auditoría y consultoría
  • Valor para
    • CEO
    • CTO
    • Gestor de entregas
  • Nuestro equipo
  • Case Studies
  • Saber cómo
    • Blog
    • Meetups
    • Seminarios en línea
    • Recursos
Carreras profesionales Póngase en contacto
Flecha atrás VOLVER
2020-11-18
Desarrollo de software

TheCodestReview #4 - zumo semanal de ingeniería de software

The Codest

Kamil Ferens

Director de Crecimiento

Dicen que el tiempo vuela rápido cuando te diviertes. Para mí, personalmente, la parte divertida es especialmente importante en el día a día de la puesta en marcha y el crecimiento del negocio. Me hace disfrutar, independientemente de la cantidad de energía interior que consuma el ajetreo semanal.

(En el próximo episodio, seguiré con el tema del humor en el lugar de trabajo para profundizar un poco más en él, sólo porque puedo. "¿Por qué tan serio?").

Hablando de tiempo, han pasado 2 semanas desde mi última publicación por lo que ya es hora del 4º episodio de nuestro #TheCodestReview serie.

Lista de temas que tratamos esta semana:

  1. Engancharse al React
  2. Todo lo que siempre quiso saber sobre el caché de vistas en Rails
  3. El Director de Ingeniería como maestro de la contratación

El comentario sobre el almacenamiento en caché de vistas entregado por nuestro desarrollador fullstack y el podcast del director de ingeniería comentado por mi humilde servidor.

Como popularmente conocido maestro de la aplicación Paint y admirador de los GIFs y memes que son como los bombones Merci - que dicen más que 1000 palabras, he decidido que a partir de ahora añadiré aquí un sabor de ello. ¿Y adivina qué?

Darth Sidious ¿Crees que puedes detenerme GIF de GIFs de Darthsidious

La última vez que hemos decidido poner un poco de atención en StimulusReflex que está recibiendo la atención en la comunidad Ruby como un nuevo chico en el bloque, siendo una alternativa al uso de la moderna Javascript en proyectos Rails para evitar el exceso.

Ver: StimulusReflex alias ReactiveRails

Para que sea una batalla en igualdad de condiciones, quería dejar que React devolviera el golpe a Stimulus. Como también soy un conocido hombre de honor, siempre hago lo que digo y cumplo mis promesas, aquí va:

En el próximo episodio tengo el placer y la ilusión de anunciar que contaremos con un artículo invitado del ingeniero React de Vinted.com. Para aquellos de ustedes que nunca han oído hablar de Vinted (bajas probabilidades, pero todavía posible), Vinted es un mercado de la moda originaria de Vilnius, Lituania que ha alcanzado una valoración unicornio de vuelta en 2019. La plataforma está construida sobre sólidos cimientos Ruby on Rails respaldados por React en la parte frontend.

Nota al margen: a mi mujer le encanta Vinted y casi ha dejado de utilizar OLX como destino principal para ordenar nuestro armario y vender ropa usada (era una auténtica fan incondicional) = ¡LO ESTÁIS HACIENDO BIEN!

Es para mí un privilegio dar la bienvenida a un primer colaborador invitado a nuestra serie:

Meryl Streep Sí GIF de GIFs de Merylstreep

Ugnė Kryževičiūtė - React ingeniero de Vinted

Engancharse al React por LadyBug Podcast

Al leer el título del reciente podcast de LadyBug ("Getting Hooked On React"), esperaba que tratara principalmente sobre los Hooks de React. Sin embargo, aunque no se profundizó en los Hooks, el podcast proporcionó una excelente introducción a los fundamentos de la biblioteca React para JavaScript.

Ali y Emma, del podcast LadyBug, hablan de los entresijos de React: desde el diseño general de la biblioteca y sus ventajas hasta animadas discusiones sobre componentes, manejo de datos o el ciclo de vida de React, todo ello presentado con una pizca de experiencia personal. Merece la pena escucharlo para cualquier desarrollador front-end que no haya tenido la oportunidad de probar las maravillas de React.

Mi primer encuentro con React fue hace unos tres años, cuando comencé mi andadura como desarrollador. Aunque Ali y Emma sugieren que React puede parecer confuso al principio, desde mi propia experiencia, me pareció relativamente fácil para empezar y probablemente el más fácil de avanzar en comparación con otros frameworks front-end. Hay un montón de tutoriales, artículos, bibliotecas de código abierto y otros tipos de materiales de aprendizaje disponibles en todas partes. Sin embargo, hay que tener en cuenta el desarrollo activo de React cuando se consultan estos recursos. Este episodio del podcast de LadyBug no es una excepción: algunos aspectos y métodos mencionados ya están obsoletos desde hace tiempo. Por lo tanto, es mejor seguir los consejos de la propia Emma y consultar la documentación más reciente.

React ha evolucionado y madurado mucho, haciendo que código escribir es aún más fácil con Hooks, que permite utilizar métodos de estado y ciclo de vida sin escribir componentes de clase. Pero para los principiantes -como señala acertadamente Ali- la variedad de formas en que se puede escribir React (como componentes de clase/funcionales/Hooks) añade una complejidad adicional, ya que a veces puede ser difícil visualizar lo que está pasando. Además, tener que destilar lo que necesitas y encontrar información relevante sobre la implementación del código puede ser todo un reto.

Como una de las principales ventajas de React, Ali señala que está basado en componentes, lo que permite la modularización del código y facilita el trabajo conjunto con otros desarrolladores. Además, la posibilidad de utilizar JSX es una gran ayuda visual a la hora de trabajar con la interfaz de usuario en código JavaScript: ¡no es necesario tener archivos HTML separados!

Ali y Emma también resumen muy bien la flexibilidad que da tener un sistema de componentes. Un excelente ejemplo de la práctica es mi empresa Vinted, que ha experimentado un rápido crecimiento en lo que respecta a la producto así como el equipos de desarrollo trabajando en él durante los últimos años. React nos ha proporcionado enormes beneficios: nos ha permitido escribir un código mucho más limpio, utilizar componentes de interfaz de usuario reutilizables y ha facilitado las pruebas de nuestro código.

En general, este episodio del podcast LadyBug ofrece un debate animado y encantador sobre los principales aspectos de React. Lo recomiendo a cualquiera que esté empezando su viaje con React. Lleno de ejemplos divertidos y analogías con la vida real, el episodio "Engancha" a la perfección la atención de cada oyente, la mía incluida.

Almacenamiento en caché de vistas Rails por Jonathan Miles de Honeybadger

Lamentablemente, las vistas en Rails se vuelven más lentas con el tiempo. Esto se debe a que la cantidad de objetos almacenados en la base de datos crece. Esto provoca tiempos de consulta más largos y, por supuesto, un procesamiento más largo si estamos haciendo algo con cada uno de los objetos. Cuando esto ocurre no te quedas sin ninguna posibilidad ya que existe el cacheo de vistas en Rails.

Gracias a esto puedes ahorrar bastante tiempo cargando datos pesados de la base de datos desde la caché (cargando un único archivo html guardado en lugar de consultar la base de datos y procesar los objetos). También puede hacerlo menos costoso en caso de diferentes parciales y objetos - por supuesto si los objetos no cambian muy a menudo. También puede tratar de mantener los objetos almacenados en caché en parciales separados - y ahorrar, por ejemplo, 19 de los 20 mensajes que se renderizan (posiblemente con un montón de campos).

Por defecto, la caché de Rails utiliza file_store y mantiene los datos almacenados en caché en las carpetas. Pero no borra las entradas antiguas de la caché (que podrían haber caducado hace mucho tiempo). Esto puede llevar a un desbordamiento de la cantidad de archivos o incluso a quedarse sin espacio libre en un servidor. El otro método es memory_store que también tiene algunas desventajas (ya que la caché se mantiene en un único servidor). También puede exceder la cantidad de RAM guardada en el servidor (o la falta de caché si se borra todo el tiempo). Por eso, el mejor mecanismo de caché a gran escala es el método Memcached/Redis. Esto le da la oportunidad de utilizar una máquina separada para mantener la caché que puede ser utilizada por todos los servidores. Gracias a ello no habrá problemas de falta de caché o de espacio en disco de acabado en un servidor.

La caché en Rails se mantiene en base a un identificador - que puede darse directamente como una cadena o generarse automáticamente al pasar un objeto a la función de caché. En el caso de los objetos suele ser el atributo updated_at. También se puede proporcionar una clave estática a partir de los parámetros del objeto.

Un método diferente de almacenamiento en caché es utilizar Javascript para actualizar un campo que se cambia una vez al día. De esta forma se puede tener una fecha válida mostrada todo el tiempo, sin refrescar el sitio web - que podría ser bastante enorme o lento para ser ejecutado.

Director de Ingeniería como Maestro Reclutador por Mentoring Club

Para no hacerles demasiados spoilers, la mesa redonda sobre el papel del director de ingeniería en el proceso de contratación es muy valiosa para todos aquellos que se preguntan cuándo es el momento adecuado para que el líder tecnológico entre en el ciclo de entrevistas. En CodestPracticamos lo que predican los panelistas y nuestro CTO es el primer punto de contacto con los ingenieros que solicitan nuestros servicios, mientras que en la siguiente fase las entrevistas corren a cargo de equipo con los que trabajarán estrechamente los posibles nuevos empleados. Algunos consejos prácticos que puedes aplicar de inmediato para mejorar tu contratación como director de ingeniería:

  1. Revise su proceso y asegúrese de unirse al flujo lo antes posible, idealmente siendo el primer punto de contacto para los candidatos, ya que las primeras impresiones juegan un papel clave en la forma en que su empresa es vista por los mejores talentos.

  2. Acércate a los responsables de contratación más eficaces de tu organización (quizá el que te contrató a ti en su día) y pregúntales si puedes seguir de cerca algunas de sus entrevistas planificadas, comprobar sus técnicas y pedirles consejos. Observa y aprende. Entre en cada entrevista con auténtica curiosidad por los candidatos.

  3. Busque potencial y contrate por potencial y capacidad para crecer rápidamente.

  4. Habla de tus anuncios de trabajo con todos tus ingenieros y pregúntales si solicitarían el puesto. Si no es así, pregúntales qué es lo que no les gusta y aplica sus comentarios al anuncio de empleo 2.0 que vas a publicar en los portales de empleo. 

  5. Considera la 1ª entrevista como una oportunidad para crear una gran relación con tus posibles futuros compañeros.

Te animo a que veas el vídeo completo del panel, pero si lo tuyo son los podcasts y te gusta escucharlos mientras conduces, haces ejercicio o friegas los platos, aquí tienes también un Spotify enlace. 

Muchas gracias por leer y si has llegado hasta aquí, aprecio tu tiempo y cualquier comentario (ya sea bueno o criticándome) es más que bienvenido en LinkedIn o a mi correo electrónico. 

Pronto les traeremos el próximo episodio. 

Yippie IWill See You Soon GIF de baile de Yippieiwillseeyousoon GIFs

Más información:

TheCodestReview #3 - zumo semanal de ingeniería de software

TheCodestReview #2 - zumo semanal de ingeniería de software

TheCodestReview #1 - zumo semanal de ingeniería de software

Artículos relacionados

Desarrollo de software

Crear aplicaciones web preparadas para el futuro: ideas del equipo de expertos de The Codest

Descubra cómo The Codest destaca en la creación de aplicaciones web escalables e interactivas con tecnologías de vanguardia, ofreciendo experiencias de usuario fluidas en todas las plataformas. Descubra cómo nuestra experiencia impulsa la transformación...

EL MEJOR
Desarrollo de software

Las 10 mejores empresas de desarrollo de software de Letonia

Conozca las principales empresas de desarrollo de software de Letonia y sus innovadoras soluciones en nuestro último artículo. Descubra cómo estos líderes tecnológicos pueden ayudarle a mejorar su negocio.

thecodest
Soluciones para empresas y escalas

Fundamentos del desarrollo de software Java: Guía para externalizar con éxito

Explore esta guía esencial sobre el desarrollo de software Java outsourcing con éxito para mejorar la eficiencia, acceder a la experiencia e impulsar el éxito de los proyectos con The Codest.

thecodest
Desarrollo de software

La guía definitiva para subcontratar en Polonia

El auge de las outsourcing en Polonia está impulsado por los avances económicos, educativos y tecnológicos, que fomentan el crecimiento de las TI y un clima favorable a las empresas.

TheCodest
Soluciones para empresas y escalas

Guía completa de herramientas y técnicas de auditoría informática

Las auditorías informáticas garantizan sistemas seguros, eficientes y conformes. Obtenga más información sobre su importancia leyendo el artículo completo.

The Codest
Jakub Jakubowicz CTO y Cofundador

Suscríbase a nuestra base de conocimientos y manténgase al día de la experiencia del sector informático.

    Quiénes somos

    The Codest - Empresa internacional de desarrollo de software con centros tecnológicos en Polonia.

    Reino Unido - Sede central

    • Oficina 303B, 182-184 High Street North E6 2JA
      Londres, Inglaterra

    Polonia - Centros tecnológicos locales

    • Parque de oficinas Fabryczna, Aleja
      Pokoju 18, 31-564 Cracovia
    • Embajada del Cerebro, Konstruktorska
      11, 02-673 Varsovia, Polonia

      The Codest

    • Inicio
    • Quiénes somos
    • Servicios
    • Case Studies
    • Saber cómo
    • Carreras profesionales
    • Diccionario

      Servicios

    • Asesoramiento
    • Desarrollo de software
    • Desarrollo backend
    • Desarrollo Frontend
    • Staff Augmentation
    • Desarrolladores de backend
    • Ingenieros de la nube
    • Ingenieros de datos
    • Otros
    • Ingenieros de control de calidad

      Recursos

    • Hechos y mitos sobre la cooperación con un socio externo de desarrollo de software
    • De EE.UU. a Europa: ¿Por qué las startups estadounidenses deciden trasladarse a Europa?
    • Comparación de los polos de desarrollo de Tech Offshore: Tech Offshore Europa (Polonia), ASEAN (Filipinas), Eurasia (Turquía)
    • ¿Cuáles son los principales retos de los CTO y los CIO?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Condiciones de uso del sitio web

    Copyright © 2025 por The Codest. Todos los derechos reservados.

    es_ESSpanish
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian jaJapanese ko_KRKorean nl_NLDutch etEstonian elGreek es_ESSpanish