Mais uma vez, a Telefonica consegue me tirar do sério. Pior: consegue se superar! Depois do parto que foi instalar a linha telefônica em minha residência, tive que passar por uma dessas... Após meu terceiro pedido de linha ser atendido, e eu finalmente ter uma linha, os marketeiros ativos da Telefonica começam a me ligar insistentemente oferecendo um Speedy. Conversei com vários deles. Entrei no site, pesquisei o produto, preços, etc.
Aí, em mais uma dessas ligações, quando eu já estava certo da opção de Speedy adquirir, eu fechei negócio com o atendente. Fiz a gravação do "Sim, confirmo a aquisição do produto..." conforme manda o protocolo. "Ok Sr. O Serviço já está ativo em sua linha, basta configurar o modem e o provedor" - diz o vendedor do serviço. Bom....
No dia seguinte, a noite, fui eu configurar meu router, e vejo que a luz de WAN só fica piscando. Consulto o manual, que responde "tentando sincronizar". Oras... não estava ativo o Serviço? Vou lá eu ligar na central de atendimento para ativar o serviço então. "Boa noite senhor! em que posso ajudá-lo?". "Pois não, eu gostaria de ativar o serviço Speedy na minha linha, adquirido ontem pela manhã" - resopndi. "Um minuto senhor, irei verificar. Qual o número da linha?". Respondi: "11 4*****". (Ha! Você não pensou que iria deixar meu telefone aqui agora, achou?). Passados alguns minutos, ele me retorna dizendo que não há disponibilidade para sua linha. "Como assim?! Ontem mesmo contratei o serviço Speedy com o operador que me confirmou a disponibilidade!". "Não senhor, realmente não há disponibilidade para sua região no momento", respondeu o novo operador...
Ora bolas, Telefonica!, o que está acontecendo? Você está ruindo?!? Essa é a nova estratégia de negócios da empresa? Vender produtos e serviços que não podem ser prestados pela corporação? Seria isso uma forma de 'propaganda enganosa'? Simplesmente Telefonica
No dia 28/4/2009 liguei para central da Telefonica para contratar uma linha para minha nova casa. Forneci todas as informações que me pediram, respondi pesquisa, escolhi plano e anotei o número de protocolo. Tudo como mando o "protocolo". Fui informado de que minha nova linha seria instalada em até 7 dias, até o dia 05/05 então. Fiquei esperando.
Então, no dia 04/05, o técnico apareceu a tarde em minha casa. Minha esposa atendeu-o ao portão, quando ele pediu para confirmar o requerente e titular da linha: "Thomas Lopes?"- perguntou o técnico. "Sim, é aqui."- respondeu minha esposa. O técnico disse então que iria verificar a 'caixinha' no poste telefônico e já voltaria para proceder a instalação.
Nisso, o temporal que já havia começado a formar tomou proporções que deixariam muitos assustados. O técnico então, qual criança assustada, desceu da escada como que num pulo, entrou em seu carro, e sumiu, sem mais nem menos, sem nem ao menos informar o que havia feito, iria fazer ou porque não fez nada. Nem sequer voltou no dia seguinte.
Liguei novamente na Central, no dia 06/05, perguntando sobre minha linha. A atendente informou que meu pedido "foi cancelado a pedido do cliente". COMO ASSIM!? Eu não pedi pra cancelar nada. Uma outra olhada nos detalhes do contrato e ela verificou que a linha não foi instalada pois o número de minha residência estava errado. "701 no lugar de 708 senhor"- disse a segunda atendente. Fiquei sem entender... Como o número poderia estar errado no cadastro, se informei corretamente, confirmei depois e ainda, o técnico foi em minha casa e confirmou meu nome? Ora bolas, tem algo errado aí... Tudo bem, eles não cumpriram a promessa, e eu tive que fazer outro pedido. COMO ASSIM NÃO PODEM APROVEITAR MINHAS INFORMAÇÕES DO PEDIDO ANTERIOR PARA GERAR UM NOVO? Pelo amor de Deus gente, estamos na era da Informação! Os computadores estão aí para ajudar! Toda aquela sabatina novamente: só falta perguntar a cor de minha roupa debaixo...
Pronto. Pedido feito. Estava eu a prestes a anotar o novo número de protocolo, quando meu celular desligou-se, pois a bateria acabara. Ainda bem que não havia nenhum transeunte na rua naquele momento, para ouvir tamanho palavrão que eu exclamei naquele instante. Chegando em casa, pluguei a fonte, e liguei novamente. "Precisamos do número de sua linha para poder informar o protocolo novamente!"- atendente entoa quase cantando. "Mas eu não tenho o número da linha, é um pedido de hoje!"- respondo eu já quase perdendo os sentidos. "Ligue no 10315 então"....
10315... Opção 8.... Opção X... "Boa noite, Telefonica, qualidade em telefonia"- entoa tal qual um hino a atendente, enquanto eu não aguento mais tanta enrolação. Após a sabatina de questões usuais, informei o caso, ela me passou o novo número de protocolo, e a data limite para instalação: 13/05. Eu então resolvi reclamar do descaso do técnico e da primeira atendente que havia "supostamente anotado meu número errado". Ela então me disse que no pedido anterior o número fora anotado corretamente, mas que o técnico anotou na requisição de serviço: "informações não suficientes para localização". COMO ASSIM!?!? Ele foi até minha casa, falou com minha esposa! Alguém está mentindo nessa história... Eu pedi à moça então que verificasse com o técnico o que aconteceu, e ela me respondeu que não tem como saber quem foi o técnico que "me atendeu". COMO ASSIM!? Mandam um profissional representando a empresa para prestar o serviço, e não sabem nem seu nome? Indaguei-a sobre a segurança dos clientes, afinal, qualquer um com uniforme parecido poderia se passar por um técnico. Ela não soube responder. "Com quem eu falo pra saber quem veio até minha casa?"- perguntei. "Não há ninguém que saiba essa informação- atendente. "Então, com quem eu falo para fazer esse tipo de reclamação?"- cliente estressado devido à falta de organização e cuidado com os clientes. "Também não há ninguem que possa ouví-lo quanto a isso senhor..."- atendente, deixando-me alarmado.
COMO ASSIM!? Não há ninguém que se responsabilize pelo (mau) serviço prestado pela empresa?
Qual webdeveloper nunca usou JQuery? Muito difícil... Bom, mas vamos falar de algo que nem todos os developers que usam jQuery se atentam ao programar. Eu mesmo fui pego hoje por um gap que me tomou alguns minutos da tarde...
Algumas funções (na verdade, a maioria nesse framework) recebem outras funções como 'callback', aquela função que será chamada assim que a instrução/função chamada acabar seu procedimento. Um exemplo muito utilizado em aplicações reais são as
Funções Ajax:
load( url, data, callback ) Returns: jQuery. Load HTML from a remote file and inject it into the DOM.
jQuery.get( url, data, callback, type ) Returns: XMLHttpRequest. Load a remote page using an HTTP GET request.
jQuery.getJSON( url, data, callback ) Returns: XMLHttpRequest. Load JSON data using an HTTP GET request.
ao usar a função load, você carrega um arquivo remoto (seja ele html puro ou um arquivo dinâmico, como PHP ou outra linguagem), mas o tempo que ele leva para ser processado nem sempre é igual. E se você precisa esperar que o conteúdo seja totalmente carregado antes de proceder com o script?Colocar um timeout? No way, uma vez que você não tem controle sobre o tempo de execução em todas as plataformas e clientes... Logo, o Callback está aí para sanar essa questão.
Porém...
Temos que tomar cuidado ao usar o Callback, uma vez que o desempenho dos sistemas ainda podem afetar a funcionalidade de seu código, e fazer você perder várias horas de seu precioso descanso...Veja esse trecho de código que trabalhei recentemente:
Alguém consegue perceber o erro, ou melhor, a Zebra? Muito difícil. Mas ao rodar o código, não acontecia o esperado: que minha tabela apresentasse o comportamento de uma tabela ordenável que o jQuery UI tablesorter plugin proporciona (ou seja, deu Zebra e não ocorreu a Zebra). Aí eu descobri o problema: a penúltima linha do código nem estava sendo executada... Seriam Gaps de performance?
Diferentes paradigmas
Fosse uma linguagem das antigas qualquer, onde o paradigma procedural imperava, esse código não teria problema, pois cada instrução só seria disparada ao final da anterior. No Javascript, a coisa não é bem assim, ainda mais quando se trata de AJAX - Assynchronous Jacascript and XML - uma requisição que é disparada e outra estrutura interna fica encarregada de processar os resultados quando eles chegarem. Ao efetuar a função getJSON, a requisição é disparada, e já passamos para a próxima linha (onde eu chamo o tablesorter na tabela), porém, não deu tempo da requisição JSON retornar e popular a tabela. Resultado: minha tabela fica populada mas não fica ordenável.
Graças a um amigo developer fera em JS, eu consegui perceber isso e reordenaro código de maneira que ele funcionasse como o esperado:
Assim, o tablesorter vai ocorrer dentro do callback, logo após ter terminado de ser populada a tabela. Na realidade, os callbacks foram feitos exatamente para situações como essa: quando a coisa vai demorar um pouco e você não tem certeza do quanto...
Ok, falamos de Frameworks Web... mas isso aqui ainda pode soar estranho para alguns: um framework CSS!!! Isso mesmo, uma forma de você acelerar seus projetos, até na hora de montar o layout do mesmo. Ele se chama 960 Grid System
Funciona assim: ele provê uma estrutura de 12 ou 16 colunas (divisível por 3 e por 4 em diante, respectivamente), possibilitando que vc estruture o layout sobre essa quantidade de colunas. Assim, vc tem um 'wireframe', ou melhor, um esqueleto onde colocar o resto do layout, sem ter que ficar se preocupando com dimensões, floatings, cleas, etc.
O que mais chamou-me a atenção, além da facilidade para ter a estrutura base, é o sketh que vem junto, em PDF< que você imprime, e pode rascunhar na mão o layout sobre o wireframe das colunas e depois chamar a div correta. Ou seja, você 'enxerga' o layout do site de forma intuitiva já junto ao cliente, tornando o próximo passo muito trivial.
Diversos traços de personalidade e comportamentos em comum destacam os profissionais de sucesso dos demais. Partes destas competências são naturalmente adquiridas ao longo das experiências de vida, valores e outras adquiridas pela necessidade de se sobressair no mercado de trabalho.
De acordo com Ari Lima em uma matéria da Webinsider, que lista as sete competências relevantes para a gestão de uma carreira de sucesso.
São elas:
Motivação. A capacidade de prosseguir, independente das situações adversas ou contratempos. É valorizado o profissional interessado, independente de bônus no salário, encorajamento dos superiores e palestras motivacionais;
Humor. A arte de gerenciar o próprio estado de espírito, para enfrentar o trabalho do dia-a-dia e a vida pessoal, mantendo harmonia interior e alegria de viver;
Produção de conhecimento. A capacidade de crescer profissionalmente, adquirindo conhecimentos relativos à profissão e relevantes para a organização em que trabalha, como também para sua carreira em particular;
Liderança. A capacidade de dirigir pessoas e tirar o melhor delas, levando-as a serem competentes e motivadas por trabalharem em equipe;
Relacionamento interpessoal. A capacidade de se comunicar com as pessoas em geral de forma eficaz, fazer amigos e influenciar pessoas - poder de persuasão;
Criatividade. A capacidade de criar e perceber coisas novas, gerar novas maneiras de fazer tarefas e reinventar métodos, produtos, formas de trabalhar;
Capacidade de sonhar. O exercício de imaginar coisas impossíveis e criar condições para realizá-las. Fazer o impossível tornar-se realidade pela imaginação, pela persistência e pela fé.