;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Logo Pagbenk Seu dinheiro rende mais
Topo

Luiza Trajano fala de trainee: 'Chorei ao entender racismo estrutural'

A empresária Luiza Trajano, dona da rede Magazine Luiza, durante entrevista ao Roda Viva (TV Cultura) - Reprodução/TV Cultura
A empresária Luiza Trajano, dona da rede Magazine Luiza, durante entrevista ao Roda Viva (TV Cultura) Imagem: Reprodução/TV Cultura

Do UOL, em São Paulo

05/10/2020 22h56Atualizada em 06/10/2020 11h44

A empresária Luiza Trajano, dona da rede Magazine Luiza, declarou na noite de segunda-feira (5) em entrevista ao Roda Viva, da TV Cultura, que descobriu em sua empresa poucos executivos negros em altos cargos e, por isso, optou por fazer um programa de trainee exclusivo para pessoas negras: "O racismo estrutural está inconsciente nas pessoas".

Temos que entender mais o que é racismo estrutural. O dia que entendi até chorei, porque sempre achei que não era racista até entender o racismo estrutural.
Luiza Trajano

A empresária afirmou que, mesmo cobrando maior seleção de pessoas negras em seus processos, recebia pouco retorno quando buscava pessoas para altos cargos. "Como podemos colocar mais negros se eles não aparecem? O ponto de partida já é desigual", disse, observando o impacto da desigualdade racial desde a educação básica.

O Brasil teve uma escravidão de 350 anos, a maioria é de negros, a maioria na periferia. Essa é a real, então, não entram naquilo [no processo].
Luiza Trajano

Luiza afirmou que não se trata de "oba oba" e que a ideia ou por um comitê antes de ser divulgada. O intuito do programa é oferecer 20 vagas para pessoas de todo o país, com orientações para que o RH receba currículos sem a obrigatoriedade de saber falar inglês, por exemplo.

O inglês não precisa ter. Depois, eles vão ter curso para aprender.
Luiza Trajano

O processo também é aberto a funcionários negros que já atuam na empresa. "Tem muitos entrando e ajudando a fazer o programa", disse ela. Com o trainee, segundo ela, diversas pessoas serão capacitadas para cargos de gerência.

Processo foi para a empresa, não para o país

A empresária declarou que a proposta era realizar mudanças internas, e não a nível nacional. "Isso que estamos propondo era uma coisa interna nossa. Nunca tive problemas de mudar políticas de negros no Brasil, queríamos mudar uma realidade nossa".

Até hoje falam: 'a Luiza é voltada para um propósito'. Como se eu fosse uma ONG e não tivesse lucro. Se eu fosse só voltada para propósitos, a empresa não estava valendo R$ 40 bilhões.
Luiza Trajano

Ela também mencionou um programa interno da empresa, de mais de 15 anos de duração, de bolsas de estudos para qualquer funcionário —e não apenas negros. "Educação é um programa do governo, está na Constituição".

Da mesma forma que o trainee voltado apenas para negros, ela afirmou que o programa de bolsas é uma ideia para melhorar a formação dos funcionários dentro da própria empresa.

Pagamos de 30% a 70% [dos cursos] porque as pessoas de nível mais simples não têm condições de estudar e trabalham o dia inteiro.
Luiza Trajano