sábado, 3 de junho de 2017

Tirando a IKEA da caixa e redesenhando para seus 1.6 bilhões de usuários



Mais de 1,6 bilhão de pessoas visitaram o site da IKEA em 2015. Isso é um quinto da população mundial e mais da metade de todas as pessoas com acesso à internet.

Mas, apesar desse alcance incrivelmente impressionante, a IKEA teve um problema de conversão. As plataformas on-line e móveis da loja fizeram um trabalho ruim de conversão de consumidores mais jovens, e a razão não era a falta de apelação ou preço da marca - era uma experiência de usuário desastrosa e desatualizada.



Veja a barra de pesquisa no topo do antigo site.

Poucos usuários da IKEA - se houver - conhecem os nomes suecos exatos dos produtos que procuram, por isso tendem a procurar uma categoria de produtos em vez de um item específico.

Infelizmente, no site atual da IKEA, uma busca simples de "estante de livros" retornou esses resultados:



Uma pesquisa de acompanhamento revelou que a IKEA se refere à maioria das estantes de livros como estantes, mas isso não deveria ter importado.

Os Millennials esperam que suas consultas sejam compreendidas pela primeira vez, e os consumidores mais antigos estão começando a esperar o mesmo.

A partir da home page para as páginas de produtos individuais, a forma de fazer grandes coisas da IKEA prejudicaram sua capacidade para alcançar uma geração inteligente.

Então, como fizemos com que a experiência do usuário da IKEA seja mais intuitiva, mais voltada para frente e mais significativa para os consumidores jovens, enquanto mantém a marca que, literalmente, bilhões de pessoas - jovens e antigos - já confiam? Permita-nos compartilhar nossas instruções passo a passo. (Chave inglesa não incluída).

Passo 1: projete uma primeira experiência amigável.

No site atual da IKEA, os visitantes foram recebidos instantaneamente com um pop-up, pedindo-lhes que se inscrevam para a lista de discussão. O pop-up foi abrasivo e desagradável. Ele estabeleceu o tom errado, então nós acabamos com isso.




Modified Image
Original Image


Substitui o pop-up por uma caixa de deslocamento mais sutil, que aparece depois de um usuário estar no site por pelo menos um minuto.

A opção de inscrição não interfere com o resto do site, e oferece economias instantâneas se o usuário optar por se juntar à lista de endereços. Como os compradores da IKEA tendem a ser conscientes dos custos, encontramos essa abordagem mais suave com uma oferta adicional para ser muito mais eficaz.

Passo 2: Reestruturar a página inicial

Em seguida, a página inicial estava muito confusa com informações e opções.

O site parecia ocupado, e nenhuma seção particular imediatamente chamou a atenção, criando uma experiência que se sentia avassaladora.

Optamos por reduzir drasticamente o conteúdo na página inicial, focando principalmente em um slider de imagem grande, que apresentou imagens de diferentes tipos de ambientes.

Também criamos as imagens mais representativas da base de clientes reais da IKEA.

O antigo site apresentava grandes salas em casas inatingíveis. A coisa é: a maioria dos americanos hoje são locatários.

As gerações mais jovens estão adiando casar, ter filhos e comprar casas.

Então substituímos as fotos prístinas, usadas na página inicial e nas páginas de destino da categoria, com imagens que refletem uma variedade muito mais ampla de arranjos de vida e estilos pessoais.



Nossas fotos apresentam exemplos de layout de cozinha (como o acima mencionado) e outros exemplos relacionados a pessoas ativas em torno de uma categoria específica - principalmente em apartamentos e espaços de vida menores.



Passo 3: Revisar a busca no IKEA

Lembra-se daquela maldita pesquisa de "estante de livros"?

Não foi um incidente isolado.

Por exemplo, procurar no site antigo para "sofá" não retornou nenhum produto correspondente. Por outro lado, a procura de "sofá" produziu 1095 resultados. Isso não é bom.

Então, nosso próximo passo foi uma revisão total do recurso de pesquisa da IKEA, utilizando os últimos avanços no processamento de linguagem natural e busca semântica usando a API do wit.ai.

O objetivo era capacitar os usuários para que pudessem encontrar o que procuravam o mais rápido possível sem ter que navegar pelas complexas hierarquias da sala empregadas pelo site atual da IKEA.



Passo 4: Redesenhar a experiência móvel.



Hoje, 68% dos americanos e mais de 85% dos smartphones dos Millennials e 87% dos usuários de smartphones informam que nunca se separam de seus dispositivos móveis. Não é necessário dizer que a plataforma móvel é uma necessidade absoluta para qualquer negócio.

O site móvel da IKEA foi essencialmente uma versão reduzida de seu site completo - não intuitivo e não amigável para dispositivos móveis.

Nosso primeiro passo foi integrar nossos recursos de pesquisa aprimorados no site móvel, tornando mais fácil para os usuários chegar ao produto de sua escolha.





Também integramos uma ferramenta de digitalização de código de barras para que as pessoas que comprassem nas lojas da IKEA possam procurar informações e críticas mais detalhadas sobre o produto antes de comprar.

Cinquenta e sete por cento dos compradores móveis comparam preços e produtos nas lojas, então essa adição foi vital.



Então fizemos atualizações sérias para o aplicativo IKEA.

As mudanças que fizemos incluíram facilitar a acessibilidade, o recurso de lista de compras e oferecer dicas de design semanais.





Sair da caixa e no futuro

A presença on-line desatualizada da IKEA foi dissuasora para os consumidores mais jovens, mas as mudanças que incorporamos atraem todos os fatores demográficos.

Ao oferecer a toda a presença on-line da empresa um design mais intuitivo e avançado, habilitamos a IKEA a permanecer fiel à sua marca, criando uma experiência melhor para todos os seus 1,6 bilhões de usuários.

Quais os problemas que você teve no passado com a experiência digital da IKEA? E como você sugere melhorá-lo?

Você pode ver a apresentação completa do projeto aqui.

BY MICHAEL ABEHSERA - DESIGN BLOG EDITOR @ TOPTAL

domingo, 28 de maio de 2017

Você precisa de um herói - o gestor de projeto

Este artigo é para você, o empresário valente com uma idéia de aplicativo em seu coração e um pouco de dinheiro no banco. Os diagramas que você rabiscou em guardanapos do coquetel será notado em todo mundo, e os caminhões de descarga cheios do dinheiro foram despachados na sua casa. Para garantir que eles cheguem a tempo, aqui estão alguns conselhos simples para fazer o seu ciclo de produção funcionar sem problemas.

Em primeiro lugar, por que você precisa de um gerente de projeto

"Os programas de computador são as coisas mais complexas que os seres humanos fazem", diz Douglas Crockford. Você pode não ter ouvido esse nome antes, mas para um programador ele é muito famoso. Ele é atualmente um arquiteto de software sênior no Paypal, e ele foi pioneiro de todos os tipos de tecnologia legal que está além do alcance deste artigo. Ele é alguém que sabe muito sobre como trabalhar em grandes projetos.

Quanto a mim, eu tenho programado por 13 anos, e até agora, em algum momento, cada projeto me leva para um território inexplorado. Há tantas tecnologias diferentes lá fora, e novas técnicas estão sendo planejadas em uma taxa tão alarmante que eu nunca sinto que estou completamente no topo do que está acontecendo. Embora cada projeto tenha seus desafios únicos, existem algumas constantes:

  • O projeto tem seu tempo de pressão.
  • O orçamento é menor do que eu gostaria.
  • Eu sou mais caro do que o cliente gostaria.
  • Eu não escuto tão bem como o cliente gostaria.
  • O cliente não explica as coisas tão perfeitamente quanto eu gostaria.
