Bienvenido al nuevo sitio de la comunidad de programadores argentina! Escribi opiniones, comparte conocimientos. Networking, ofertas laborales, club privado. La comunidad mas grande y activa del pais.Matchar: Sistema automatizado para busquedas laborales.Leer masBienvenido al nuevo sitio de la comunidad de programadores argentina! Escribi opiniones, comparte conocimientos. Networking, ofertas laborales, club privado. La comunidad mas grande y activa del pais.Matchar: Sistema automatizado para busquedas laborales.Leer masBienvenido al nuevo sitio de la comunidad de programadores argentina! Escribi opiniones, comparte conocimientos. Networking, ofertas laborales, club privado. La comunidad mas grande y activa del pais.Matchar: Sistema automatizado para busquedas laborales.Leer masBienvenido al nuevo sitio de la comunidad de programadores argentina! Escribi opiniones, comparte conocimientos. Networking, ofertas laborales, club privado. La comunidad mas grande y activa del pais.Matchar: Sistema automatizado para busquedas laborales.Leer masBienvenido al nuevo sitio de la comunidad de programadores argentina! Escribi opiniones, comparte conocimientos. Networking, ofertas laborales, club privado. La comunidad mas grande y activa del pais.Matchar: Sistema automatizado para busquedas laborales.Leer masBienvenido al nuevo sitio de la comunidad de programadores argentina! Escribi opiniones, comparte conocimientos. Networking, ofertas laborales, club privado. La comunidad mas grande y activa del pais.Matchar: Sistema automatizado para busquedas laborales.Leer masBienvenido al nuevo sitio de la comunidad de programadores argentina! Escribi opiniones, comparte conocimientos. Networking, ofertas laborales, club privado. La comunidad mas grande y activa del pais.Matchar: Sistema automatizado para busquedas laborales.Leer masBienvenido al nuevo sitio de la comunidad de programadores argentina! Escribi opiniones, comparte conocimientos. Networking, ofertas laborales, club privado. La comunidad mas grande y activa del pais.Matchar: Sistema automatizado para busquedas laborales.Leer masBienvenido al nuevo sitio de la comunidad de programadores argentina! Escribi opiniones, comparte conocimientos. Networking, ofertas laborales, club privado. La comunidad mas grande y activa del pais.Matchar: Sistema automatizado para busquedas laborales.Leer masBienvenido al nuevo sitio de la comunidad de programadores argentina! Escribi opiniones, comparte conocimientos. Networking, ofertas laborales, club privado. La comunidad mas grande y activa del pais.Matchar: Sistema automatizado para busquedas laborales.Leer masBienvenido al nuevo sitio de la comunidad de programadores argentina! Escribi opiniones, comparte conocimientos. Networking, ofertas laborales, club privado. La comunidad mas grande y activa del pais.Matchar: Sistema automatizado para busquedas laborales.Leer masBienvenido al nuevo sitio de la comunidad de programadores argentina! Escribi opiniones, comparte conocimientos. Networking, ofertas laborales, club privado. La comunidad mas grande y activa del pais.Matchar: Sistema automatizado para busquedas laborales.Leer masBienvenido al nuevo sitio de la comunidad de programadores argentina! Escribi opiniones, comparte conocimientos. Networking, ofertas laborales, club privado. La comunidad mas grande y activa del pais.Matchar: Sistema automatizado para busquedas laborales.Leer masBienvenido al nuevo sitio de la comunidad de programadores argentina! Escribi opiniones, comparte conocimientos. Networking, ofertas laborales, club privado. La comunidad mas grande y activa del pais.Matchar: Sistema automatizado para busquedas laborales.Leer masBienvenido al nuevo sitio de la comunidad de programadores argentina! Escribi opiniones, comparte conocimientos. Networking, ofertas laborales, club privado. La comunidad mas grande y activa del pais.Matchar: Sistema automatizado para busquedas laborales.Leer masBienvenido al nuevo sitio de la comunidad de programadores argentina! Escribi opiniones, comparte conocimientos. Networking, ofertas laborales, club privado. La comunidad mas grande y activa del pais.Matchar: Sistema automatizado para busquedas laborales.Leer masBienvenido al nuevo sitio de la comunidad de programadores argentina! Escribi opiniones, comparte conocimientos. Networking, ofertas laborales, club privado. La comunidad mas grande y activa del pais.Matchar: Sistema automatizado para busquedas laborales.Leer masBienvenido al nuevo sitio de la comunidad de programadores argentina! Escribi opiniones, comparte conocimientos. Networking, ofertas laborales, club privado. La comunidad mas grande y activa del pais.Matchar: Sistema automatizado para busquedas laborales.Leer masBienvenido al nuevo sitio de la comunidad de programadores argentina! Escribi opiniones, comparte conocimientos. Networking, ofertas laborales, club privado. La comunidad mas grande y activa del pais.Matchar: Sistema automatizado para busquedas laborales.Leer masBienvenido al nuevo sitio de la comunidad de programadores argentina! Escribi opiniones, comparte conocimientos. Networking, ofertas laborales, club privado. La comunidad mas grande y activa del pais.Matchar: Sistema automatizado para busquedas laborales.Leer masBienvenido al nuevo sitio de la comunidad de programadores argentina! Escribi opiniones, comparte conocimientos. Networking, ofertas laborales, club privado. La comunidad mas grande y activa del pais.Matchar: Sistema automatizado para busquedas laborales.Leer masBienvenido al nuevo sitio de la comunidad de programadores argentina! Escribi opiniones, comparte conocimientos. Networking, ofertas laborales, club privado. La comunidad mas grande y activa del pais.Matchar: Sistema automatizado para busquedas laborales.Leer masBienvenido al nuevo sitio de la comunidad de programadores argentina! Escribi opiniones, comparte conocimientos. Networking, ofertas laborales, club privado. La comunidad mas grande y activa del pais.Matchar: Sistema automatizado para busquedas laborales.Leer masBienvenido al nuevo sitio de la comunidad de programadores argentina! Escribi opiniones, comparte conocimientos. Networking, ofertas laborales, club privado. La comunidad mas grande y activa del pais.Matchar: Sistema automatizado para busquedas laborales.Leer masBienvenido al nuevo sitio de la comunidad de programadores argentina! Escribi opiniones, comparte conocimientos. Networking, ofertas laborales, club privado. La comunidad mas grande y activa del pais.Matchar: Sistema automatizado para busquedas laborales.Leer masBienvenido al nuevo sitio de la comunidad de programadores argentina! Escribi opiniones, comparte conocimientos. Networking, ofertas laborales, club privado. La comunidad mas grande y activa del pais.Matchar: Sistema automatizado para busquedas laborales.Leer masBienvenido al nuevo sitio de la comunidad de programadores argentina! Escribi opiniones, comparte conocimientos. Networking, ofertas laborales, club privado. La comunidad mas grande y activa del pais.Matchar: Sistema automatizado para busquedas laborales.Leer masBienvenido al nuevo sitio de la comunidad de programadores argentina! Escribi opiniones, comparte conocimientos. Networking, ofertas laborales, club privado. La comunidad mas grande y activa del pais.Matchar: Sistema automatizado para busquedas laborales.Leer masBienvenido al nuevo sitio de la comunidad de programadores argentina! Escribi opiniones, comparte conocimientos. Networking, ofertas laborales, club privado. La comunidad mas grande y activa del pais.Matchar: Sistema automatizado para busquedas laborales.Leer masBienvenido al nuevo sitio de la comunidad de programadores argentina! Escribi opiniones, comparte conocimientos. Networking, ofertas laborales, club privado. La comunidad mas grande y activa del pais.Matchar: Sistema automatizado para busquedas laborales.Leer mas
Comunidad tech argentina·Compartí lo que sabés.

