Meu dia-a-dia como desenvolvedor em 2018
Bora contar um pouco sobre como anda meu workflow!
Neste post
- Rotina
- Workplace
- Infraestrutura
- Workflow
- JavaScript: Angular
- CSS: Stylus e PostCSS
- Back-End: Serverless Framework e NodeJS
- Controle de versão: Git
- Package manager: NPM
- Task Builder: NPM Scripts
- Projetos pessoais: Kratos Boilerplate
- Apps
- Text editor: VSCode
- Navegador pessoal: Google Chrome
- Debugger: Chrome Canary + DevTools
- Terminal: Hyper
- Editor de imagens: Gimp
- Issues e tasks: Jira
- Comunicação: Slack
- Cloud storage: Dropbox
- Organização pessoal: Google Calendar
- Password manager: 1Password
- Notas: iA Writer
- Leitores: Feedly e Medium
- Rede Social: Twitter, Github e Instagram
- Fórum de discussão: FrontEndBR
- Música: Spotify
- Entretenimento: Netflix
- Controle Financeiro: Guia Bolso
Escrevi meu dia-a-dia como desenvolvedor em 2015 e 2017 (em inglês). Como em 1 ano, muita coisa muda, bora atualizar.
Rotina
Não trabalho mais remoto desde abril do ano passado, quando comecei a trabalhar no Cubo (podem ver como foram os primeiros seis meses nesse artigo).
Existem vantagens e desvantagens em trabalhar remoto, porém a maior vantagem e o fator mais determinante nessa modalidade é a qualidade de vida: Não se preocupar mais com deslocamento, trânsito, caos na cidade e consequentemente aumento do valor hora.
Sendo assim, a primeira atitude que tomei quando entrei no Cubo foi procurar um apartamento próximo do trabalho. E esse é o melhor investimento que pode ser feito para melhorar qualidade de vida no dia-a-dia.
E de quebra a vista do terraço é fodastica
Workplace
O Cubo é um lugar realmente legal. O fato de trabalhar lado-a-lado com várias Startups fornece uma ótima oportunidade de aprendizado e torna o ambiente bastante divertido.
Um ambiente leve faz muita diferença. Passamos mais de 8 horas por dia no trabalho e você ter prazer de estar naquele local, ajuda a produzir muito mais (e produzo mais de bermuda e chinelo 😹) do que você produziria em um ambiente ruim.
E tem vários happy hour! 😆
Basicamente rodamos metodologia Scrum. E todos participam em todas as etapas do projeto, o time de produto trabalha junto e misturado com o time de desenvolvimento e vice-versa.
Infraestrutura
MacBook Pro
Atualmente estou usando um MacBook Pro com macOS Sierra:
-
Tela: 15.4 inches
-
Resolução: 2880x1800
-
Processador Intel Core i7 de 2,9 GHz
-
16 GB DDR3 SDRAM
-
SSD 512MB
-
Radeon Pro 560 de 4GB
É uma configuração incrível e me permite desempenhar qualquer tarefa sem travamentos. Tem ainda a polemica Touch Bar, que demorei um pouco para acostumar, mas agora acho interessante.
Continuo não utilizando mouse, nem teclado externos. Acho o trackpad fantástico.
Como monitor secundário estou usando um Dell UltraSharp 24.
Workflow
Vou listar a base das tecnologias que mais uso atualmente, porém dentro dessa lista, existem vários outras libs que utilizo no dia-a-dia, seria inviável listar todas.
JavaScript: Angular

Comecei a usar assim que entrei no Cubo, e agora na versão 5, penso que atingiu um bom nível de maturidade. O foco da equipe de desenvolvimento do Angular tem sido em: PWA e Performance.
Atualmente os SPAs são muito parecidos, com features próximas e performance equivalente. Não entre nessa de amar um e odiar o outro.
CSS: Stylus e PostCSS

Sou fã desse combo. Leve e poderoso. Uso em conjunto com algumas libs como cssnano, Font Magician, Lost, Rupture e Rucksack.
O Angular tem uma feature chamada Component Styles que permite isolar o CSS como as melhores libs de CSS in JS fazem, e ao mesmo tempo usar técnicas mais tradicionais para escrever CSS.
Back-End: Serverless Framework e NodeJS

Somos malucos aqui no Cubo e caímos de cabeça em uma metodologia ainda pouco usada no mundo real (mas que cresce a cada dia): Serverless.
Para quem ainda não conhece, o xhamps escreveu um artigo fazendo uma introdução e para quem mora em São Paulo, estamos organizando o Serverless SP.
Controle de versão: Git