Claramente, precisamos de uma babá. Alguém tem de intervir para estabelecer as regras básicas, manter todos honestos e certificar-se de que não estamos esquecendo nada importante. Alguém tem que facilitar a comunicação entre todas as partes.

Esse alguém, esse herói, é o gerente do projeto.



Por que o gerente de produto está em uma caixa? Ele é um gato. Os gatos amam caixas.

A Toptal não ofereceu contratos com gerentes de projeto quando eu comecei a escrever este artigo, mas eles fazem agora. Sinergia! Já posso imaginar o poder que traz ler as dicas a seguir, e a percepção de que perdíamos uma grande oportunidade.

Por que um programador não se torna um bom gerente de projeto

Deixando de lado a Certificação pelo Project Management Institute, a coisa mais importante que um gerente de projeto pode trazer para a mesa é a experiência. Como resultado, muitos programadores se tornariam gerentes de projeto decentes; temos mais experiência do que ninguém em projetos técnicos e nossas mentes analíticas são adaptáveis na catalogação de informações e estabelecimento de metas concretas.

Deus sabe, você está nos pagando o suficiente, então parece razoável esperar que nós pudéssemos nos controlar, em vez de forçá-lo a pagar pelo tempo de outra pessoa também, certo?

Bem, para começar, você está nos pagando para codificar.

Quando saímos de nossa programação atordoada para tomar decisões sobre o que priorizar, ou para discutir sobre o que realmente vai ser feito esta semana, o código não está sendo escrito. Em seguida, leva pelo menos 10 minutos para voltar para a "zona", especialmente se estamos estressados pela conversa que acabamos de ter, o que é provável, se estávamos discutindo recursos prioritários. Não é grande coisa, eu sei, mas isso é tudo sobre como fazer o uso mais eficiente de recursos caros.

Mais importante ainda, nós realmente não podemos ver a floresta pelas árvores. Se você não tirar nada deste artigo, por favor, entenda isso: Se eu passar o dia todo olhando para alguns bugs específicos, meu cérebro perde o controle do quadro maior.

Meu cérebro recompensa-me quando eu corrijo os bugs, e eu suponho que fiz grandes coisas e que posso jogar video game agora. Quando alguém me lembra que a home page ainda está quebrada, vem como uma surpresa completa porque eu passei o dia enchendo meu cérebro com o conhecimento muito detalhado de um pedaço muito pequeno do projeto geral, esquecendo o resto dele. Isso é apenas como funciona o meu cérebro, e um monte de outros programadores têm um psicológico semelhante.



Quando saímos de nossa programação atordoada para tomar decisões de projeto, o código não está sendo escrito.

Por que o cliente não se torna um bom gerente de projeto

Bem, então, se nós programadores não queremos assumir a responsabilidade de fazer as coisas gerenciais do projeto, então ele deve cair para você, cliente. É o seu dinheiro. É a sua visão. Você é o responsável por tudo, de qualquer maneira.

No entanto, você também tem muito a fazer.

Muitos clientes são meros mortais com trabalhos do dia a dia, como nós, e alguns foram até mesmo conhecidos por sofrer de procrastinação ou esquecimento. Embora isso certamente não descreva você, por favor, considere a idéia de ter um 'Recordador Profissional' ao redor, de modo que possa regressar a um importante trabalho de manter o projeto com vida.

Se você trabalhou em, ou supervisionou, um projeto técnico de um âmbito semelhante, você talvez tenha se tornado, de fato, um bom gerente para o projeto. Se não, por favor, não subestime o valor de alguém que pode prever os problemas que possam surgir. Estimativas de tempo são sempre apenas estimativas, e os erros tendem a aparecer nos últimos momentos. Vale a pena o custo de outro empregado (que seja parcial) para ter alguém ao redor quem saiba que partes o processo precisa, ou são susceptíveis de necessidade, de maior atenção.

Faça, por exemplo, o controle de qualidade (QA). QA adequada é essencial para conseguir o que quer fora de qualquer projeto, e ele nunca recebe a atenção que isso merece. Um bom gerente de projeto vai aproveitar ao máximo os recursos limitados da QA, e também vai assegurar a qualidade dos programadores para você. Às vezes, nós saimos da nossa profundidade, e as vezes nós cometemos erros. Você precisa de uma pessoa tecnicamente proficiente em um papel de supervisão para determinar se o seu programador está tendo um mau dia, ou se, de fato, ele é uma boa alternativa para o projeto. Corrigir problemas pessoais desde o início pode significar a diferença entre a vida e a morte para o seu projeto.

Por último, mesmo você, ó glorioso cliente, às vezes precisa de um pouco de verificação e/ou equilíbrio. Isso é difícil de escrever uma vez que os programadores de computador não são conhecidos por sua natureza franca. É suficiente dizer que, eu tenho trabalhado em muitos projetos onde o cliente foi inflexível e que tudo era prioridade e absolutamente tudo era necessário para ficar pronto. Apesar de não ter dúvida alguma de que era verdade, infelizmente, esses clientes, não tinham o controle sobre o número de horas gastas em um dia. Eles não terminam com um resultado positivo ou desejado, e eu sinto que este resultado poderia ter sido evitado se o cliente confiasse a um Gerente de Projeto a autoridade para avaliar a carga de trabalho e com muito tato, mas firmemente, manter as coisas sob controle. É difícil não levar pro lado pessoal tomada de decisões erradas em um projeto técnico, onde é a sua idéia e seu dinheiro em jogo, sendo que o programador não se importa com tudo isto.

Uma lista incompleta de técnicas para a gestão de um projeto técnico

Se você decidiu ignorar as 1000 palavras anteriores e gerencia por si o projeto, ou se você vai contratar alguém, mas quer ser bem mais informado sobre o processo, a lista a seguir irá ajudá-lo. Eu nunca fui (oficialmente) um gerente de projeto, então eu não posso dizer que ferramentas qualquer gerente de projeto usaria, mas eu tive um bom sucesso com todas essas técnicas:

Milestones

Ao iniciar um novo projeto, a maioria das pessoas intuitivamente sabe que é importante dividir o projeto em pedaços ligeiramente mais gerenciáveis, com cada pedaço variando de algumas semanas a alguns meses de trabalho. No início do projeto, é bom ter uma reunião inicial para estabelecer esses marcos. É normal ser um pouco vago sobre como você vai alcançá-los, o mais importante é manter a verificação após cada marco, de modo a se beneficiar da compreensão melhorada de todos do projeto, e para se certificar de que os marcos do projeto ainda são (aproximadamente) do mesmo tamanho inicialmente considerado.

Tempo Estimado

Nós programadores absolutamente detestamos estimativas porque sabemos que elas estarão 'erradas' e sabemos que elas serão usadas 'contra' nós. É normal que elas sejam assim, pois por definição, elas são baseadas em um punhado de incógnitas. Também é normal que elas sejam usadas 'contra' nós porque nossos trabalhos, de certa forma, são muito confortáveis e não faz mal, de vez em quando, este tipo de pressão.

Então sinta-se livre para pedir estimativas cada vez que o trabalho começa em um novo marco. Você deve esperar uma linha ou duas para cada característica principal junto com uma estimativa aproximada de quanto tempo essa característica tomará. Eu costumo fazer uma estimativa otimista, em seguida, a dobro. Isso garante o tempo extra para as imprevisíveis armadilhas que podem surgir.

Histórias de usuário

As histórias de usuários são breves descrições de uma única peça de funcionalidade dentro do aplicativo. Elas são úteis como um registro de características importantes e deve ser bem medida, capaz de caber em uma ficha e muitas vezes acompanhada por um pouco de desenho. Mais importante ainda, elas servem como uma ponte entre o que o cliente quer e o que o programador tem que fazer. Elas devem ser simples o suficiente para o cliente entender rapidamente, mas detalhadas o suficiente para nós, programadores.