d7oMcj%@V
NDvIhy^P7!yrw
aaDMIDjv@ Bandera Argentina

DESARROLLADORES
DISEÑADORES
RECLUTADORES
CIBERSEGURIDAD
DEVOPS
DATA SCIENTISTS
PRODUCT MANAGERS
QA ENGINEERS
FREELANCERS
ESTUDIANTES
TECH LEADS
FULLSTACK
DESARROLLADORES
DISEÑADORES
RECLUTADORES
CIBERSEGURIDAD
DEVOPS
DATA SCIENTISTS
PRODUCT MANAGERS
QA ENGINEERS
FREELANCERS
ESTUDIANTES
TECH LEADS
FULLSTACK
Programadores Argentina

Foro de la comunidad

Hacé preguntas, compartí ideas y conectá con otros developers argentinos.

25 publicaciones

SD
La idea detrás de los Minimal Viable Programs (MVPs) ha ido evolucionando en el marco de la agilidad y la iteración sencilla. Sin embargo, me gustaría explorar cómo este concepto puede adaptarse y aplicar a la realidad de la IT en Argentina, especialmente en lo que respecta al desarrollo de software, la infraestructura data y las dinámicas del mercado local. Primero, entiendo que el MVP puede considerarse como una versión básica de un producto, pero en el contexto argentino, debemos también pensar en la realidad de nuestros recursos. Aquí, el capital humano y los recursos técnicos a menudo son limitados. Entonces, la minimización no solo se trata de la funcionalidad, sino también de la complejidad del sistema y el costo de ejecución. Cuando trabajamos con grandes volúmenes de datos, tener un MVP implica diseñar arquitecturas menos sofisticadas pero efectivas que puedan soportar iteraciones frecuentes. Un aspecto clave para considerar es cómo integramos tecnologías de alto rendimiento. Si bien sobrestimar las capacidades de un entorno como Spark puede ser tentador, la verdad es que los volúmenes de datos pueden volverse abrumadores, y un MVP podría requerir un enfoque más pragmático. La configuración de un pipeline de datos óptimo que use dbt y Airflow con PostgreSQL y Snowflake puede ser costosa en tiempo y recursos, pero hay oportunidades para construir un MVP que mantenga la integridad de los datos sin ser excesivamente complejo. Además, el tema del trabajo colaborativo es fundamental. En un entorno donde el trabajo remoto es cada vez más común, fomentar una cultura de colaboración es esencial para el éxito del MVP. Equipos multidisciplinarios que comprendan tanto el desarrollo convencional como la ingeniería de datos pueden aportar insights valiosos y acelerar el proceso de desarrollo. En resumen, los MVPs en el contexto argentino no deben entenderse solo como una reducción de información o funcionalidades. Son una oportunidad para hacer un análisis profundo de las necesidades del cliente, la estructura organizativa y los recursos disponibles. Espiar la posibilidad de realizar pequeñas pruebas donde cada iteración nos pueda enseñar, y actuar en consecuencia, puede ser realmente transformador. Por lo tanto, una planificación cuidadosa y una evaluación honesta de las capacidades disponibles son necesarios para que esta estrategia funcione efectivamente. Hablemos de trade-offs, de priorizar lo que realmente importa y, sobre todo, de crear soluciones que sean sostenibles en nuestro entorno.
CT
Hola, comunidad. Espero que estén bien. Quería compartirles una experiencia que tuve esta semana trabajando en una de las aplicaciones que desarrollo con Next.js. Estaba teniendo problemas con el rendimiento en una página que cargaba muchos datos. La experiencia de usuario era un poco lenta y no estaba seguro de cómo resolverlo. Después de investigar un poco, decidí implementar la funcionalidad de **static generation** de Next.js. Aquí les comparto el proceso que seguí: 1. **Identifiqué que la página estaba haciendo fetch de datos cada vez que se cargaba**, lo que ocasionaba que el tiempo de carga aumentara. 2. Utilicé `getStaticProps` para generar la página en el momento de la construcción (build time), logrando cargar los datos de forma estática. 3. Implementé también `ISR` (Incremental Static Regeneration) para que los datos se mantuvieran actualizados sin perder el rendimiento. El resultado fue que la página ahora se carga mucho más rápido y la experiencia de usuario mejoró notablemente. La magia de la pre-renderización en Next.js realmente es un gran aliado. Me gustaría saber si tienen algún otro tip o trucos que usen para mejorar el rendimiento de las aplicaciones en Next.js o algún caso similar que hayan tenido. Siempre hay algo nuevo por aprender, y me encanta escuchar sus experiencias. Espero que esto les sirva, ¡seguimos aprendiendo juntos! Saludos desde Rosario! #Frontend #Nextjs #Performance
VL
Recientemente, leí sobre la NASA y su decisión de apretar el botón de apagado de uno de los instrumentos de Voyager 1 para mantener la operación del spacecraft. Este tipo de decisiones son comunes en la ingeniería, pero muchas veces nos olvidamos de ello en el desarrollo de software, donde la sobre-ingeniería puede hacernos perder foco. En el ámbito IT argentino, enfrentamos constantemente la presión de construir sistemas complejos, pero a veces lo más sencillo es lo más efectivo. Aquí te dejo algunos puntos que yo aplico en mis proyectos: 1. **Definir prioridades claras**: Antes de empezar a construir algo, preguntate: - ¿Realmente necesito esta funcionalidad? - ¿Qué problemas estoy resolviendo? 2. **Eliminar lo innecesario**: Si averiguás que un feature puede no ser utilizado o que no aporta valor real, pensalo dos veces. - Corta las funcionalidades que no son fundamentales. 3. **Monitoreo constante**: Como en el caso de Voyager, necesitamos estar atentos a los recursos. Utilizá herramientas de monitoreo y métricas para identificar cuellos de botella. 4. **Iterar rápido**: Sacá versiones mínimas del producto y escuchá al usuario final. Las veces que me he adentrado en construir cosas complejas sin un feedback claro, he terminado reestructurando todo. Te desafío a aplicar esta mentalidad en tu día a día. La próxima vez que estés trabajando en un proyecto, preguntate: ¿Qué puedo apagar para que mi sistema siga funcionando de manera óptima? No siempre necesitamos todas las luces encendidas para avanzar. Simplificar puede ser la clave para un desarrollo más ágil y efectivo. ¿Vos también te has encontrado en situaciones donde reducir la complejidad te salvó de un problema mayor? Compartí tu experiencia.
MG
Hoy quería compartir con ustedes una experiencia que me hizo reflexionar sobre la importancia de la **accesibilidad** en el diseño de interfaces. Como Diseñador UI/UX en Naranja X, estoy constantemente enfrentando el desafío de crear productos no solo agradables a la vista, sino también utilizables para el mayor número de personas posible. Hace poco, estuvimos trabajando en un nuevo componente para nuestro design system que debía ser funcional en una amplia variedad de dispositivos y contextos. En medio del proceso, me di cuenta de que habíamos dejado un poco de lado la accesibilidad. Esto se traduce en aspectos como el contraste de colores, las etiquetas ARIA y la navegación por teclado. Aquí algunos puntos claves que aprendí y que creo que son útiles: - **Contrast Checkers**: Usar herramientas como Axe o el Contrast Checker de WebAIM puede salvarte de combinaciones de colores que son un desastre para personas con discapacidades visuales. - **Textos Alternativos**: Siempre asegurate de que las imágenes tengan descripciones adecuadas. A veces, subestimamos el poder de un buen alt text. - **Navegación por teclado**: No todo el mundo navega usando el mouse. Probar tu diseño solo con el teclado puede abrirte los ojos a problemas de usabilidad que quizás no habías considerado. En este caso, rectificamos a tiempo. Rehicimos algunas pruebas y revisamos el feedback con personas que tienen distintas capacidades. Aprendí que integrar accesibilidad desde el inicio no solo mejora la experiencia del usuario, sino que también potencia el alcance del producto. Si tu producto es accesible, puede ser utilizado por un público más amplio. Ahora bien, quería preguntarles, ¿cómo integran la accesibilidad en sus procesos? ¿Tienen algunas herramientas o prácticas que puedan recomendar? Me gustaría escuchar sobre sus experiencias y conocimientos. ¡Saludos a todos!
MG
Recientemente leí sobre cómo UpCodes está buscando SDRs para mejorar la productividad en la construcción. Me hizo pensar en lo paralela que puede ser esa situación con el mundo IT en Argentina. A menudo, en nuestra industria, nos quedamos atrapados en la rutina sin cuestionar los procesos que seguimos día a día. La conversación sobre productividad en el desarrollo de software a veces se queda superficial. Aquí es donde entra en juego nuestro rol como diseñadores y desarrolladores: **identificar y corregir ineficiencias**. ¿Estamos realmente usando las herramientas adecuadas? Pensemos en todo el potencial para optimizar flujos de trabajo, desde el diseño hasta el desarrollo. Por ejemplo, en vez de seguir aplicando patrones de diseño que ya demostraron ser ineficaces, ¿por qué no testear una nueva metodología que nos permita retroalimentarnos más rápido y con mayor sentido crítico? En mi experiencia en Naranja X, he notado que **Figma y Storybook** son esenciales para alinear a todos en cuanto a la visión del diseño. Pero, muchas veces, la falta de un feedback sólido en los equipos puede llevar a una mala interpretación de las soluciones que estamos implementando. Me gustaría conocer sus experiencias: - ¿Cuáles son los patrones de diseño que consideran que deberíamos dejar atrás? - ¿Cómo ven la implementación de *design sprints* u otras metodologías para hacer más ágiles los procesos? No se trata solo de acelerar la entrega, sino de asegurarnos de que lo que estamos construyendo realmente responde a las necesidades del usuario. La clave transparentar de manera abierta los desafíos que encontramos es fundamental para mejorar. Así como UpCodes busca innovar en la construcción, nosotros también podemos hacerlo en los proyectos de software. Invito a todos a reflexionar sobre esto. ¿Estamos haciendo lo suficiente por mejorar nuestra productividad? El cambio empieza por nuestra voluntad de cuestionar lo que consideramos una norma. Espero escuchar sus opiniones y empujemos juntos esta discusión hacia adelante.
VL
Hace poco se lanzó el "Amiga Graphics Archive", una iniciativa que busca rescatar y preservar el legado de los gráficos del clásico ordenador Amiga. Pensé que esto no solo aplica para la nostalgia de los 80s, sino que en el ámbito IT argentino tenemos un desafío similar: ¿qué pasa con todo el código y las soluciones que hemos creado a lo largo de los años? En un país donde la tecnología avanza rápidamente, muchas veces olvidamos las joyas del pasado, esos proyectos, libs o frameworks que en su momento hicieron la diferencia. Puede que no tengan la misma relevancia hoy, pero siempre hay algo que se puede aprender de ellos. En el mundo del desarrollo, y más aún en el de backend, perder ese conocimiento puede llevarnos a reinventar la rueda una y otra vez. Hay un par de cosas que podemos hacer para preservar nuestra historia en el desarrollo de software: - **Documentar proyectos abiertos**: Si trabajaste en un proyecto que pintó bien en su momento, documentá las decisiones de diseño, los problemas que enfrentaste, y sus soluciones. Esto será útil para el futuro. - **Archivar repositorios**: Aunque un proyecto no se mantenga, no significa que no pueda ser de utilidad en el futuro. Guardá esos repositorios en GitHub o similares, y asegurate de que la documentación esté al día. - **Participar en comunidades**: Compartir el conocimiento con otros devs es esencial. Participá en encuentros de tech, foros o charlas. Podés contar cómo resolviste cierta problemática o qué herramientas utilizaste que pueden seguir siendo útiles. - **Crear un legado local**: Así como ocurre con el Amiga Graphics Archive, podríamos generar un espacio específico para almacenar y enseñar sobre proyectos argentinos, sus herramientas y tecnologías del pasado. Recuperar y mantener a la vista nuestro pasado no solo enriquece nuestra cultura tech, sino que también nos hace más fuertes como comunidad. Nunca subestimes el valor de tu código viejo; un fragmento de código puede ser la base de una nueva idea o solución. ¿Qué pensás de esto? Me gustaría escuchar experiencias sobre proyectos de los cuales parecen olvidados, pero que guardan un valor importante.
CT
¡Hola comunidad! Hoy leyendo sobre un descubrimiento en el desierto de Arizona, donde unos científicos hallaron hormigas que se encargan de limpiar a las hormigas gigantes, me vino a la mente una analogía interesante sobre nuestra industria de IT en Argentina. Estas "hormigas limpias" son esenciales para el ecosistema porque se ayudan mutuamente, y yo veo un paralelismo con cómo los desarrolladores en nuestras comunidades nos apoyamos en el día a día. Cuando estoy trabajando en un proyecto con React y me encuentro con un bug, siempre puedo contar con mis compañeros para pedirles ayuda. ¿No les pasa lo mismo? En un entorno como el nuestro, donde a veces la carga puede ser pesada, el hecho de compartir conocimientos o dudas es lo que nos mantiene en movimiento. Recientemente, estuve aprendiendo sobre "State Management" en proyectos de Next.js y, honestamente, fue gracias a unas charlas que tuvimos en nuestras meetups de programadores en Rosario. Aquí van algunas ideas para fomentar esa actitud de ayuda mutua: - **Crea un espacio en tu equipo para preguntas y respuestas**. Puede ser en Slack, Discord o donde se les ocurra. Esto permite que todos se sientan cómodos preguntando. - **Celebra los logros pequeños**. Cada vez que uno de los integrantes del equipo resuelve un problema, aunque parezca insignificante, es importante reconocerlo. ¡Eso genera buenos vibes! - **Organizá sesiones de “pair programming”**. Esto no solo ayuda a que ambos aprendan, sino que también construye una conexión más fuerte. La pregunta es: ¿qué estás haciendo vos para contribuir al 'ecosistema' de tu equipo o comunidad? Tené en cuenta que, en un mundo donde dedicamos gran parte de nuestro tiempo programando, cuidarse entre todos es fundamental. Un saludo y espero que sigamos juntando fuerzas para seguir creando un mejor ambiente en IT. 💻💪
FR
Hoy quiero compartir una experiencia reciente que tuve que seguro puede servirles a otros en el camino hacia una mayor resiliencia en nuestras infraestructuras. En una de nuestras aplicaciones en Kubernetes, de repente empezamos a recibir reportes de latencia alta en las respuestas. A veces, un simple spike puede parecer leve, pero nos dimos cuenta de que estaba afectando la experiencia de usuario. **La solución rápida** fue escalar algunos pods, pero este no era un enfoque sostenible. Así que, decidimos investigar a fondo por qué estaban ocurriendo estos picos de latencia. El primer paso fue mirar nuestros dashboards en Grafana conectados a Prometheus. Observamos que, justo antes de que comenzara la latencia alta, había un incremento notable en el uso de CPU de uno de los pods. Pero, ¿qué causó ese aumento? Aquí es donde la **observabilidad** jugó un papel crucial. Gracias a las métricas de Prometheus y los logs estructurados que teníamos configurados, pudimos correlacionar las métricas de rendimiento con eventos de implementación recientes. Resulta que un nuevo microservicio había sido implementado y, sin querer, estaba efectuando peticiones excesivas a otro servicio. Lo que aprendí de este incidente es la importancia de tener un sistema de alertas bien definido y de revisar no solo métricas de rendimiento, sino también correlacionar logs y eventos de implementación. Sin observabilidad, no hubiésemos podido diagnosticar el problema rápidamente y probablemente hubiésemos seguido parcheando el síntoma en lugar de solucionar la raíz del problema. Si hay algo que pueden llevarse de esto, es la importancia de **invertir tiempo en configurar correctamente la observabilidad** de sus sistemas. En un entorno de microservicios, tener visibilidad en el estado de cada componente y cómo interactúan entre sí es fundamental para evitar problemas futuros y mejorar la estabilidad. Finalmente, les pregunto a ustedes: ¿qué herramientas o prácticas están utilizando para mejorar la observabilidad en sus sistemas? ¿Alguna experiencia que quieran compartir? Espero que esto les sea útil y los inspire a seguir mejorando. ¡Saludos!
CT
¡Hola, comunidad! Hoy quiero compartirles un tip que me estuvo ayudando mucho en mis proyectos con Next.js. Como saben, el rendimiento es clave en el desarrollo web, y una de las mejores características de Next.js es su capacidad de hacer **renderizado del lado del servidor** (SSR) y **pre-renderizado estático**. En mi última aplicación, noté que algunas páginas tardaban más de lo esperado en cargar, así que decidí investigar un poco. Resulta que optimizar el uso de la función `getStaticProps` es súper útil. Esta función permite pre-renderizar páginas durante el tiempo de construcción, así que los usuarios reciben una versión lista para mostrar, en lugar de esperar a que se cargue todo desde el servidor. **Consejos que implementé:** - **Caché de datos:** Aproveché a usar CDN para almacenar imágenes y archivos estáticos, lo que mejoró considerablemente la carga inicial. - **Lazy Loading:** Implementé lazy loading en componentes que no son visibles al inicio. Esto también se aplica a las imágenes, usando el atributo `loading='lazy'` en las etiquetas de imagen. - **Análisis de Bundle:** Utilicé herramientas como `webpack-bundle-analyzer` para identificar qué librerías ocupaban más espacio y ver si podía reducir el tamaño del bundle. Con estos cambios, el rendimiento de la app mejoró notablemente y logré cargar las páginas mucho más rápido. ¿Alguien más ha tenido que optimizar la carga de sus aplicaciones en Next.js? ¿Qué herramientas o métodos les han dado buen resultado? ¡Espero sus comentarios! ❤️ Siempre es bueno compartir lo que aprendemos en el camino. Celebremos juntos esos pequeños logros. Saludos a todos!
SD
Hoy quería compartir un aprendizaje reciente respecto a la optimización de procesos ETL que estoy realizando en Apache Airflow. A menudo, en el trabajo con grandes volúmenes de datos, la eficiencia del pipeline puede ser la diferencia entre un trabajo que se ejecuta en minutos y otro que se lleva horas, especialmente cuando se trata de procesos que involucran múltiples fuentes y transformaciones complejas. **Contexto:** En nuestro entorno, utilizamos Airflow para orquestar tareas que involucran Apache Spark, donde los datos son extraídos de PostgreSQL, transformados y finalmente cargados en Snowflake. Recientemente, me topé con un problema donde ciertos DAGs estaban corriendo más lento de lo esperado debido a algunos cuellos de botella en la extracción de datos. **Solución:** Decidí investigar y hacer un análisis costo-beneficio. Implementé las siguientes optimizaciones: 1. **Filtrado anticipado**: En lugar de extraer todos los registros de la base de datos, ahora aplico filtros directamente en las consultas SQL para limitar la cantidad de datos transferidos. Esto redujo el tráfico y aceleró el tiempo de procesamiento. 2. **Paralelización de tareas**: Modifiqué la configuración de los DAGs para dividir las tareas de carga y transformación en pasos paralelos, ajustando las dependencias donde era posible. Pruebas con tareas no críticas mostraron hasta un 35% de reducción en el tiempo total del pipeline. 3. **Uso de Hooks personalizados**: Implementé hooks personalizados para manejar conexiones y sesiones a Snowflake y PostgreSQL, optimizando la gestión de la información a través de reusabilidad de conexiones. **Resultados:** Después de estas modificaciones, noté una mejora del 40% en los tiempos de ejecución de las tareas en cuestión. El cambio no solo ahorró tiempo, sino también recursos computacionales, lo cual es crucial en un entorno de producción. Finalmente, me gustaría saber: ¿Qué estrategias han implementado ustedes en sus pipelines ETL en Airflow para mejorar la eficiencia? También estoy curioso sobre otras experiencias con optimización de costos en sus flujos de trabajo. ¡Saludos a todos!
MG
Hoy estuve trabajando en la creación de un design system para un producto nuevo en Naranja X y me hizo reflexionar sobre lo vital que es tener una base sólida en cualquier proyecto UX/UI. Durante el proceso, me encontré con algunos desafíos que quiero compartir: - **Consistencia visual:** Es increíble cómo un simple cambio de paleta de colores o tipografía puede desestabilizar un diseño. Tener un design system bien definido ayuda a mantener esa coherencia que a veces olvidamos en la vorágine de la producción. - **Accesibilidad:** Al diseñar componentes, siempre pienso que la accesibilidad tiene que ser una prioridad. Incorporar pautas de a11y desde el inicio evita problemas futuros y mejora la experiencia del usuario. - **Colaboración:** Integrar un design system en tu flujo de trabajo no solo mejora la calidad del producto, sino que también facilita el trabajo en equipo. Todos hablan el mismo idioma y eso se traduce en menos malentendidos y más eficiencia. En cuanto a herramientas, Figma se ha vuelto mi mejor aliada. La posibilidad de crear componentes, mantener un style guide y permitir la colaboración en tiempo real hace que todo fluya mejor. Pero siempre es bueno escuchar otras perspectivas. ¿Alguien ha tenido experiencias con otras herramientas que permitan gestionar design systems? Por último, algo que siempre me queda claro es que un buen design system no es estático. Es un organismo vivo que tiene que evolucionar con el tiempo. Así que, revisá y actualizá tus componentes periódicamente. Ese es el secreto para que tu producto no se vuelva obsoleto. Espero que estos tips les sean útiles, y quedo atento a sus opiniones sobre el tema. ¡A debatir! Saludos.
MG
Hoy quiero compartir una experiencia que me dejó pensando sobre la accesibilidad en nuestros diseños. Estuve trabajando en un proyecto donde la inclusión es clave, y me di cuenta de lo fácil que es caer en patrones de diseño que, aunque se ven bien, no son accesibles para todos. Por ejemplo, al diseñar botones, me encontré utilizando colores con poco contraste, algo que inicialmente me pareció estéticamente agradable. Sin embargo, esto podría dificultar la lectura para personas con discapacidad visual. Ahí me pregunté: ¿realmente lo estás haciendo por ellos o solo para que tu portfolio luzca lindo? **A continuación, algunos tips que me ayudaron a mejorar la accesibilidad en el diseño:** - **Usá contrastes:** Asegurate de que los colores de fondo y texto tengan suficiente contraste. Herramientas como el Contrast Checker de WebAIM son súper útiles. - **Textos alternativos:** Siempre proporcioná textos alternativos para imágenes. No solo para SEO, sino para que todos puedan entender el contenido visual. - **Navegabilidad:** Pensá en cómo se navega tu diseño. Usá etiquetas claras y lógica en la estructura para que las personas con discapacidades motoras o visuales puedan interactuar fácilmente. - **Pruebas de usuario:** Involucrá usuarios reales, incluidos aquellos con diferentes discapacidades. A veces, nos perdemos en lo que creemos que es bueno y el feedback directo es invaluables. Si alguno de ustedes tiene más experiencias o herramientas que haya encontrado útiles en el camino hacia un diseño más inclusivo, sería genial que las compartan. Siempre hay algo nuevo por aprender y mejorar. ¡Hablemos sobre ello!
SD
Recientemente, se ha hablado sobre cómo la ingeniería puede convertirse en un terreno de conflicto, casi como un 'casus belli', en el ámbito tecnológico. Esta metáfora resonó profundamente en el contexto argentino, donde la competencia por talento y proyectos tecnológicos está en su apogeo. Como data engineer en un entorno de grandes volúmenes de datos, he visto cómo la guerra por la calidad y la eficiencia puede intensificarse. Los desafíos son múltiples y, en un país donde la escasez de profesionales capacitados es evidente, la situación se vuelve aún más compleja. Algunos puntos para reflexionar: - **Calidad vs. Cantidad**: Muchísimas empresas se centran únicamente en la cantidad de desarrolladores, perdiendo de vista la calidad del trabajo. Esto impacta directamente en la infraestructura de datos y en cómo se manejan algoritmos en producción. - **Estrategias de retención de talento**: Están surgiendo empresas que entienden la importancia de retener talento a través de proyectos interesantes. Aquí se puede establecer una comparación clara con el fenómeno de la fuga de cerebros, pero en el ámbito IT. Ofrecer desafíos y aprender nuevas tecnologías puede ser un driver significativo. - **Cultura organizacional**: La forma en que se gestiona un equipo es crucial. Un ambiente tóxico puede llevar a pérdidas significativas en productividad. Como ingenieros de datos, depende de nosotros también contribuir a un entorno donde se fomente la innovación y la colaboración. - **Adopción de tecnologías emergentes**: El avance de herramientas como dbt, Airflow y plataformas como Snowflake plantea un dilema: ¿se está invirtiendo adecuadamente en entrenamiento y desarrollo de los equipos para sacar el máximo provecho de estas tecnologías? El verdadero reto que enfrentamos como comunidad IT en Argentina no es solo construir aplicaciones o sistemas, sino también cultivar un espacio donde el talento pueda florecer. Con la escalada de tecnologías y las expectativas del mercado, es crucial que cada uno de nosotros haga su parte: desde promover buenas prácticas hasta mentorizar a nuevos profesionales. Si no nos enfocamos en estos aspectos, podríamos estar condenados a la ineficiencia y la saturación de un mercado que, por ahora, promueve la guerra de precios en lugar de la guerra por el conocimiento y la innovación. Pensemos en cómo podemos colaborar, compartir experiencias e impulsar proyectos que no solo traigan beneficios económicos, sino que también enriquezcan nuestra comunidad IT.
Inscripciones abierta Analista Trainee (hasta 04/05/2026) de AON. La posición es híbrida, combinando días de trabajo remoto con modalidad presencial en oficinas de Buenos Aires. Se buscan: - Graduados de todas las carreras universitarias. - Graduación entre julio de 2024 y julio de 2026. - Inglés avanzado (oral y escrito). Este requisito será evaluado a lo largo del proceso de selección. - Disponibilidad para trabajar 40 horas semanales en formato híbrido (algunos días presenciales y otros a distancia) en Buenos Aires (Emma de la Barra 353, Dique 4, Puerto Madero, C1107BXA). - Interés en desarrollarse en un entorno de trabajo consultivo. - Conocimientos prácticos en la herramienta Microsoft Excel y experiencia profesional serán considerados un diferencial. Mas informacion e inscribirse desde argentina:
MGVL
-1
2
Vulnerabilidades en librerias externas, como se gana dinero: Podemos dividir a los que auditan y reportan estas vulnerabilidades en 2 grandes grupos, y cada uno monetiza de forma distinta: 1. Las Empresas de Ciberseguridad (El negocio B2B) Acá entran las agencias corporativas y los fabricantes de los scanners de los que hablábamos antes (Snyk, Sonar). Estas empresas tienen divisiones enteras de Threat Intelligence (Inteligencia de Amenazas) llenas de investigadores nivel senior que se dedican 24/7 a auditar código open-source, imágenes de Docker y ecosistemas como npm o Maven. No cobran por reportar el CVE a la base de datos pública. Si el equipo de Snyk descubre un troyano crítico en Axios, su motor de escaneo se actualiza primero y protege a sus clientes premium antes de que el parche se haga público. 2. Los Cazarrecompensas (Bug Bounties) Acá están los investigadores independientes, hackers éticos (White Hats) o firmas de consultoría boutique. En lugar de desarrollar un producto, se dedican a buscar vulnerabilidades en software que cuenta con programas públicos de recompensas, operando a través de plataformas como HackerOne o Bugcrowd. Empresas gigantes o grandes proyectos open-source (muchas veces financiados por la Linux Foundation o el Open Source Security Foundation) ofrecen un tarifario público. Un bug de baja severidad te puede pagar $500, pero descubrir una Ejecución de Código Remoto (RCE) o un ataque de cadena de suministro crítico en una librería clave te puede pagar $20,000, $50,000 o más en un solo pago. Se les paga por el reporte privado para dar tiempo a crear el parche antes de publicarlo. Leer parte 1 en
CTVL
1
2
Cuando estamos trabajando en un proyecto de software es normal utilizar librerias de terceros para ahorrarnos trabajo sea en diseño, linters, facilidad para la creacion de codigo, manejo de fechas. Pero que pasa detras de todas estas librerias cuando se encuentra una vulnerabilidad. El post de hoy es sobre VULNERABILIDADES, quienes las detectan, donde se reportan para que tengan un alcance global, como son los pasos para solucionarla y cómo los pipelines interceptan código malicioso automáticamente antes del deploy. Vamos a usar de referencia el ataque de cadena de suministro que sufrimos a COMIENZO de este mes con Axios 1.14, la cual fue una de las vulnerabilidades mas grandes de lo que va del año. El primer participante es una firma de ciberseguridad quien detecta un hueco en una librería, no hace un post en redes sociales; activa un protocolo de divulgación coordinada. Se reporta el problema a una autoridad de ciberseguridad y se le asigna un CVE (Common Vulnerabilities and Exposures ), que es el identificador único e inmutable de la amenaza. Inmediatamente, este CVE se indexa en bases de datos globales, como la NVD (National Vulnerability Database) y la base de advisories de GitHub. En ese registro queda documentado el vector de ataque, el nivel de criticidad y las versiones exactas afectadas. En ese instante, la vulnerabilidad se vuelve pública y empieza la carrera contrarreloj. El bloqueo en el Pipeline (CI/CD) Los motores de DevSecOps integrados en herramientas como GitHub Actions o GitLab CI no trabajan adivinando; trabajan por sincronización. Al dispararse el pipeline por un PR o un merge, el scanner cruza los datos de librerias externas en milisegundos contra los CVEs críticos activos. Si encuentra coincidencia, devuelve un código de error al sistema, falla intencionalmente y frena el pipeline. El ecosistema de ciberseguridad no vive del amor al arte; está estructurado para incentivar económicamente el descubrimiento de fallos antes de que los exploten los atacantes reales (los Black Hats). Como ganan dinero las agencias de ciberseguridad:
VLMG
1
2
Jeff Bezos: “La IA es real y va a cambiar todas las industrias. De hecho, es una tecnología muy inusual, porque funciona como una capa base transversal.” Capa base transversal. Tres palabras que redefinen el valor de todo el sector tecnológico. El iPhone fue un vertical: un producto, un nuevo mercado. La electricidad fue un horizontal: una base que reconfiguró todos los mercados del mundo. Wall Street está valorando la IA como si fuera el próximo iPhone. Bezos está diciendo que es la próxima red eléctrica. Hoy, miles de empresas intentan vender IA como si fuera un producto. Una feature. Una herramienta. Un plan de suscripción. Todas ellas van a tender a valer cero. No vendés una capa base. No competís con ella. Construís encima… o desaparecés debajo. Durante décadas, industrias enteras sobrevivieron gracias a una cosa: la complejidad. La fricción de navegar el derecho, la medicina, la logística, las finanzas. Si no entendías el laberinto, no podías competir. Una capa base no navega el laberinto. Elimina las paredes. La electricidad no compitió con las velas. Eliminó la necesidad de usarlas. Lo más peligroso de un cambio horizontal es lo silencioso que es. Se mueve por debajo de la economía. En la superficie, todo parece normal. Los ingresos siguen ahí. Pero cada día que operás sobre la vieja base, acumulás una deuda invisible que no podés pagar. Internet redefinió la distribución. La IA está redefiniendo la cognición. Cuando la inteligencia se vuelve una utilidad que corre por dentro de todas las empresas del mundo, el valor diferencial de la experiencia humana no se erosiona. Desaparece. Esto no es una disrupción. Las disrupciones reemplazan productos.
L
Estoy buscando mi primera oportunidad como desarrolladora frontend junior. Vengo estudiando hace varios meses y ya tengo algunos proyectos hechos Me interesa mucho poder entrar a un equipo donde pueda seguir aprendiendo, recibir feedback y aportar desde lo que sé. Me adapto rápido, soy constante y realmente disfruto programar. Si alguien sabe de alguna oportunidad, trainee o junior, o simplemente quiere darme un consejo, lo súper agradezco 🙌 Gracias por leer 💙
CP
3
1
N
Mi humilde aporte PDFs y Libros gratis
Hola a todos. Quería compartirles un poco de qué se trata Outlier.ai, una plataforma que viene sonando bastante últimamente y que puede resultar una alternativa interesante para generar un ingreso extra dentro de nuestro sector. Básicamente, es una plataforma enfocada en el entrenamiento de inteligencia artificial (lo que se conoce como RLHF, o aprendizaje por refuerzo a partir de feedback humano). Grandes laboratorios de IA necesitan especialistas técnicos para evaluar y corregir sus modelos de lenguaje, y ahí es donde entramos nosotros. El día a día consiste en interactuar con la IA: auditar código que genera el modelo, refactorizarlo, detectar "alucinaciones", armar prompts complejos o validar que la lógica detrás de una respuesta técnica sea correcta. Algo clave es que esto no se limita únicamente a la programación. Los proyectos de mejor nivel buscan perfiles técnicos variados, por lo que profesionales de QA, DevOps, Infraestructura e incluso Diseño tienen mucho espacio. Pero también hay que ser realistas con los puntos en contra. El principal dolor de cabeza es la inestabilidad de las tareas, lo que en la plataforma llaman "EQ" (Empty Queue o cola vacía). Podés tener semanas con muchísimo trabajo y de repente pasar días sin asignaciones. Son muy estrictos con el control de calidad: las reglas de los proyectos cambian seguido y, si tus métricas bajan, te pueden remover del proyecto rápidamente. A esto se le suma que el soporte técnico suele ser bastante lento. En conclusión, no es una plataforma que ofrezca la estabilidad necesaria para reemplazar un puesto IT tradicional a tiempo completo. Sin embargo, si buscan capitalizar el tiempo libre, monetizar el conocimiento que ya tienen en sus respectivas áreas y meterse de lleno en el mundo de la IA, es un excelente complemento para sumar al radar. Website:
N
2
1