Meu dia-a-dia como desenvolvedor em 2018
Escrevi meu dia-a-dia como desenvolvedor em 2015 e 2017 (em inglês). Como em 1 ano, muita coisa muda, bora atualizar.
Disclaimer:
A partir de agora, todos meus novos artigos serão lançados no meu blog pessoal:
https://www.felipefialho.com/blog/
O mais legal é que o código é aberto e vocês podem me ajudar a corrigir erros ou mesmo sugerir melhorias nos textos 😜
Aguardo sua visita!
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.
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.
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
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! 👊
Me acompanhe por aí…
Youtube: @felipefialhodev
Twitter: @felipefialho_
Github: @felipefialho
Site: felipefialho.com