Para algumas informações rápidas sobre as histórias de usuários, eu encontrei estes tutoriais de Mountain Goat Software e Roman Pichler para ser de alta qualidade e sucinta. Para obter mais informações sobre toda a filosofia de "Agile Project Management", experimente esta postagem no blog Toptal The Ultimate Introdução à Agile Project Management por Paul Barnes.

Composiçôes (mock-ups)

Este não é um artigo sobre por que você precisa de um designer, porque eu sinto que a maioria dos clientes já entende isso, mas é preciso repetir porque você verá enormes ganhos de produtividade se você desenhar um projeto concreto, bem claro para seus programadores. Cada vez que temos que tomar uma decisão de design temos que deixar "a zona", e cada vez que temos que voltar e mudar algo, porque não foram fornecidos com o esboço final, bem, você faz a matemática ... Eu não estou reclamando, porque o design é divertido, mas na minha experiência, esta é a fonte No 1 de evitáveis horas extras faturáveis.

A maioria dos designers fornece composições, também conhecidas como comps, no Adobe Photoshop, no Adobe Illustrator ou no Sketch. Se você está fazendo isso sozinho, você pode usar uma das inúmeras ferramentas on-line como Balsamiq ou InVision. O comp não tem que ter as mesmas cores e estilos como o produto acabado (uma vez que estes podem ser facilmente alterados mais tarde), mas por favor, adicione um tempo extra para garantir que todos os elementos da interface do usuário estão presentes e contabilizados.

Reuniões de Stand-Up

Longas reuniões às vezes são inevitáveis, mas você realmente não quer sobrecarregar seus programadores ou ocupar mais do seu tempo do que é necessário. Eu tive clientes que pareciam esperar que eu me lembrasse de tudo o que foi dito durante uma reunião de duas horas e meia; Eles ficaram muito desapontados. Uma reunião stand-up é geralmente limitada a 15 minutos, e é habitual ficar durante toda ela. O aspecto permanente é importante para garantir que todos participem, bem como para manter a reunião curta.

Durante os stand-ups, todos circulam para fornecer um breve relatório de status, mantendo todos os membros da equipe atualizados sobre o progresso de cada um. Você pode encontrar mais sobre stand-ups em ExtremeProgramming.Org. Se você trabalha remotamente e não quer receber todos no Skype todos os dias, você pode tentar uma ferramenta divertida, como 15Five como uma alternativa para stand-ups. 15Five permite que os membros da equipe forneçam sua entrada sempre que for conveniente para eles, e os levará com perguntas do questionário para obter mais respostas em profundidade.

Ticketing System

Enquanto qualquer pessoa pode manter um sistema de notas e/ou Google Docs (com tarefas de todos destacados em cores diferentes), não é realmente necessário; Muitas pessoas têm tentado resolver este problema para você. Basecamp e Trello são famosos por sua facilidade de uso, enquanto Pivotal tenta encapsular toda a filosofia "ágil" em um pacote prático. Seja qual for a sua escolha, um bom sistema de anotações permitirá, no mínimo:

  • Criar tarefas
  • Atribuir prioridade e data de vencimento
  • Link de Tarefas e sub-tarefas
  • Atribuir resoluções diferentes, como "concluído" ou "Falha"
  • Mostrar todas as tarefas atribuídas a um determinado usuário


Quando um gerente de projeto mostrar-lhe 40 anotações vermelhas e brilhantes como prioridade para o mesmo dia, você vai realmente entender o valor desta visão para o projeto.



Você não tem que usar notas para controlar bugs abertos.

Controle de Versões

Você pode nem mesmo olhar para o código no sistema de controle de versão do seu projeto, mas o controle de origem (ou versão) é uma das ferramentas mais importantes à nossa disposição, o maior sistema de backup imaginável.

A maioria dos projetos modernos usam o Git, embora às vezes você funcione em Subversion (SVN) ao trabalhar em projetos que estiveram ao redor por um período. O Github permite que você hospede repositórios públicos ilimitados gratuitamente (além disso, contém a maioria dos projetos open source do mundo), enquanto o Bitbucket permite hospedar repositórios privados ilimitados e é, portanto, a escolha preferida para projetos comerciais.

Seja qual for o sistema de controle de versão que você escolher, ele armazena nosso código remotamente, caso de alguma aconteça, além de registrar cada vez que "atualizamos" o código, forçando a todos nós a escrever uma pequena mensagem descrevendo o que estávamos fazendo. Isso evita que os desenvolvedores diferentes sobrescrevam o código do outro, ele nos permite ver todas as alterações que foram feitas ao longo de um determinado período de tempo e nos permite criar novas versões de código para armazenar recursos que não serão atualizadas para produção, de imediato. Ele ainda tem um comando chamado "culpa" que mostra quem foi responsável por uma determinada linha de código, e quando ele foi atualizado.

Controle de versão é demais.

Desenvolvimento orientado a testes

Esta é uma prática relativamente cara, o que significa que não é freqüentemente empregado em projetos onde o orçamento é limitado a um par de freelancers. Então você, como um start-up, não deve se sentir muito mal por não fazer isso, mas eu tenho que pendurar a idéia na frente de você, porque ela fornece a defesa final contra bugs. Basicamente, os programadores passam horas preciosas adicionais escrevendo testes (pequenos blocos de código) que garantem que certas partes do aplicativo se comportem de maneiras específicas, previsíveis e repetitivas. Por exemplo, eu poderia escrever um teste afirmando que quando o botão "login" é clicado, um popup abre com um campo de nome de usuário nele.

A beleza dos testes é que uma vez que eu os escrevi, posso executá-los todos com um único comando. Se eu tiver 200 testes escritos, posso executá-los depois de lançar uma nova versão do aplicativo para me certificar de que nenhum bug foi introduzido em qualquer um desses 200 recursos. Não é perfeito, mas é o mais próximo possível de garantia de aplicativos livres de erros (bug-lite, pelo menos).

Em resumo

Isso é tudo que eu sei sobre gerenciamento de projetos. Eu não tenho certeza de quanto isso tudo passaria no Instituto de Gerenciamento de Projetos, mas é tudo o que eu obtive trabalhando em projetos da web ao longo da última década. Claro, eu recomendo que você contrate alguém para obter o benefício de sua experiência, mas espero que você encontre esta informação útil, mesmo se isso não é algo que você é capaz de fazer. Você será a autoridade final neste projeto, assim quanto mais você entender sobre seu funcionamento interno, mais provável será a vitória.

BY ETHAN JAMES - FREELANCE SOFTWARE ENGINEER @ TOPTAL

domingo, 14 de maio de 2017

Produtividade a caminho - trabalhe por tempo integral, viaje sozinho, divirta-se

Eu viajei sozinho enquanto trabalhava em tempo integral por mais de dez meses, em mais de 15 países. Foi uma das coisas mais divertidas e gratificantes que já fiz. As minhas pausas de trabalho no ano passado incluíram coisas como mergulho em Belize, aulas de polo em Buenos Aires, festivais de música na Hungria e muito mais.

Trabalhar em tempo integral enquanto na estrada não é fácil, mas é definitivamente uma habilidade que pode ser dominada ao longo do tempo.

Para aqueles interessados nos detalhes de como viajar enquanto se trabalha, já existem vários grandes artigos lá fora, explicando como ele é feito. Se você não está familiarizado, eu recomendo começar com Toptal COO Breanden Beneschott's guide.

Em termos de logística e planejamento, retirar um horário de trabalho em tempo integral enquanto na estrada é muito mais fácil e mais barato do que você provavelmente pensa (pelo menos na minha experiência), e a infra-estrutura para fazê-lo continua a crescer rapidamente.