Unanimidade no mundo inteiro. Dispensa apresentações.
Package manager: NPM

E sim, tentei usar o Yarn. Continuo não vendo motivos para mudar.
Task Builder: NPM Scripts

Abandonei de vez task-runners como o GulpJS. NPM Scripts são simples o suficiente para configurar e rodar sem dependências extras.
Projetos pessoais: Kratos Boilerplate

Uso para projetos estáticos, é simples, rápido e cumpre bem seu papel.
Apps
Assim
Text editor: VSCode

Comecei a usar o VSCode quando entrei no Cubo, pela ótima integração com o Angular e TypeScript. Mas foi amor a primeira vista.
É open source, rápido, leve, com vários e vários plugins disponíveis (quase impossível não achar algum) e ainda tem uma ótima integração com git e de quebra tem um terminal integrado.
Navegador pessoal: Google Chrome

Gosto do Chrome, dizem ser lento, mas nunca tive problemas nesse sentido. Tudo fica sincronizado e não tenho problemas com compatibilidade com a maioria das páginas na web.
Debugger: Chrome Canary + DevTools

Várias features de debug ficam disponíveis primeiro no Canary. No passado existia uma diferença grande entre o Chrome padrão e o Canary, sendo complicado para atestar compatibilidade no desenvolvimento, mas não sinto mais essa diferença hoje.
Terminal: Hyper

Gosto do Hyper. Apesar de algumas pessoas contestarem sua velocidade, funciona muito bem pra mim. Além disso é open source e você pode usar HTML, CSS e JavaScript para customiza-lo.
Editor de imagens: Gimp

É open source e bastante completo. Ele não tem muitas features presentes em editores como o Photoshop, mas para as coisas que preciso no dia-a-dia ele cumpre muito bem seu papel.
Issues e tasks: Jira

O Jira é um canhão, e muitas vezes você só precisava matar uma formiga. Mesmo assim é o mais completo gerenciador de tarefas do mercado.
Comunicação: Slack

Unanimidade. Acho o Slack um grande come-come de memória, mas é a melhor ferramenta de comunicação que existe hoje em dia.
Cloud storage: Dropbox

Apesar de usar o Drive para documentos e planilhas. É o Dropbox que uso para armazenamento dos meus arquivos pessoais.
Organização pessoal: Google Calendar

Rolou uma issue bacana no Front-End BR sobre ferramentas para organização. Mas continuo no bom e velho Calendar. Me perco quando uso muitas ferramentas e o Calendar tem tudo que preciso para controlar meu dia.
Password manager: 1Password

Acho o 1Password fácil de usar, e integra muito bem com qualquer navegador e com o celular.
Notas: iA Writer

Bom, com o iA Writer tenho um aplicativo leve (bem leve) que me permite escrever em markdown. Awesome.
Leitores: Feedly e Medium

Uso o Feedly para receber os artigos dos blogs e sites que acompanho e o Medium para descobrir textos legais.
Também devem ter percebido que estou usando bastante o Medium como publicador de texto. Isso porque além de achar a experiência de escrever muito fluida, gosto da divulgação orgânica que naturalmente acontece.
Rede Social: Twitter, Github e Instagram

O Twitter é a rede social que developers deveriam usar. É rápida, focada, você escolhe as pessoas que deseja acompanhar (e receber conteúdo) e apesar do número máximo de carácter ter subido pra 280. Não tem textão.
Fico o dia todo com o Github aberto e curto navegar no feed para ver novidades e projetos legais, além de ter uma noção de para onde o mercado está indo.
Uso o Instagram simplesmente porque o Facebook morreu como rede social 😇
Fórum de discussão: FrontEndBR

O FrontEnd BR surgiu em um lapso e é o projeto open source que mais me orgulho. Discussões fodas, vagas de emprego, eventos… tem tudo lá.
Música: Spotify

Dispensa apresentações.
Entretenimento: Netflix

Dispensa apresentações [2]
Controle Financeiro: Guia Bolso

Descobri o Guia Bolso ano passado e virei fã. Apesar da interface web ainda não ser boa, o aplicativo funciona muito bem e realmente facilita saber como e com o que estamos gastando.
Sempre digo e não custa reforçar, todas essas coisas são apenas ferramentas, e quase sempre vão ser passageiras, aprenda técnicas, conceitos e as linguagens básicas na web: HTML, CSS e JavaScript.
Vamo que vamo em 2018! 👊