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

Vagas em home office: veja seleção de oportunidades para trabalhar de casa

Do Na Prática*

22/11/2021 04h00

Em alta, as vagas home office ganharam destaque na pandemia, mas devem continuar, em alguma medida, depois dela.

Afinal, se de um lado inúmeros profissionais tiveram a liberdade de desempenhar suas funções de casa (ou de qualquer outro lugar), muitos empregadores também viram vantagem tanto na redução de custos quanto na melhora da produtividade de seus colaboradores.

Seleção de vagas home office

Trinca

Empresa com 8 vagas nas áreas de Design, Experiência do Usuário e Tecnologia.

Inscrições pelo site da Remotar

Aegro

Empresa com 9 vagas nas áreas de Engenharia e Tecnologia.

Inscrições pelo site da Remotar

Invillia

Empresas com 27 vagas nas áreas de Tecnologia, Design e Engenharia.

Inscrições pelo site da Remotar

Grafeno

Empresa com 17 vagas nas áreas de Design, Pesquisa, Gerente de Produto, Compliance, Finanças, Tecnologia e outros.

Inscrições pelo site da Remotar

4all Tecnologia

Empresa com 20 vagas nas áreas de Tecnologia, Conteúdo, e, Design, CRM e outras.

Inscrições pelo site da Remotar.

Zenvia

Empresa com 12 vagas nas áreas de Marketing, Desenvolvimento de Software, Finanças, Design, Produtc Owner e outras.

Inscrições pelo site da Remotar

Digital Business

Empresa com 10 vagas nas áreas de tecnologia, programação, design e financeira.

Inscrições pelo site da Remotar

Pessoa desenvolvedora - Catho

Empresa do ramo de tecnologia em recrutamento e seleção.

Inscrições pelo site da Remotar

4 vagas - Foton Tech

Empresa do ramo de tecnologia que dá e a sites e plataformas de todo o mundo.

Inscrições pelo site da Remotar

Analista de CRM - Roit Bank

Empresa que desenvolve e fornece tecnologias e serviços contábeis e fiscais com vaga para Analista de CRM.

Inscrições pelo site da Remotar

Várias áreas - Fretebras

Empresa disponibiliza 100 vagas para diversos setores e não exige diploma de formação para os candidatos. As vagas são desde o nível júnior ao sênior.

Inscrições pelo site da Gupy.

Várias áreas - uCondo

6 vagas para diversas áreas para a empresa focada em istração de condomínios.

Inscrições pelo Pipefy.

Diversas vagas tech - Credere

A Credere, fintech especializada em financiamentos de veículos, está com 8 vagas remotas abertas. As oportunidades são para desenvolvedores back-end, desenvolvedores front-end, developer relations e designer UI.

Inscrições pelo Pipefy.

Analista de Inteligência Conversacional - Take Blip

Vaga para Analista de Interação de Chatbot, responsável por cuidar das interações que ocorrem nos produtos conversacionais.

Inscrições pelo Gupy.

Advogado Pleno - Alpargatas

A Alpagartas está contratando advogado para atuação generalista e foco nas áreas de Contratos, Direito Imobiliário, Campanhas Promocionais, Direito Digital e Direito Societário. É necessário ter inglês avançado e pós-graduação e especializações são diferenciais.

Inscrições pelo Gupy.

Analista de Marketing e Eventos - Take Blip

A plataforma de comunicação digital está com vaga aberta para analista de Marketing e Eventos. Para a oportunidade, é necessário ter formação em Comunicação, Marketing ou istração. Além disso, é demandado experiência na área de gestão de projetos, negociação de eventos e inglês fluente.

Inscrições pelo Gupy.

Várias áreas - Gerencianet

Vaga na Gerencianet para profissionais de diversas áreas, de comunicação a programação.

Inscrições pelo Kenoby.

Executivo de Negócios - Oi Brasil

A empresa de telefonia móvel está contratando consultor comercial, sendo o principal agente posicionador da Oi Soluções no Mercado Corporativo, atuando de forma consultiva, identificando e propondo soluções integradas de TI e Telecom (TIC) para os clientes.

Inscrição pelo Gupy.

Instrutor(a) UX/UI Design - Cubos

A startup de tecnologia busca um(a) instrutor(a) de UX/UI Design para uma vaga remota e meio período (6h por dia). Além de impactar na formação de novos Product Designers, o(a) contratado(a) irá revisar materiais, exercícios e conteúdos para aulas da Cubos Academy, mentorar e sanar as dúvidas de nossos alunos, orientando-os em seus projetos, entre outros.

Inscrições pelo Gupy.

Várias áreas - ei Direto

Vagas em diversas áreas de tecnologia na empresa ei Direto.

Inscrições pelo Gupy.

Tradutor(a) - Hostinger Brasil

Aos profissionais da Comunicação e Letras, a Hostinger Brasil está com vaga para tradutores da língua inglesa e que possua conhecimento e/ou experiência em técnicas de SEO.

Inscrições pelo Gupy.

*O texto "Vagas home office em Novembro: confira nossa seleção mensal de oportunidades de trabalho remoto" foi publicado originalmente no portal Na Prática, da Fundação Estudar.