No entanto, o problema a seguir é muito mais difícil de resolver, especialmente quando se viaja sozinho: Você pode desfrutar plenamente suas viagens, sem sacrificar a qualidade do seu trabalho?

Chegar a um equilíbrio

Você pode manejar a logística de viagens, trabalhar em tempo integral e cuidar de si mesmo fisicamente e mentalmente, reservando tempo suficiente para explorar os lugares que você está visitando, encontrar coisas divertidas para fazer e conhecer novas pessoas?

Já que você não vai ter um verdadeiro sistema de apoio quando estiver sozinho em um país estrangeiro e (geralmente) não falando a sua língua, encontrar um contrapeso é crucial. Sua rotina tem que ser sustentável no longo prazo, e se você não for cuidadoso, as coisas podem piorar rapidamente.

Como eu estive viajando, eu recebi um monte de perguntas de amigos e colegas sobre a psicologia deste estilo de vida, incluindo como evitar a solidão para maximizar a produtividade.

Não é para todos, mas este estilo de vida pode ser incrivelmente divertido e extremamente produtivo, desde que você descobra como fazê-lo de uma maneira que funcione para você. Como eu viajei, tenho notado alguns hábitos-chave, mentalidades e truques que são importantes para quem está pensando em trabalhar e viajar, independentemente de sua ocupação ou interesses.

Este post abrange algumas das estratégias mais importantes que eu peguei enquanto na estrada.

Vá para X faça Y

Quando você tem a opção de viver em qualquer lugar, pode ser difícil escolher um destino, e indo para lugares para ver/fazer coisas turísticas podem passar rápido. Eu sou um grande fã de ir a lugares para fazer atividades específicas (não-turísticas), ao contrário de apenas ir a lugares que soam interessante no papel.

Nos últimos meses, eu fui para:

  • Portugal para aprender a surfar.
  • Berlim e Zurique para conferências.
  • O Reino Unido para fazer uma viagem através do País de Gales.
  • Santorini para se juntar aos amigos que estavam em férias.
  • Israel para visitar a família e trabalhar em meu hebraico.
  • Belize para aprender a mergulhar.
  • Brasil, Uruguai e Argentina para o Toptal Roadtrip



Descobri que ter um propósito para suas viagens leva a alguns grandes resultados:

  • É muito mais fácil estruturar seu tempo e prioridades.
  • É mais fácil encontrar pessoas fascinantes com interesses compartilhados.
  • Você aprende novas habilidades incríveis que você sempre quis aprender.


Quando você está viajando sozinho e dedicando muito tempo para trabalhar, é importante limitar o tempo em que você está "resolvendo" os mesmos problemas diariamente. O que eu quero dizer com isso é que você não quer acordar todas as manhãs sem planos de trabalho, o que você vai fazer, onde você vai comer, quem você Vai encontrar, o que não fazer, e assim por diante.

Não só é fácil desperdiçar muito tempo e energia respondendo às mesmas perguntas vez após vez, mas também fará com que você se sinta que está nadando em círculos sem conseguir resultados.

Para ser claro, eu sou tão fortemente contra fazer qualquer coisa "muito organizada" durante a viagem. Eu sou bastante avesso a resorts, visitas guiadas, e assim por diante.

Como um bom amigo meu gosta de dizer:

"Gosto muito ver grandes navios de cruzeiro. Quanto mais os vejo, menos haverá pessoas lá onde eu estiver".

A aventura e a incerteza de viajar é metade da diversão, e é importante não perder de vista o planejamento.

Em suma, não vá apenas para a Tailândia. Vá para a Tailândia de moto de Bangkok para Chiang Mai. Vá para o Brasil porque você sempre quis experimentar o Carnaval. Vá para o Nepal, porque você sonha em caminhar na trilha do Annapurna.

As possibilidades são infinitas, e é quando você vai em algum lugar com um objetivo em mente que as coisas começam a decolar.

Reserve um tempo todo dia para aprender

Quando você está trabalhando em uma startup, há sempre um milhão de tarefas diferentes que precisam ser realizadas, e você está constantemente em uma corrida contra o tempo. Você pode facilmente gastar todas as suas horas do dia verificando a lista de afazeres, e com tanta coisa que precisa ser feita, pode ser difícil justificar investir tempo em qualquer coisa que não seja imediata, ou pelo menos diretamente relacionados com a tarefa.



No entanto, tomar tempo todos os dias para o propósito explícito de melhorar suas habilidades e aprender coisas novas tem um impacto profundo e positivo em várias maneiras importantes:

Você se torna muito melhor em seu trabalho. Seja um curso de ciência dos dados, ler estudos de caso em empresas de hiper-crescimento, ou aprender melhores práticas de SEO, investir no desenvolvimento de um forte conjunto de competências inter-funcional irá torná-lo mais eficaz no seu trabalho a longo prazo. Toda vez que leio ou assisto algo só porque quero aprender sobre isso, sempre saio com um conjunto de novas idéias, mesmo que essa coisa só esteja tangencialmente relacionada ao meu trabalho.

Você será mais feliz. Se você é como eu e gosta de pegar novas habilidades e ser produtivo, você será uma pessoa mais extrovertida, aventureira e feliz quando estiver aprendendo coisas novas. Eu geralmente me sinto muito bem depois de passar algumas horas lendo em um café ou recebendo um curso intensivo de aprendizagem de máquinas na praia. Mas ver filmes todo dia? Não muito.

É mais fácil encontrar pessoas com interesses compartilhados. Muito provavelmente você vai encontrar pessoas com os mesmos interesses. Mais importante ainda, quando você está interessado em aprender algo (especialmente se está relacionado à tecnologia ou startups), você pode quase sempre encontrar grupos em Meetup.com ou em outro lugar que estão cheios de pessoas que organizam eventos centrados em torno do tema. Esta é uma ótima maneira de conhecer e aprender com pessoas que compartilham seus interesses.

Empacote, mantenha-se móvel, e torne a logística fácil

Não é divertido quando uma companhia aérea perde a sua bagagem. É ainda pior quando uma companhia aérea perde sua bagagem e está sozinho em um país estrangeiro, não fala a sua língua, não tem contatos, e tem uma longa lista de mensagens de trabalho não lidas que você precisa desesperadamente verificar.

Você está viajando sozinho, então você pode manter um incrível nível de flexibilidade. Você não vai acabar usando pelo menos metade do que você estava originalmente empacotando, então se livre da mala, coloque esse suéter extra que você nunca vai usar de volta em seu armário, e siga em frente.

Coloco todos os meus pertences em um Deuter 65L travel pack e 25L Marmot backpack. Há muito espaço para tudo o que preciso, e posso carregar tudo confortavelmente nas minhas costas sem problemas.

Evite bagagem desnecessária e dezenas de obstáculos que se tornam dores de cabeça.



A última coisa que vou acrescentar aqui é que a logística de viagem é mais fácil do que você provavelmente pensa, especialmente quando você receber um cartão SIM pré-pago. Estes geralmente custam apenas US$10-20 para alguns GBs de dados, e obter um é praticamente a primeira coisa que faço quando me desloco para um novo local (é também absolutamente essencial para trabalhar a partir da estrada).

Esta página do Wikia é um ótimo recurso para uma visão precisa das opções do cartão SIM pré-pago na maioria dos países. Se possível, certifique-se de obter um cartão SIM que permita ancoragem. Para pontos de bônus, você também pode olhar para obter smartphones dual-SIM ou roteadores 3G/4G.

