;(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
Topo

Funcionários do Starbucks nos EUA denunciam sistema de avaliação à la Uber

Funcionários consideram sistema de notas distorcido; especialistas citam "uberização das relações" - Getty Images
Funcionários consideram sistema de notas distorcido; especialistas citam "uberização das relações" Imagem: Getty Images

Da Redação de Tilt

Em São Paulo

29/05/2022 14h27

Assim como tem ocorrido com Amazon e Apple, uma onda de sindicalização também está surgindo entre os funcionários da rede de cafeterias Starbucks. E um dos motivos é tecnológico: um sistema de avaliação à la Uber que tem gerado revolta entre os baristas.

Tal qual na empresa de transporte, os atendentes do Starbucks recebem nota dos fregueses. É o chamado "Connection Score" ("Índice de Conexão"), já usado pela empresa há alguns anos no mundo todo, mas só agora discutido publicamente.

Segundo os funcionários, esse sistema os coloca à mercê dos caprichos dos clientes - que, contrariando a velha máxima, nem sempre teriam razão.

Paranoia e menos horas de trabalho

Dois funcionários entrevistados pela rede americana NBC disseram que notas baixas definidas pelo público os fizeram ter suas horas de trabalho reduidas pela gerência. (Nos EUA, tradicionalmente, os trabalhadores são remunerados pelas horas acumuladas no mês.)

No total, o canal entrevistou 17 funcionários e ex-funcionários da franquia, que reclamaram sobre como o sistema de notas os faz se sentir "impotente" diante das avaliações dos clientes.

"Você está lá criando as bebidas. Acho que muitas pessoas entram num bom ritmo. Mas então, lá no fundo da sua mente, [você pensa que] se você não disser 'oi' para todo mundo ou não conversar um pouquinho com todo mundo no meio daquela correria, é tipo 'isso vai afetar minha nota'", afirmou Maddie Vanhook, empregada de um Starbucks em Cleveland que sindicalizou essa semana.

Como é feita a medição

O "Connection Score" é definido por meio de pesquisas onlines, enviadas para membros aleatórios do programa de fidelidade de Starbucks. Em vez de avaliar uma prestação de serviço específica, como ocorre no Uber, o cliente avalia sua sensação geral com a loja, o que, segundo os funcionários, pode gerar distorções.

Outro problema é que o pesquisado pode dar notas de 1 a 7, mas só a nota 7 importa na porcentagem final. Por exemplo: se 100 pessoas responderem à enquete; 30 derem nota 7 ao funcionário e 50 derem nota 6, ainda assim o "Connection Score" dele será de apenas 30 pontos.

No principal fórum do Reddit dedicado aos funcionários e clientes de Starbucks, os baristas são unânimes em dizer que o sistema é ruim.

"[Nossa loja] também tem uma péssima pontuação, mas é tão distorcido. Só membros recebem as pesquisas, e as únicas pessoas que se sentem mais inclinadas a respondê-las são as que estão insatisfeitas", desabafa um dos usuários.

"Tivemos uma pontuação horrível recentemente. Acho que meu supervisor disse 22. Nós somos a loja com maior movimentação e com menos funcionários no distrito. É difícil fazer conexões [com os clientes] quando ônibus e mais ônibus estão chegando e há uma fila na sua porta", diz outro.

Em entrevista à NBC, o porta-voz da Starbucks Reggie Borges negou que os "Connection Scores" influenciam quantas horas de trabalho a equipe recebe. Segundo ele, esse valor é estabelecido pela frequência de fregueses e volume de venda.

Mas ele também reforçou que o índice reflete as prioridades da companhia: "É um número importante porque nós somos uma empresa baseada na ideia de que a conexão entre fregueses e funcionários é um diferencial em relação a outras redes. As pessoas vão ao Starbucks pela experiência."

"Uberização" das relações

O uso de avaliações de consumidor para gerenciar, premiar ou punir funcionários têm ganhado espaço no mercado, especialmente após a popularização de plataformas de "bicos", como Uber e iFood.

Segundo especialistas ouvidos pela NBC, essa tendência tem transformado a relação entre atendentes e clientes.

Uma das preocupações é que essas pesquisas podem ser permeada de vieses inconscientes quando o funcionário é mulher, negro ou latino, por exemplo. Então, sem querer, as empresas estão tomando decisões baseadas em discriminação, o que as tornaria acionáveis na Justiça.

" de clientes é algo historicamente disciminatório e não confiável", disse Dallan Flake, professor de direito na Universidade do Norte de Ohio especializado no tema. "Apesar disso, empresas estão utilizando-as mais e mais em processos decisórios como promoção, demissão e valor do salário."

Desde dezembro, eleições favoráveis a sindicalização ocorreram em 80 das cerca de 9 mil unidades da rede nos EUA.

"É um bom indicador de como os funcionários sentem que a corporação está desconectada da realidade do trabalho", avaliou Vanhook.