Achei interessante esse arquivo “The hardest part of building software is not coding, it’s requirements” (Jared Toporek) sobre os impactos da inteligência artificial no processo de criação de software.
Arquivo da categoria: Engenharia de Software
Engenheiros devem escrever mais
Excelente artigo com o qual concordo plenamente. A prática mental de escrever algo autêntico, com sua própria inspiração, torna -nos engenheiros melhores.
https://www.yieldcode.blog/post/why-engineers-should-write/
Orientação a objetos com Roberta Arcoverde
Recomendo a excelente miniaula aberta da Alura sobre Orientação a Objetos com a Roberta Arcoverde. Admiro muito o trabalho dela e já tive o prazer de assistir a uma palestra dela na QCon.
Como acréscimo ao que a Roberta e o Paulo falaram, colocaria apenas algo não muito falado na literatura mas que acredito ter um valor muito importante na POO: possibilita reduzir a desarmonia entre o domínio de negócio e a representação da solução em código. A organização do código, quando representado com a mesma nomenclatura usada no negócio, colabora muito em facilitar o entendimento. É o que o Eric Evans chama de linguagem ubíqua.
Clique aqui para o vídeo.
A importância do Caso de Uso na arquitetura da aplicação
Sempre tive a visão que organizava mal a estrutura da aplicação, sem representar com clareza no código a intenção de negócio que motivava a existência dele; percebi que organizava a aplicação em torno de propósitos técnicos e confesso que é muito tentador seguir organizando dessa forma.
O artigo a seguir ressalta a importância em representar casos de uso como elementos explícitos na aplicação, caracterizado na seguinte afirmação: ‘a ausência de casos de uso deve ser considerado um mau cheiro’ (minha tradução). Além disso o artigo aborda aspectos arquiteturais na organização das dependências seguindo princípios consagrados.
https://joebew42.github.io/2021/10/23/use-cases-purpose-of-your-code
Fim da QCONSP
É com grande tristeza que soube do encerramento das atividades do QCon no Brasil – único evento de grande porte que reunia tanto academia quanto profissionais de engenharia de software, e que não era vinculado especificamente a um grande player da área de tecnologia.
Primeiro assisti ao encerramento dos eventos do Rio de Janeiro; o último, em 2015 se não me engano, não se repetiu por falta de quórum. Tudo bem, São Paulo é o hub comercial do Brasil… ainda valia a pena todo o custo para ir lá e assistir… agora nem mais em São Paulo ocorrerá.
Tomara que essa decisão seja em algum momento revertida. Creio ser de fundamental importância um evento desse porte no nosso país, para o bem da comunidade de software.
https://qconsp.com/content/encerramento-das-atividades-da-c4media-brasil
JPMS e o jlink
A versão 9 trouxe um novo mecanismo de modularização e distribuição de aplicações Java: o Java Platform Module System. Em resumo, com ele podemos criar runtime customizado para rodar nossas aplicações, sem a necessidade de exigir que o usuário instale previamente o JRE – que, a propósito, foi descontinuado a partir da versão 11. É uma mudança e tanto, mas acho que valerá a pena: no artigo, o autor gera uma aplicação com tamanho diminuto em comparação com o tamanho completo de JRE que chegou a bater perto de 200Mb.
Veja o artigo neste link.
Testes de Performance Automatizados
Para quem se interessa pelo assunto de testes automatizados, em especial testes voltados aos requisitos não-funcionais, recomendo a leitura dessa artigo escrito em parceria com meu colega Vitor Medina. Em Inglês. Boa leitura!
Time and Memory Performance Verification Using JUnit
Programação Orientada a Objetos por Alan Kay
Por recomendação de um colega, esbarrei nesse intrigante artigo escrito por Alan Kay, autor da linguagem SmallTalk, e a quem é atribuída a autoria do termo ‘orientação a objetos’.
http://www.purl.org/stefan_ram/pub/doc_kay_oop_en
Software Livre e o Projeto Coruja
Na última terça, 20/01/2015, tive a oportunidade de participar do programa Ciência em Movimento, programa ao vivo na Rede Petrópolis de Televisão e que é apresentado por meu amigo Márcio Campos. Nele falo sobre Software Livre e sobre o Projeto Coruja.
Quem quiser assistir, a entrevista está disponível no YouTube. Clique aqui.
Matriz de Competências
Gostei muito essa matriz montada por Sijin Joseph. Com tópicos atualizados, permite avaliar bem o nível de competência de um engenheiro de software.
http://sijinjoseph.com/programmer-competency-matrix/