Com um telefone de trabalho e o rápido crescimento global da Airbnb e Uber, você pode não só encontrar um lugar agradável, razoavelmente barato para ficar dentro de algumas horas e obter um passeio lá dentro de alguns minutos, mas você pode fazer tudo isso a partir de seu telefone, sem nunca tirar sua carteira do seu bolso. Nota: Vale a pena fazer uma pequena pesquisa sobre os hosts Airbnb; Se você estiver em um país onde você não fala o idioma, encontrar um anfitrião (e que possa compartilhar alguns de seus interesses) pode fazer uma grande diferença.

Estas soluções, juntamente com a diminuição constante dos custos de voo, significam que muitas das dores associadas à viagem estão desaparecendo rapidamente. Você pode decidir saltar para o outro lado do mundo amanhã e ter tudo planejado, minutos depois, sem ter que recorrer ao banco.

Por DROR LIEBENTHAL - DIRECTOR OF OPERATIONS @ TOPTAL

domingo, 12 de março de 2017

A nova onda do empreendedorismo

Existe uma economia de vários trilhões de dólares abrindo oportunidades para a tecnologia mais rápido do que nunca. Tem sido impulsionado por tendências que mudaram a natureza dos empresários, especificamente como serão caracterizados no futuro. Especificamente os executivos da indústria com potencial tecnológico serão a próxima onda de CEOs demandados por startups emergentes.



Em 2007 a Apple reformou completamente a indústria tecnológica com o lançamento do iPhone. É difícil imaginar que em apenas 8 anos, desde o lançamento do primeiro smartphone da empresa, o impacto tenha sido mundialmente tão grande.

Além da criação de uma nova dimensão de indústria dirigida, baseada em localização (e com ela, uma miríade de empresas de bilhões de dólares), surgiu um fenômeno igualmente significativo.

Ao criar uma tecnologia que era intuitiva para as massas de consumidores, cada pessoa em todo o mundo começou a abraçar a tecnologia como sendo mais do que apenas uma ferramenta de trabalho.

Advogados, médicos, mecânicos de carro e pessoas de todos os setores da economia não só tinham uma ferramenta para a produtividade, mas uma peça de tecnologia no bolso que eles abraçavam como parte íntima de suas vidas.

Além disso, esses novos consumidores poderiam agora apontar para um padrão para a tecnologia utilizável. Já não é mais aceitável, por exemplo, um software que não consiga buscar casos fora do escritório de um advogado. Para aqueles que estão fora da área da Silicon Valley, podemos ouvir as conversas dos trabalhadores da construção, sentado em uma pausa para o almoço dizendo "não seria bom se houvesse um aplicativo para ...". Infelizmente, essas conversas estão muitas vezes muito longe das orelhas do Vale do Silício, que ainda são dominadas pela conversa sobre o que será o próximo WhatsApp ou Instagram. Mesmo assim, está surgindo uma nova geração de empreendedores que vêem em primeira mão os desafios em sua indústria, e com isso a oportunidade de causar um impacto de mudança mundial, e esses empresários não se encaixam no protótipo que muitos investidores do Vale do Silício procuram.



Nas décadas anteriores, ocorreram mudanças semelhantes nas caracterizações de empreendedores. O final dos anos 90 foram sobre Harvard MBAs aplicarem técnicas tradicionais de gestão para alavancar novas tecnologias da Internet. Além disso, a primeira década do século XXI trouxe a "Ciência da Computação de Stanford de 22 anos" aplicada a uma indústria instável. Agora, nesta década, estamos vendo uma nova onda de empreendedorismo impulsionada por executivos da indústria com a intenção de impulsionar a tecnologia ainda mais e descontinuar uma indústria não-tecnológica.

Nos últimos 2 anos tive a oportunidade de ver essa mudança em primeira mão como sócio-gerente da Silicon Valley Software Group (SVSG), uma empresa de CTOs focada em ajudar as empresas com sua estratégia de tecnologia. A SVSG tem visto empresários que vão desde produtores de filmes, cantores líderes de bandas de rock mais famosas, executivos de viagens e gerentes de fundos, todos tentando descobrir como alavancar seus conhecimentos por meio da tecnologia. Depois de uma série de compromissos semelhantes, algumas observações surgiram:

Em cada empreendimento, um empreendedor focado no produto viu a adoção da tecnologia entre as pontas e, com isso, a oportunidade de criar um produto focado naquela indústria.

Nenhum desses empresários tinha notável experiência de tecnologia.

Quase NENHUM desses indivíduos de alto perfil tinham conexões relevantes com a comunidade do Vale do Silício.

Esta última observação é de particular importância!

Por mais centrada que a Silicon Valley possa ser, há uma razão que tem produzido tantas empresas que mudam o mundo.

A combinação de capital de crescimento, talento multidisciplinar e mentores compartilhando melhores práticas sobre como criar negócios de hiper-crescimento são muitas vezes tomadas por garantido por aqueles que fazem parte do ecossistema. No entanto, a desconexão entre os nativos do Vale do Silício e os de fora é chocante. Muitas das empresas SVSG que surgiram não tinham capacidade para levantar capital porque seus negócios eram muito arriscados, considerando as armadilhas mais comuns as quais eram propensos a cair. Conceitos comuns como a metodologia de inicialização enxuta são bem-vindos como uma visão sábia para esses novos empreendedores.

O que falta para esses novos fundadores é uma ponte para o Vale do Silício. Até o momento, isso foi impedido por uma mentalidade estreita da comunidade do Vale do Silício. No entanto, com a força do capitalismo eles acabarão por prevalecer, e estes novos empresários vão encontrar a sua própria comunidade. Investidores interessados irão liderar o rebanho e tirar proveito dos mercados existentes e maduros para a mudança. Incubadoras e aceleradores irão surgir com foco em empreendedores com profunda experiência na indústria. Estamos em um boom tecnológico agora e existem inúmeras maneiras de aplicar a tecnologia para indústrias que não mudaram em décadas. Para aqueles sentados no canto do escritório, chegou a hora de se aventurar, há mercados para romper.

Artigo Original: La nueva ola del emprendedorismo
Escritor: MATT SWANSON - MANAGING PARTNER @ SILICON VALLEY

quinta-feira, 9 de fevereiro de 2017

Bootstrap - Construindo uma Empresa à Distância



Fugindo um pouco de artigos puramente técnicos, permita-me apresentar-lhes um conceito que gosto muito - ser um Freelancer sem localização fixa. Lendo o artigo da Toptal Developers - a qual recebi a oportunidade de republicar o artigo sobre este tema - fiquei empolgado em saber como tem crescido este tipo de profissional around-the-world.

Note no artigo a seguir - de Jan Schulz-Hofen - como tem sido realmente interessante e rentável este tipo de trabalho.

Bootstrap: Construindo uma Empresa à Distância

Se me perguntam, respondo que trabalhar remotamente é o melhor que existe. Atualmente, estou escrevendo a partir de um bar em uma pequena praia em uma ilha remota no sul da Tailândia. Quando olho para cima do meu laptop, eu só vejo o oceano infinito e águas cristalinas. Vou aproveitar esta manhã, sem distrações e me concentrar em meu trabalho porque o resto da equipe ainda nem acordou. Fusos horários funcionam muito bem para equipes distribuídas.

O meu colega Thomas conversou recentemente com 11 Líderes em Gestão de Projetos (11 líderes em Gerenciamento de Projetos) sobre o impacto de trabalhar remotamente em uma empresa; alguns especialistas argumentaram que equipes Scrum distribuídas podem trabalhar em conjunto de forma eficaz, enquanto outros discordaram fortemente.

Eu entendo as suas preocupações; você simplesmente não pode abrir as portas da empresa e libertar todos na "selva". Não é garantido que terminará tendo um negócio próspero. Um exemplo claro é o de Marissa Mayer no Yahoo, no famoso corte de empregos à distância em 2013 (axed remote work), quando sentiu que alguns funcionários estavam abusando dela.

