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

'Decidi empreender e, em 3 meses, consegui Petrobras como cliente'

Tatiana Santarelli, fundadora da TeamHub, startup de tecnologia para gestão de cultura organizacional - Divulgação
Tatiana Santarelli, fundadora da TeamHub, startup de tecnologia para gestão de cultura organizacional Imagem: Divulgação

Caroline Marino

Colaboração para Universa, em São Paulo

19/09/2022 04h00

"Chegar ao lugar que você quer ocupar é difícil, mas permanecer nele, talvez, seja ainda mais". É com essa frase que a mineira Tatiana Santarelli, 44, define seu desafio diário à frente da TeamHub, startup de tecnologia para gestão de cultura organizacional. Mas coragem e fé nunca faltaram a Tati, como é chamada. Mulher preta e gorda, ela faz parte de um grupo de mulheres que quebrou barreiras e enfrentou o preconceito para entrar no mundo dos negócios de base tecnológica.

Esta é uma área em que apenas 25% das startups brasileiras foram fundadas por pessoas negras ou pardas, de acordo com um levantamento feito pela BlackRocks Startups, hub criado para promover o à população negra ao ecossistema de inovação, em parceria com a Associação Brasileira de Startups (ABStartups). Um recorte de gênero mostra o abismo entre o número de homens fundadores (72,4%) e mulheres fundadoras (18,7%).

Mas desistir nunca foi uma opção, e Tatiana foi crescendo e ganhando espaço. Em 2020, a TeamHub conquistou o selo Top Performance de Empresas Humanizadas pelo estudo conduzido pela "Humanizadas", startup de impacto criada pelo Grupo de Gestão de Mudanças da Universidade de São Paulo (USP).

Em 2021, recebeu um aporte financeiro por meio do programa Semente Preta, criado pelo Nubank exclusivamente para potencializar startups lideradas por pessoas negras. "A TeamHub foi um dos primeiros negócios escolhidos pelo programa. Tenho um orgulho enorme disso", afirma.

Mas seu sucesso já vem de antes, ao se especializar em recursos humanos e tecnologia. Abaixo, ela conta como obteve sucesso ao empreender, do zero, que a levou a conseguir abrir sua própria startup.

'Decidi empreender e em três meses consegui a Petrobras como cliente'

Tati - Divulgação - Divulgação
Tatiana Santarelli: 'Quero que outras mulheres negras me vejam e se sintam representadas neste ambiente predominantemente masculino e branco'
Imagem: Divulgação

Aos 31 anos, casada com um professor de filosofia e mãe de dois meninos, Tati sentiu necessidade de se desenvolver para aumentar o orçamento familiar. Foi quando começou a trabalhar como recepcionista em uma empresa de tecnologia e, ao mesmo tempo, ingressou em uma graduação de tecnologia em RH.

"Fui descobrindo que podia ocupar outros lugares e servir as pessoas de uma forma diferente", explica. Em apenas quatro anos, ela chegou ao posto de gerente de RH e sentiu que estava preparada para alçar voos mais altos.

Assim, Tati se organizou financeiramente e começou a se especializar, com uma pós-graduação em gestão com ênfase em pessoas.

Decidida a ganhar mais dinheiro para poder viver melhor e viajar com a sua família, Tati juntou a sua experiência na área com o conhecimento acadêmico para montar o seu primeiro negócio: uma consultoria em RH. "Abri a empresa em 2014. Com três meses de CNPJ, consegui a Petrobras como a minha primeira cliente formal", conta.

Uma coisa é certa: o positivo do cliente para o seu trabalho foi o que a motivou a abrir um outro negócio, desta vez de base tecnológica. "Senti a necessidade de criar uma ferramenta que ajudasse de forma mais simples e rápida as empresas a terem um diagnóstico de cultura e de ambiente", explica.

Foi aí que a empreendedora buscou uma pessoa da área de TI para ajudá-la a desenhar esse software e assim nasceu a TeamHub. "Ele era um homem branco que se tornou o meu sócio e um dos fundadores da startup. Em 2018, a gente já tinha um MVP [sigla em inglês para Produto Mínimo Viável] rodando nos meus clientes da consultoria e, em 2019, a empresa foi para o mercado."