I use open source to help people evolve, I take pleasure in seeing people evolve
Guia de estilo para pacotes Go
Tradução do blogpost Style guideline for Go packages escrito pela @rakyll.
Código organizado em Go é fácil de entender, usar e ler. A falta de organização em código Go é tão crítica quanto as APIs mal projetadas. Os diretórios, nome e a estrutura dos seus pacotes são os primeiros elementos com os quais os utilizadores vêem e interagem.
O objetivo deste blogpost é ajudá-lo(a) com boas práticas comuns para não definir regras ruins. Você deve sempre usar o seu julgamento para escolher a solução mais elegante para sua implementação.
…História do Lisp, abra os olhos para programação funcional
Como começou minha paixão por parênteses (ops Lisp)?
Tenho uma formação na área de Matemática Aplicada (começa ai a loucura), Lisp foi uma das poucas linguagens de programação que me deparei dentro da academia (eu já programava em Perl profissionalmente e conhecia Python), quando vi aqueles parênteses de cara pensei isso não é para mim (isso é uma loucura de Matemática/Acadêmico que nunca saiu para o mercado de trabalho). Com o passar das aulas eu comecei achar confortável os parênteses (seres humanos acostuma muito rápido com tudo) e comecei achar estranho a forma de pensar para escrever a lógica do software (por exemplo (+ 1 2)
). Lisp usa Notação polonesa como forma de expressão, isso foi complicado acostumar, no dia a dia usava uma linguagem de programação "normal" e dentro da academia funcional (sem saber que era funcional).
Conheça seu ambiente de trabalho
Aprender novas tecnologias (nesse caso linguagens de programação) não é um trabalho fácil, vai muito além de conhecer syntax da linguagem. Exige alguns desafios como entender porque a linguagem foi criada (existe), entender o eco sistema, como fazer deploy, como gerenciar ambiente de produção e etc.
Pensando nessa introdução vou falar um pouco sobre conhecer o seu ambiente de trabalho antes de conhecer novas tecnologias (linguagens), é muito comum ver desenvolvedores querer usar sempre o que existe de mais novo no mercado (linguagem, framework, plugin, editor e etc) sem pensar no time de desenvolvimento envolvido, mas sera que isso realmente é a melhor coisa a se fazer para empresa que você trabalha? O nível de complexidade são diferente para pessoas, é extremamente comum ver um desenvolvedor (geralmente auto de data) aprender novas tecnologias muito rápido, mas nem todos são assim. Um dos trabalhos de ser CTO é saber dosar a dose do remédio para que todos os desenvolvedores esteja sempre na mesma página, isso envolve dizer alguns não momentâneos (não é fácil esse papel, mas é extremamente necessário).
…Qual o glamour em ser CEO?
Antes de entrar no assunto do titulo vou contextualizar o porque estou escrevendo esse blogpost.
Eu (Avelino) a anos acompanho minha rede de contato no LinkedIn e via que muitas pessoas estava como (ou se tornou à pouco tempo) CEO (Chief Executive Officer, que significa Diretor Executivo) de empresa, isso me surgiu curiosidade em saber qual empresa essas pessoas tinham se tornado CEO, para minha surpresa a maioria tinha se tornado CEO de uma empresa e continuava trabalhando em outra empresa, muitas sendo assalariado.
…