Então, como você pode encontrar uma empresa tecnológica de trabalho à distância? Continue lendo. A história a seguir é baseada na nossa experiência em Planio e como sabemos que o trabalho à distância funciona.

Entre na Planio, Minha Empresa à Distancia

Há uma série de coisas que me motivou a começar a minha empresa. Separar-me do trabalho do cliente, mantendo todos os benefícios de freelancer sem um local fixo foi uma das razões.

Em 2009 eu estava sob a sombra de ciprestes, em um belo jardim ao estilo mediterrâneo - onde podia ver as colinas da Toscana, enquanto trabalhava duro em um novo projeto: Planio

É uma ferramenta de gerenciamento de projetos para pessoas como eu: desenvolvedor. Planio ajuda a criar projetos de clientes de forma mais organizada e transparente, reduzindo o número de ferramentas e plataformas necessárias para fazer o trabalho. Planio é baseado no Redmine de código aberto (um projeto de software open source baseado em Ruby on Rails) que eu usei com meus clientes remotamente desde o começo. De certa forma, o trabalho à distância já está no DNA do Planio.

Hoje meu pequeno projeto paralelo cresceu e se tornou uma empresa real. Somos uma equipe de 10 pessoas, servindo mais de 1500 empresas em todo o mundo. Nós temos um escritório em Berlim, mas muitos de nós trabalha à distância.

Neste artigo indagarei sobre os princípios, ferramentas e lições que me ajudaram ao longo dos anos. Depois de lê-lo, espero que você possa projetar seu software para que seja remote-friendly desde o início.

"Falar não custa nada. Mostre-me o código." Linus Torvalds

Toda quinta-feira temos uma chamada de vídeo conferência (All-hands conference) onde discutimos o que fizemos na semana passada e o que vamos fazer no futuro.

A princípio passamos muito tempo discutindo idéias antes de decidir o que fazer, mas descobrimos que é muito mais difícil quando alguns membros da equipe têm uma internet ruim e você não pode vê-los.

Agora somente "fazemos as coisas" e, em seguida, discutimos, criamos um protótipo que funcione com algumas idéias essenciais e depois falamos sobre isso. Por exemplo, recentemente encontramos alguns problemas de desempenho com nossos repositórios de Git. Em vez de discutir e analisar todas as maneiras em que se pode economizar alguns milissegundos aqui e ali com cada proposta, o meu colega Holger simplesmente construíu suas melhorias sugestões (Speeding up Git at Planio) em uma prova de conceito em um servidor em staging para onde dirigimos parte de nosso tráfego. Isto resultou em sucesso e essas idéias irão para produção.

Este método faz com que todos se concentrem na ação em vez de falar. O tempo gasto escrevendo código é recompensado ao ver que gastamos menos tempo com rodeios.

Use Comunicação Escrita

A comunicação em tempo real diminui a clareza. Chamar um parceiro quando você precisa de algo é fácil e instintivo, mas nem sempre é a melhor opção. Não me lembro quantas vezes eu passei escrevendo um e-mail ou nota Planio para que em seguida resolvesse o problema enquanto redigia.

Zach Holman, um dos primeiros engenheiros contratados no GitHub, concorda: "O texto é explícito. Ao forçar a comunicação através de um método de escrita, isso obriga as pessoas a formular melhor as suas idéias".

A comunicação escrita também torna mais respeitoso o tempo dos outros, especialmente quando você considera os diferentes fusos horários. Uma comunicação imediata pode ser disruptiva; pode ser que a pessoa está tentando descobrir por que um sistema ou processo não funcionou adequadamente. Em contraste com um e-mail, ele ou ela pode lê-lo quando for mais conveniente, e fornecer uma resposta apropriada.

Seja o mais transparente possível

Passar muito tempo se preocupando com a política do escritório não é o caminho mais propício para entregar um software que funciona, e clareza ou transparência promove a confiança. Não é por acaso que as empresas à distância como a Buffer, tenham uma transparência radical. No caso da Buffer, a empresa compartilha informações sobre os rendimentos e salários de todos os funcionários.

Automattic, a empresa por trás da Wordpress.com, também enfatiza a transparência. No livro "A Year Without Pants", Scott Berkun compartilha sua experiência trabalhando remotamente para a Automattic, e que todas as decisões e discussões estão disponíveis para os funcionários em sua discussão na plataforma P2, como parte de sua ênfase na transparência.

O recurso de bate-papo no Planio funciona de forma semelhante. Os debates são abertos a todos e as histórias são conectados automaticamente a partir dos problemas discutidos para que ninguém fique de lado; mesmo novos funcionários podem ler as decisões tomadas anteriormente e por quê. Quando eu comecei a desenvolver a função de chat, considerei adicionar um recurso para conversar em particular com os outros, mas quando debatíamos em equipe notamos que é melhor não fazer isso, para ter a maior transparência possível.

Penso que a transparência é fundamental para a equipes remotas. Por exemplo, imagine por um momento que você acabou de se juntar a uma equipe de desenvolvedores à distância. Talvez você nunca tenha conhecido antes seus novos colegas. Você não sabe as regras tácitas de comportamento. Pode ser que você se preocupe se você está fazendo um bom trabalho ou não. Será que os seus colegas de trabalho estão sendo sarcásticos ou sinceros realmente? Será que vão discutir em particular se você é um bom engenheiro?

Digitalize seus sistemas

Nós escolhemos os nossos serviços de acordo com o que oferecem nas plataformas on-line, desde os provedores de telefonia até os de bancos (alguns até mesmo oferecem um pequeno incentivo financeiro se você decidir deixar os papéis, afinal é ótimo para o meio ambiente). Eu tenho a sorte de ter um advogado e um contador da Planio que não se importa de receber e-mails ou mensagens através do Google Hangouts, ao invés de me dizer para ir para seus escritórios. (Na verdade eu recomendo isso na primeira reunião). E pontos extras se conseguem encontrar uma ferramenta de gerenciamento de projetos que fazem parte de sua equipe.

Estamos digitalizando nosso correio postal; na Planio usamos um serviço chamado DropScan, que recebem nossas cartas, as escaneia e encaminha as mais importantes para as pessoas certas. Você não gostaria que um amigo a obtivesse e lesse no Skype. Se você não consegue encontrar um provedor que escaneie o seu correio postal em seu país ou cidade, alguns sites oferecem filiações virtuais para ter um endereço físico, enquanto não estiver na área.

Para aquelas empresas que ainda estão enviando correio postal, existem serviços para que nunca precisem visitar uma agência dos correios novamente. Nós usamos uma empresa de impressão alemã com uma API (interface de programação de aplicativo) que envia automaticamente uma carta para cada novo cliente da Planio. É algo que as pessoas gostam, e não tem que imprimir e enviar nada. Algumas alternativas internacionais são Lob e Try papel.



 Deveria ter uma presença digital?

Em uma co-working, na ilha tropical de Koh Lanta, Tailândia, notei alguém em apoio a uma plataforma de e-commerce grande estava constantemente numa vídeo-conferência com o resto da equipe. Sqwiggle fornece uma função semelhante de "presença" em equipes remotas.

Eu acho que exigir que todos os funcionários estejam "presentes" através de vídeo durante o trabalho pode ser baseado no medo de que os empregados abusem do recurso do trabalho remoto . Na minha experiência, este não é o caso. Na co-working tropical existe uma certa urgência no ar, apesar dos ocasionais coquetéis de côco. As pessoas estão concentradas tranquilamente em seus laptops; É como se elas quisessem que o trabalho à distância funcione para ficar longe de um escritório para sempre.

