Temos uma edição especial, tanto pela quantidade de conteúdo - com muitos links dos mais diversos temas - quanto pelo nosso anúncio de que o QConSP tem uma nova data e acontecerá entre os dias 14 e 16 de dezembro (no mesmo local). Até lá suas dúvidas serão sanadas e mais novidades anunciadas, mas no momento o foco deve ser com o cuidado com a sua saúde e o das pessoas ao seu redor, ficando em casa o máximo que puder.
Aproveitamos para convidar vocês para darem uma olhada em nosso canal no YouTube, em algumas das palestras mais assistidas de lá, como essa sobre construção de data pipelines em Apache Spark, da Fabiane Nardon no Woman in Data Science, ou essa de desenvolvimento de jogos em Flutter, do Erick Zanardo no DevCamp.
Abraços e até a próxima.
--
Fernanda Wanderley | Cientista de dados na Neuralmed (Twitter | LinkedIn)
- A Stanford University vai promover um evento (online, claro!), dia 01/04, sobre aplicações de IA no combate ao Covid-19.
- A NeuralMed disponibilizou gratuitamente uma ferramenta de auxílio a diagnóstico que ajuda a identificar casos suspeitos de COVID-19. Veja alguns dos resultados e acesse a ferramenta.
- No início de Março aconteceu o Tensorflow Dev Summit. Os vídeos já estão todos disponíveis no YouTube incluindo os demos de Tensorboard e ML Fairness.
Edward Ribeiro | Engenheiro de Software na Interlegis - Senado (Twitter | LinkedIn)
- Este artigo de Jeff M. Lowery traz uma curta e boa introdução sobre funções hashing e seus usos.
- Dois posts bem interessantes sobre o uso dos operadores GROUP BY e DISTINCT em bancos de dados relacionais. Primeiramente, temos este post de Robins Tharakan sobre as diferenças e otimizações dos operadores GROUP BY e DISTINCT. Em segundo lugar, este artigo de Lukas Eder sobre os usos, e usos equivocados, do operador DISTINCT.
- Para os profissionais que estão trabalhando remotamente, vale a pena dar uma olhada no Jitsi, uma alternativa open source para chamadas de videoconferência..
- Em contraponto às famosas listas de "10 linguagens de programação mais famosas/importantes" que surgem copiosamente todo ano, este post de Hillel Wayne traz as dez linguagens outrora influentes, mas agora mortas: É uma perspectiva interessante sobre a evolução e declínio de linguagens de programação.
- O comando EXPLAIN é de uso imprescindível para quem precisar fazer o tuning e melhorar o desempenho de consultas SQL. Esse site permite visualizar planos de consulta de forma gráfica, com hyperlinks que explicam as operações realizadas pelo otimizador de consultas.
- A DataStax acaba de introduzir publicamente o nosqlbench, um framework para benchmark de bancos de dados NoSQL.
- Para os interessados, Robbie Allen postou uma lista gigantesca de tutoriais -- mais de 150 tutoriais -- de Python, NLP, e Machine Learning que ele coletou na Internet:
Bruno Tavares | Engenheiro de Software no Nubank (Twitter | LinkedIn)
Tema da vez: Arquitetura de Software
- Recentemente o review do livro Evolutionary Architecture por um colega de trabalho reviveu meu interesse por Arquitetura Evolutiva, e me levou a revisitar os diversos links salvos na minha lista.
- Recomendo muito ouvir e ler o que a Dr. Rebecca Parsons tem pra falar sobre o tema, tanto pelo livro ou nas diversas apresentações já feitas.
- A Increment Magazine tem uma versão inteira sobre arquitetura de software, com artigos de diversas pessoas da indústria.
- E pra fechar, duas apresentações sobre sobre Event Driven Architecture.
- Uma das coisas que eu tenho me familiarizado recentemente nos últimos 6 meses é a diferença entre Arquitetura Coreografada e Arquitetura Orquestrada. A Duana Stanley fala bem rápido sobre isso nessa apresentação, e o youtube sugeriu esse vídeo mais antigo sobre as diferentes maneiras de categorizar Arquiteturas Orientadas a Eventos pelo Martin Fowler.
Victor Hugo Germano | CEO da Lambda 3 (Twitter | LinkedIn)
- Design Organizacional é o tema principal quando se fala em Business Agility, Organizações Flat e Novos modelos de Gestão. Coda Hale descreve uma série de características do trabalho para se levar em conta quando se pensa na complexidade de organizar o trabalho.
- Sandro Mancuso descreve uma evolução para User Stories que seja capaz de descrever de maneira mais direta qual incremento de negócio estamos tratando: Minimum Viable Incremen.
- A eterna busca pela produtividade do desenvolvimento de software não deixa plataformas "low-code, no-code" morrer. Desde os tempos das ferramentas CASE (#tiozão) o mercado busca maneiras de substituir o trabalho criativo de desenvolvimento por alguma ferramenta drag-n-drop que gere produtos. Alex Hudson descreve a ilusão de acreditar em tais ferramentas.
- DHH esta no podcast CoRecursive soltando o verbo, fazendo uma análise critica sobre a realidade da arquitetura das aplicações modernas. Ele aponta o enorme prazer que, como desenvolvedores, temos em construir soluções desnecessariamente complexas, em detrimento de qualquer outra coisa que não seja nosso próprio ego. Tudo isso, trazendo a trajetória do Ruby e Ruby on Rails até hoje, e discutindo de maneira profunda nossa industria:
- Brian Marick em alguns tweets, descrevendo um caso para a documentação de código, terminando com uma indicação interessante de leitura a respeito.
- Chris McDermott e Marc Burgauer estão numa viagem interessante sobre evolução contínua, sistemas complexos, abordagens de gestão e competindo com Modelos de Maturidade através de um conceito modelo de Mapeamento de Maturidade, calçado no Cynefin.
Bom ficar de olho e entender como isso pode evoluir no mundo de gestão/agilidade
- Pat Kua é a minha principal indicação para quem quer se aprofundar em liderança técnica. Apesar de ser um texto de alguns anos atrás, ele tem reaparecido online. Se não leu antes, vale ler agora.
Henrique Lobo Weissmann | Co fundador da itexto Consultorian (Twitter | LinkedIn)
Iniciando o trabalho bibliográfico da atualização do meu livro de Spring reencontrei alguns textos que sem dúvidas ajudam aqueles que estão tendo o primeiro contato com o framework ou mesmo que queiram entender qual a origem de toda esta história. Preparem-se por que é uma verdadeira volta ao passado!
- "Expert One-onOne - J2EE Development without EJB" - este livro de 16 anos atrás (o tempo voa!!!) escrito por Rod Johnson, o criador do Spring ainda é uma leitura importante pra qualquer desenvolvedor Java na minha opinião.
As mesmas críticas que Johnson fazia 16 anos atrás ao desenvolvimento EJB (burocracia em detrimento de soluções mais simples e pragmáticas) ainda é aplicável HOJE pra quem trabalha com Java. Mesmo desenvolvedores atuais que acabam por criar catedrais ao invés de fazer o que deviam: resolver problemas. Leitura muito interessante do ponto de vista histórico.
Você ainda pode comprá-lo neste link.
- "Inversion of Control Containers and the Dependency Injection Pattern" - de todos os textos do Martin Fowler este ainda é meu favorito. Foi o que me fez entender estes conceitos BEM. E foi escrito na mesma época que o livro do Rod Johnson acima mencionado.
Pra finalizar, outro texto clássico que sempre agrega.
- "The Dependency Inversion Principle" - do Robert C. Martin (aka Uncle Bob) que agora só está disponível no Wayback Machine - outro texto fundamental, uma verdadeira aula de arquitetura. (é o D do SOLID, lembram?)
Bruno Ghisi | Co-fundador e CTO na Resultados Digitais (Twitter | LinkedIn)
- A matrix é projeto open source que simula um escritório virtual para times distribuídos com intuito de melhorar a experiência de trabalho diária. As pessoas então conseguem se enxergar nesse escritório e iniciar conversas nas salas. É uma dica para todo contexto de trabalho remoto que estamos vivendo ;)
- Todo dev/deva precisa saber escrever, seja para explicar uma ideia ou design doc. Aprenda mais sobre a temática nesse curso de technical writing.
- Veja algumas boas dicas de como alavancar a comunicação entre times de engenharia.
- Tem vários projetos legais acontecendo para ajudar no contexto COVID-19. Faça sua parte e contribua com algo. Aproveite para cuidar da sua saúde mental também. Caso queira explorar mais sobre o tema, esse site tem bastante dado sobre os casos no mundo.