O simples e poderoso Pyenv

Esquema explicando o Pyenv (mateuspaduaweb.com.br)

Num certo dia, eu resolvi deixar a preguiça de lado e atualizar a versão do Mac OS X para o El Capitan. Na cara e coragem, e dotado de uma ingenuidade ímpar, simplesmente apertei o botão Update e deixei com que os deuses resolvessem qual seria o destino do meu workspace após essa fatídica operação.

Vivendo sem o Grunt

Logotipo do Grunt

No meu primeiro contato com o Grunt, ele não me convenceu. Qual era a necessidade de um task runner se eu já tinha o Makefile? O mesmo valia para o build de estáticos... Frameworks como o Django já possuíam um pipeline de concatenação e minificação, não sendo necessário que um processo externo interferisse em algo que (até então) funcionava muito bem.

BDD com Django e Behave

Given, When, Then (opkey.crestechglobal.com)

Testar o comportamento da sua aplicação, ao invés de pequenos módulos isolados, é uma grande prática no que diz respeito a escrita de testes que guiem o seu desenvolvimento. Deixando a polêmica do "TDD is dead" de lado, criar cenários que garantem um determinado fluxo, além de servir como um excelente contrato à sua suite de aceitação, é uma ótima ferramenta para garantir que a integração back-end/front-end está funcionando de acordo com o esperado.

REST - Parte 1

SOAP vs REST

Em tempos onde os microservices ganham cada vez mais força, e aplicações de sucesso liberam a sua API para desenvolvedores construírem um ecossistema ao redor delas, não considerar seguir boas práticas na construção de um serviço pode ser uma tomada de decisão arriscada, tanto no quesito do negócio, quanto no quesito técnico.

Injeção de Dependência

Logotipo do AngularJS (titanui.com)

Se você já teve contato com Laravel ou AngularJS, sabe muito bem que um dos maiores motivos de orgulho desses (e de tantos outros) frameworks é a "Injeção de Dependência", ou do inglês, Dependency Injection. Imagine-se em uma reunião, o seu Product Owner pede soluções para problemas complexos, e você manda logo um "precisamos usar injeções de dependências"... É aumento salarial na hora!

Esse é mais um post sobre Vagrant

Logotipo do Vagrant Sim! Esse é mais um post sobre Vagrant, entre tantos outros espalhados pela Web. Sim! Se você já conhece a ferramenta, provavelmente não terá nada de novo para você nesse artigo.

Já falamos um pouco sobre ambientes virtuais, e as vantagens são numerosas. A "atomicidade" de poder construir e destruir um ambiente inteiro, sem acarretar efeitos colaterais ao seu ambiente de trabalho, traz agilidade sem perder segurança e sanidade.

Os testes e os dublês - Parte 2

TDD (izenbridge.com)

No post anterior, vimos um dos cenários de testes utilizados por times da Globo.com, onde não escrevemos testes "isolados" (famigerados microtests), e abusamos da integração entre classes e serviços.

Mas até mesmo para nós existe um limite que não podemos ultrapassar: O caso de uma consulta a uma API externa, por exemplo. Nesse cenário, precisamos fingir que estamos fazendo isso, sem perder a segurança em nossas asserções.

O que é um Software Engineer?

Engineering (affordable-online-colleges.net)

Certa vez, estava eu atualizando o meu LinkedIn quando o @davidsonfellipe me indagou sobre o título de "Analista e Desenvolvedor Web" que possuo atualmente. Segundo ele, "Front-end/Back-end Engineer" é mais atrativo para que headhunters cheguem a um perfil.

Contra argumentei dizendo que essa não era a minha formação, e que não me sentia confortável em me chamar de engenheiro. Ele, hoje um Front-end Engineer com formação em Engenharia da Computação, afirmou que isso era bobagem, e que eu já praticava muitas das suas atribuições no dia a dia.