Nós percebemos que precisamos de uma presença digital, porque temos um alto nível de confiança com toda a equipe. Eu também acho que é importante respeitar a privacidade de todos. Se sua empresa está fazendo a mudança de trabalho de escritório físico para remoto, presença digital pode ajudar a aliviar esses problemas de desconfiança nos gestores mais ansiosos.

Escolha Bootstrapping em vez de Capital de Risco

A maioria dos capitalistas de risco buscam resultados exagerados, então eles preferem uma pequena explosão de 12 meses de trabalho de uma equipe em vez de um ritmo mais sustentável. Front App, uma nova empresa fundada por Y Combinator, uma aceleradora do Vale do Silício, alugou uma casa na baía durante seus três meses no programa da mesma aceleradora. O objetivo é avaliar uma ideia empresarial rapidamente.

Dada esta mentalidade de resultados desmedidos, pode ser difícil convencer um investidor de risco para financiar uma estadia em uma praia no Camboja. É por isso que muitas empresas apoiadas (como buffer ou Treehouse) que se dedicam ao trabalho à distância, tenham vantagens. Buffer era rentável antes de se investir nela, enquanto Ryan Carson, o fundador da Treehouse, já havia demonstrado suas habilidades com outras empresas.

Mas aqui está uma outra opção que é melhor do que o capitalismo de risco: Bootstrapping. Isto significa financiar uma empresa com receitas de seus primeiros clientes. Na minha opinião é a melhor abordagem, porque permite mantér sua empresa com seus próprios termos e permanecer no controle. No entanto, muitas vezes é necessário ter dois empregos ou trabalhos freelance no início. Levei cerca de dois anos trabalhando em projetos para clientes da Planio para iniciar por completo, mas valeu a pena.

Bootstrapping também obriga a construir um negócio que gera renda desde o início, na qual acho muito mais saudável. Dica: Criar uma B2B SaaS torna tudo muito mais fácil criar um aplicativo de consumidor, porque as empresas estão mais dispostas a pagar assinaturas mensais se lhe agrega importância. Você deve vender muitas aplicações para consumidores do iPhone a $0,99 para cobrir o pagamento de um mês de uma equipe pequena.



Coloque o preço de seus produtos Estrategicamente

Um dos nossos primeiros clientes era uma empresa de tecnologia grande com receita de bilhões por ano. Obviamente, ficamos emocionados quando nos escolheram dentre os concorrentes maiores e mais bem estabelecidos. Continua a ser um cliente satisfeito, mas agora nosso alvo não é mais empresas muito grandes; descobrimos que precisávamos de muitas reuniões presenciais antes de se tornar um cliente.

Como Jason Lemkin diz em seu artigo sobre como alcançar o sucesso de SaaS (Scaling Your Customer Success Team), quando você tem uma grande empresa, alguém vai ter que pegar um avião duas vezes por ano para visitar. Se você tem uma pequena empresa de duas ou três pessoas, essa pessoa vai ser você, o CEO, CMO e CSO.

Mantendo seu modelo de preços com limites aproximados a US $49/$99/$249, tal como sugerido pela empresa Patrick McKenzie, isso significa que você não terá que contratar uma equipe de vendas de negócios, e depois ter de ganhar uma enorme quantidade de dinheiro que este equipe requer. Você e o cliente não vão esperar que o CEO de uma empresa apareça no Natal com uma caixa de chocolates quando você estiver pagando $249 por mês.

Desenvolva Código-Aberto

Um negócio com respaldo de risco baseado em software proprietário é bom quando você joga o "vencedor leva tudo" e é o proprietário do mercado. Quando você é uma empresa bootstrap, o software de fonte aberta pode dar-lhe vantagens e possibilidades que não poderia ter alcançado de outra forma.

Há uma precedência de empresas de tecnologia rentáveis ​​construindo negócios baseado em código aberto; o famoso código aberto Rails Basecamp tem garantido engenheiros de alta qualidade para o resto da eternidade. GitHub tornou-se um unicórnio, usando o projeto de código aberto que Linus Torvalds Git começou a questionar sobre as fontes do kernel Linux. Nossos amigos em Travis-CI começaram um projeto open source, criaram uma campanha Crowdfunding e, em seguida, converteram em um negócio de bootstrap à distância (que também faz campanha pela diversidade tecnológica através de sua fundação).

Planio é baseado no Redmine e nós contribuímos muito dos nossos recursos e melhorias para a comunidade. Isso funciona muito bem em muitos aspectos; nossas contribuições e compromissos com a comunidade ajudam no andamento do projeto de código aberto e Planio é exibido aos clientes potenciais. Para nós, é a forma mais autêntica para desenvolver a marca; para mostrar o nosso código e responder a discussões técnicas abertas, demonstramos que sabemos o que estamos fazendo.

Contratar profissionais certificados

A contratação de uma frota de estagiários a cada ano só faz sentido se você pretende fazer crescer o número de funcionários assim que você alcançar a próxima rodada de financiamento.

Terceirização de tarefas é fácil no que se refere a copiar-e-colar, mas você não vai querer terceirizar seus DevOps para alguém com a menor taxa/hora, quando você tem milhares de clientes dependendo de seus servidores: você quer profissionais certificados, tais como aqueles encontrados na Toptal.

Matt Mullenweg, fundador da plataforma de código aberto para blogs WordPress, disse que, concentrando-se na qualidade, significou que sua empresa, a Automattic, pôde contratar candidatos experientes que conseguem manejar um ambiente de trabalho não estruturado de uma companhia à distância.

Isso significa que "testa" candidatos dando um trabalho remunerado em um projeto para várias semanas, e depois os contrata com base em seu desempenho. Automattic descobriu que este método é muito mais eficaz do que os tradicionais CVs e cartas de apresentação para encontrar candidatos adequados.

Destaque a Qualidade de Vida

O trabalho toma uma incrível quantidade de tempo ano após ano. Não deve ser algo que você faz apenas para terminar e pronto; Se for assim, provavelmente você acaba perdendo muito de sua vida. A melhor fonte de inspiração e o principal ingrediente para grandes resultados é um ambiente de trabalho inspirador, agradável e divertido. Viagens, aprender e socializar com outras pessoas de diferentes culturas torna o trabalho não um sacrifício ou um mal necessário (pelo menos na minha vida), comparado ao tradicional trabalho no escritório, das nove às cinco.



Não é apenas viajar o mundo, mas é também o aspecto da liberdade pessoal. Os pais podem passar mais tempo com seus filhos, evitando uma viagem de duas horas. Você não tem que viver no Vale do Silício para ganhar o salário de San Francisco. Talvez a sua outra metade também obtenha um emprego no estrangeiro e não tem que ser limitado a terrível decisão de ficar com o seu trabalho e continuar a sua carreira, ou se tornar um "cônjuge de transferência", com opções de carreira limitadas.

Na Planio, embora muitos de nós trabalhemos remotamente, todos nós tentamos nos reunir uma vez por ano em um lugar divertido. No ano passado, passamos um par de semanas durante o verão em Barcelona, ​​e muitos de nós nos conhecemos aqui na Koh Lanta este ano. Ainda estou à procura de ideias para o próximo destino, então me avise se você tem tiver dicas!

Que tipo de ferramentas, idéias ou técnicas que você aprendeu fazem com que o trabalho à distância seja mais fácil e efetivo? Deixe um comentário abaixo.

Artigo Original: Bootstrapped: Construyendo una Compañía à Distancia
Escritor: JAN SCHULZ-HOFEN - FOUNDER & CEO @PLANIO

quarta-feira, 7 de setembro de 2016

Node.js In Action



O que é Node.js?

De acordo com o site oficial - nodejs.org - é uma plataforma construída em cima de um mecanismo que interpreta código Javascript do lado do Servidor, chamado V8 - da Google. Este mecanismo é utilizado inclusive pelo Chrome.

Ele foi desenvolvido em C++ pelo desenvolvedor [Ryan Dahl] em 2009.

Neste artigo vamos aprender como criar códigos Javascript do lado do servidor Windows (node.js roda também em Linux e Mac) que possa ser consumido por qualquer Client.

Instalação

Baixe o instalador a partir do website oficial - nodejs.org - eu vou pegar a versão 6.5.0. Rode o arquivo MSI e siga os passos do wizard.



Após a instalação você já pode testar o componente abrindo o Command Prompt e digitar [node]



Hello World

Para todos nossos exercícios vamos utilizar o Visual Studio 2015 Community Edition.

Crie um arquivo novo no VS do tipo JS e adicione a seguinte linha de código


console.log('Hello world, nodejs');

Salve como helloworld.js, abre o CMD e execute o comando conforme ilustrado abaixo



Node.JS Module

Node.js provê [módulos] para nos ajudar no desenvolvimento. Você vai perceber que com ele vamos ganhar muito tempo no desenvolvimento, eliminando muitas linhas de código. Provavelmente você já possui o gerenciador de módulos ao instalar o Node.js. Para verificar isto abra o CMD e digite npm -help

Sua tela ficará conforme ilustrado abaixo



Nota1: Para usar o npm seu computador precisa estar conectado na internet e seu usuário precisa ter privilégios de administrador.

Nota2: Toda programação é baseada em Javascript (e o Node.js Module, como veremos), portanto o único pré-requisito é conhecer bem este tipo de programação.

Events Module

Vamos aprender um módulo interessante que nos ajuda a programar um código baseado em Evento. Para tanto vamos usar o objeto [EventEmitter] para criar nossos eventos.
A idéia é criar uma função de CallBack do Javascript e passar esta função como parâmetro para a função [on()] do objeto EventEmitter.

Crie o seguinte código JS


var EventEmitter = require('events').EventEmitter;
var myEmitter = new EventEmitter; 

var connection = function(id){ 
 // do something 
 console.log('client id: ' + id); 
}; 

myEmitter.on('connection', connection); 

myEmitter.on('message', function(msg)
{ 
 // do something 
 console.log('message: ' + msg); 
});

Para testar escreva este script


myEmitter.emit('connection', 6); 
myEmitter.emit('connection', 8); 
myEmitter.emit('message', 'this is the first message'); 
myEmitter.emit('message', 'this is the second message'); 
myEmitter.emit('message', 'welcome to nodejs');


Salve todo este código, por ex, eventDemo.js e execute-o no CMD, conforme ilustrado



Notou a execução dos eventos [connection] e [message]? Graças ao objeto [require('events').EventEmitter] nós conseguimos anexar a function [connection] e a [message] e executá-las através do método [myEmitter.emit()].

Se você quiser executar o método de callback apenas uma vez, basta trocar a função [on()] do objeto EventEmitter para [once()].

Para remover um evento você precisa usar o método [removeListener] do objeto EventEmitter


myEmitter.removeListener('connection',connection);

Web Applications

Com node.js podemos criar um [web server] totalmente em JS!
Node.js Module nos provê uma forma de manipulação do protocolo HTTP, com Requests e Responses.

Vamos criar um código que fará isto.


var http = require('http'); 

var server = http.createServer(function (req, res) {
 res.write('Welcome to http nodejs'); 
 res.end(); 
}); 
 
server.listen(8084); 
console.log('Server is running on port 8084');

Salve este código, por ex, webDemo.js
Execute o código no CMD para inciarmos nosso "servidor"


node webDemo.js

Quando nós executamos esta aplicação, provavelmente vai aparecer a seguinte caixa de diálogo


Clique em [Permitir Acesso]

Como resultado você terá um "server" rodando e esperando por comandos na porta 8084



Você pode agora abrir o Browser e executar a URL


http://localhost:8084/




Em resumo precisamos então:

  • Carregar o módulo HTTP
  • Criar o servidor WEB chamado o método createServer()
  • Obtemos os Resquests e Responses (req, res)
  • Manipulamos os objetos [reqs e res] pelo Client
  • Chamamos end() para terminar o envio de respostas para o Client
  • Chamamos listen() com um parâmetro de porta, por ex 8084, para ativar o processo de "escuta"

Gerenciando a Solicitação de Páginas

Para saber se o usuário solicitou uma requisição específica é muito fácil, basta usar a propriedade [url] da variável [req] da função anônima do método createServer(), conforme ilustrado abaixo


var http = require('http');

var server = http.createServer(function (req, res) {
    console.log(req.url);

    if (req.url == '/') {
        res.write('Welcome to http nodejs');
        res.end();
    } else
    if (req.url == '/customer') {
        res.write('Welcome to Customer page');
        res.end();
    }

});

server.listen(8084);
console.log('Server is running on port 8084');



Outras solicitações de Server úteis (presentes nos capítulos 11 e 12 do livro de referência)

SOCKET Module

var os = require('os');


UDP Socket

var dgram = require('dgram');


DNS

var dns = require('dns');


Socket.io

npm install socket.io

var app = require('http').createServer(handler) , 
io = require('socket.io').listen(app) , 
fs = require('fs')


Database Programming

Você pode usar Node.js para se comunicar com um Banco de Dados. Para tornar este processo um pouco mais simples, faça o seguinte:

Dentre os arquivos JS no projeto, note como ficou o js referente a conexão com o banco de dados SQL SERVER


var sqlDb = require("mssql");
var settings = require("../settings");

exports.executeSql = function (sql, callback) {
    var conn = sqlDb.Connection(settings.dbConfig)
        .catch(function (err) {
            console.log(err)
        });
    conn.Connection()
        .then(function () {
            var req = new sqlDb.Request(conn);
            req.query(sql)
                .then(function (recordset) {
                    callback(recordset);
                })
                .catch(function (err) {
                    console.log(err);
                    callback(null, recordset);
                });
        })
        .catch(function (err) {
            console.log(err);
            callback(null, recordset);
        });
};

Nota: Quando eu criei o projeto no VS eu precisei instalar um pacote do SqlServer para NodeJS. Para tanto, clique com o botão direito no item do projeto chamado [npm] e escolha a opção [Install New npm Packages] 




Desta forma você conseguirá instalar o driver necessário para se conectar ao SQL SERVER.


NodejsConsoleApp1.zip / Nodejs_Succinctly.pdf
Develop complete REST service app using pure Node.js (GET, POST, PUT and DELETE) 


Cheers!

quinta-feira, 25 de agosto de 2016

CRM Tips - Unified Service Desk


Hey Folks,
Gostaria de compartilhar um quase "eBook" sobre o assunto [Unified Service Desk] com vocês. Até o momento não encontrei um eBook oficial da Microsoft ou de algum entusiasta sobre o assunto.

Aliás, assunto é o que não falta para aprender neste novo sistema de Call Center da Microsoft, que utiliza o Dynamics CRM como base.

Acredito que ao ler todo o "eBook" do entusiasta Neil Parkhurst você vai se tornar quase um especialista no assunto.

Pelos "capítulos" vão perceber que o assunto é bom:

  • Theory
  • Hosted Controls
  • Actions
  • Events
  • Agent Scripts
  • Toolbars
  • Window Navigation
  • Interactive Service Hub
  • JavaScript / Scriptlets
  • Releases / Installation Instructions / Configuration
  • Random Cool Stuff! (Maybe my best bits!)
  • USD Basics Video Tutorial

Boa leitura!

Ref: USD - THE BOOK