Codecon 2019 – Como foi o evento?

Disclaimer

O que vou descrever aqui é um resumo, onde vez ou outra estarei complementando com pontos que acredito que possam ser relevantes. Ora estarei destacando a fala do palestrante – fulano comentou que… -, ora estarei simplesmente discorrendo acerca do tema. Logicamente, figuram nesse texto somente as palestras das quais participei.

O Evento

No último sábado, 31/08 aconteceu aqui em Joinville a primeira edição do codecon Joinville. O local escolhido para sediar o evento foi o Ágora Tech Park, situado no Parque Perini. Eu nunca havia estado no Ágora, e as minhas impressões acerca do local foram as melhores, uma estrutura digna de uma cidade que é um polo tecnológico. A título de conhecimento, Ágora na Grécia antiga, eram os locais públicos onde as pessoas costumavam debater/apresentar os mais variados temas como: política, assuntos e cerimônias religiosas, assembleias, leis, atividades culturais, exposições, negócios, etc. Portanto acho que não poderia haver nome mais apropriado!

E como foi o evento? Simplesmente incrível! O evento abordou temas diversos dentro da área de T.I., e para todos os níveis, desde quem está começando, até que já possui experiência e está no mercado. Outros pontos como a organização, a recepção e as instalações, fizeram com que o evento tenha tido o merecido sucesso, sem falar no networking! Acredito que a aprovação tenha sido praticamente na sua totalidade. Se há algo que possa melhorar? Sempre há! Eu destacaria as palestras do hall, onde a iluminação externa ofuscou o painel de projeção e também o som que se espalha no hall vindo das pessoas que estão próximas, tomando um café, ou simplesmente aguardando a próxima palestra. Mas isso não tira o brilho do que foi o evento.

As Palestras

DevOps Culture Transformation

Bom, começamos pela palestra do Christiano Linuxmen – DevOps Culture Transformation – que veio definir sobre o que realmente é a cultura DevOps. Em sua apresentação, ele deixou bem claro que o ponto principal disso tudo são as pessoas. DevOps tem como principal objetivo a integração entre os colaboradores de uma corporação para que juntos alcancem o objetivo principal, a entrega de valor para o cliente, ferramentas são meios para a resolução dos mais diversos problemas/atividades.

O mágico mundo de Houdini

A segunda palestra, foi da Fernanda Bernardo, com o título acima. Houdini eu conhecia do mundo dos ilusionistas e escapologistas através de um documentário do History channel. Achei que a palestra faria alguma comparação/analogia com o esse grande nome da história dos ilusionistas. Na verdade é possível sim fazer essa comparação, pois o Houdini no CSS é muito esperto e perspicaz tal qual o mágico era. Mais do que isso, o Houdini apresentado é na verdade um esforço do W3C para resolver diversos problemas que a utilização do CSS traz consigo, como: problemas de crossbrowsers, sem possibilidade de criar suas próprias propriedades, CSSOM inacessível/parcialmente inacessível, extrema demora na adoção de algo novo, etc.

O Houdini vem para permitir um acesso ao pipeline de renderização dos navegadores oferecendo um controle muito melhor sobre o CSSOM em vez de apenas strings manipuladas por JS que ainda geram muitos problemas de performance. Outro ponto legal apresentado foram os worklets, que permitem modularizar o CSS fazendo com que este não seja executado na thread principal da aplicação.

Porque adotamos o Vue.js?

A próxima palestra foi de uma amiga, da Rafaéla Machado, onde ela conduziu a palestra Porque adotamos o Vue.js? Ela apresentou as características que fizeram a Operand decidir pelo Vue.js, onde podemos citar: Boa performance em cenários de aplicações grandes, atualizações constantes por parte da comunidade que o mantém – se me lembro bem o último commit tinha sido uma semana antes do evento -, curva de aprendizado menos acentuada em comparação com outros frameworks e facilidade de criar componentes mais reativos. Essas e outras características são pontos cruciais que devem ser levados em conta na adoção de uma nova tecnologia.

Carreira dev: quais são as mudanças e como se preparar para ela

Finalizando a manhã de palestras, chegou a hora do painel de discussão sobre carreiras – Carreira dev: quais são as mudanças e como se preparar para ela. Estavam presentes para a conversa, Julio Monteiro, Alexandro Velho e Caroline Soares. Os temas abordados foram: Inclusão de pessoas com deficiência na carreira de T.I., quais problemas essas pessoas pessoas podem resolver uma vez que elas mesmas conhecem melhor do que ninguém suas dificuldades. Outro ponto, elas também conseguem criar um produto com total aderência às pessoas com a mesma deficiência. Um grande exemplo de inclusão é o Lucas Radaelli, um programador brasileiro que trabalha no Google e que desenvolve com o auxílio de ferramentas de áudio que leem tudo o que estiver na tela. Ainda neste tema, foi abordada também a questão sobre como as ferramentas e plataformas estão evoluindo, para atender esse público que cada vez mais está mais presente do que nunca no mundo digital.

Continuando com as discussões, o tema trabalho remoto foi posto em evidência. Lucas Monteiro e Carolina Soares têm experiência nesse assunto visto que ambos trabalham remotamente. Como é de se imaginar, essa é uma atividade que exige muita disciplina e não é para todos. Sabemos que há pessoas que precisam ir a um local fora de sua residência para conseguir trabalhar. Os fatores que levam a isso, são os mais variados, família, ambiente, isolamento, disciplina e/ou a falta dela, enfim, cabe a cada um saber até onde conseguiria fazer isso. A mensagem de ambos é que o importante é ter um limite para as atividades, seja cuidadoso nesse ponto para evitar que acabe trabalhando demais, ou pode ser que você acabe procrastinando demais.

Ainda no painel sobre carreira, foi discutido a questão das ferramentas, das tecnologias utilizadas. Hoje no universo do desenvolvimento de software, não devemos ficar presos a essa ou aquela tecnologia, claro que devemos ter sim aquela que dominamos com maestria e aí entramos na questão de generalista vs especialista. O ecossistema tecnológico é imenso e a frequência com que novas tecnologias aparecem, só aumenta. Julio Monteiro – que trabalha para uma startup sediada em São Francisco, Califórnia – comentou que o melhor programador da empresa, é uma pessoa que está sempre aprendendo coisas novas, sempre testando novas ferramentas, novas linguagens e técnicas, não só ele, mas também outros da equipe. A mensagem é: Não se apegue a uma linguagem/ferramenta, conheça outras, faça pequenos projetos, testes, compare-as, isso vai te tornar melhor na linguagem que usa no seu dia a dia, acredite.

Simples vs Complexo

“É simples é só um botão!” ou “É fácil é só um botão!” Assim começou a palestra de Airton Guessner da Mercos, perguntando aos presentes quem já tinha ouvido essas frases. Note que elas carregam significados diferentes, pois nem sempre o que é simples, é fácil e nem sempre o que é complexo é difícil.

Em seguida, ele comparou dois códigos fontes que faziam a mesma coisa, porém, um extremamente desprovido de cuidados, feito daquele jeito. Entenda isso como um código onde as variáveis não têm nomes claros, os parâmetros também não e por mais que seja um trecho pequeno de código, não é fácil de compreender logo de início. Em seguida ele mostrou outro código que fazia a mesma coisa do anterior, só que desta vez, um código digno de um profissional que tem cuidado com o que faz, que aplica refatoração, que cria variáveis com nomes fáceis e pertinentes ao contexto, onde o método “fala” por si, sem necessitar de comentários. Cuidados como estes, reduzem a complexidade de um código que muitas vezes precisam realizar alguma rotina que já tem uma complexidade inerente devido ao negócio, e nós ainda acabamos complicando ainda mais as coisas. Outro ponto importante, é o tamanho dos métodos, isso torna algo que já pode ser complexo, difícil, pois exigem um esforço muito maior para a compreensão, e ainda considere que a pessoa que precisará mexer nesse código não foi a pessoa que o desenvolveu.

Quer ver isso na prática? Vamos pegar o exemplo da palestra. Escreva um código qualquer cheio de linhas para fazer qualquer coisa, depois tente reduzir ao máximo o número de linhas, simplifique a compreensão, refatore, dê nomes pertinentes, claros, de modo que em poucos segundos, qualquer programador olhe e já o entenda. Pronto, você tem algo simples nas mãos, mas que não foi fácil de fazer, foi difícil, deu trabalho. Já a primeira versão, foi mais fácil, feito de qualquer jeito, mas que se torna difícil de entender e manter.


Faça seus logs terem sentido: Zero to Hero em menos de 40 minutos

Eduardo Neves, aka Eth0, apresentou uma ferramenta chamada Logtstash que é parte de uma suíte conhecida por ELK Stack ou Elastic stack.

Durante sua palestra, Eduardo fez uma analogia bem interessante, na verdade uma pergunta, “Quem teria coragem de pegar um veículo e partir em uma viagem daqui (SC) até o nordeste, sem informações de combustível, óleo, temperatura, velocidade e GPS?” Ou seja, andar “as cegas” por aí com um veículo. É isso que fazemos na maioria das vezes, nossas aplicações quebram, e temos dificuldades para encontrar o problema, não temos informações em mãos de forma fácil e rápida. As vezes quando temos, elas são de difícil interpretação ou até mesmo não servem de muita coisa. Pense em um avião sem a caixa preta!

Com as nossas aplicações as coisas são semelhantes, afinal quem nunca precisou conferir os logs?! Ele apresentou o Logstash, uma ferramenta de coleta de dados de diversas fontes e formatos que faz parte de uma suíte robusta que em conjunto, essas ferramentas darão sentido aos seus logs. Uma vez coletados, você os trata como quiser, seja através de consultas, análises e exibição em tempo real através de dashborads ricos. Eduardo citou cases de centenas de gigas por dia sendo coletados, processados e exibidos em tempo real, permitindo uma monitoração completa da “saúde” das aplicações. As vezes achamos que temos essas informações em mãos, mas não as temos. Ele destacou também a participação dos devs na criação de logs, pois quanto mais rica for as informações que as nossas aplicações disponibilizam – lembrando que quantidade não é qualidade, não venhamos a disponibilizar informações sem sentido, mas sim ricas – muito mais controle teremos sobre o que se passa, óbvio, mas não o fazemos e o óbvio deve ser dito.

O QuebraDev e a comunicação como forma de representatividade

A próxima palestra foi com o pessoal do QuebraDev, Kaio Teixeira e Reginaldo Júnior. Eu já tinha ouvido falar, mas sem a real dimensão do projeto, e na palestra ficou muito clara a intenção dessa galera. Trazer quem é da periferia para o mundo da T.I. e não só da T.I. mas o acesso à informação em geral, para as oportunidades do mercado, e isso através da inclusão feita por por quem é da periferia. Isso é uma ação de grande valor, pois quem é da periferia entende quem é da periferia, entende o jeito de falar, de vestir, de se comunicar, ou seja, se identifica com suas raízes, isso facilita e estimula essa galera, pois ele têm modelos a serem seguidos que também vieram de onde eles vem. O projeto iniciou com podcasts e hoje desenvolve outras atividades como, aulas na periferia, participação em eventos por todo o país, palestras e tudo o que possa aproximar os periféricos de um futuro melhor, de um futuro mais inclusivo, pois todos temos grandes capacidades e todos merecem.


Encontrando o equilíbrio do DDD enquanto sua aplicação cresce

DDD que significa Domain Driven Desing, ganha cada vez mais espaço nas empresas de desenvolvimento e nesta palestra Carolina Karklis apresentou os desafios, os aprendizados e os resultados obtidos até então.

A talk começou com uma visão geral do DDD, na verdade começou com as imagens dos gatos dela, sim ela adora gatos e ela mostrou as fotos dos bichinhos, eu também gosto. Mas voltando ao DDD, trata-se de uma abordagem onde o domínio do negócio conduz o desenvolvimento do software. Por domínio, podemos entender como um conjunto de atividades que uma empresa faz para resolver determinado problema. No exemplo apresentado – um sistemas de e-commerce -, além do domínio, tínhamos também os subdomínios, que precisam ser bem compreendidos por serem partes de um todo. Um dos pilares do DDD destacado por ela, foi a linguagem ubíqua, que é uma linguagem baseada no modelo de domínio de forma que toda a equipe (seja técnica, seja negócios e quem mais estiver envolvido) compreenda e consiga expressar o funcionamento do software. O código a ser desenvolvido irá refletir essa linguagem de forma a expressar de forma clara o que o domínio faz, resolve.

Carolina destacou que a aplicação do DDD vai depender do cenário de cada empresa, pois o DDD se propõe a resolver cenários complexos, por isso a escolha do DDD deve ser bem avaliada. Um ponto legal foi que, mesmo em cenários em que não é recomendada a utilização de DDD, ela destacou coisas que podem ser feitas para manter uma “bagunça organizada” e a sanidade de todos. Atividades como avaliar seu código com ferramentas para isso, extrair métrica de complexidade vs churn e até começar a criar/evoluir a linguagem ubíqua na empresa.

Ao iniciar com DDD, ela orientou começar por Strategic Modeling e não Tactical Pattern. Sendo o primeiro mais perto do negócio (linguagem ubíqua, domínios e subdomínios, bounded contexts, etc.), o Tactial Pattern, está relacionado ao código, gerenciando a complexidade e garantindo maior clareza no comportamento do software, alguns patterns são: Entities, Aggregates, value bjects, factories, repositories etc.

A história de um Dinossauro

Chegou a última palestra do dia! Muito aguardada, a história de uma pessoa que com certeza fez e faz parte da história profissional de muitos dos presentes. Pois muitos ali, em algum momento fazendo buscas no Google, se depararam com os conteúdos do Maujor, o dinossauro do css. Essa palestra teve essencialmente uma pegada motivacional, uma história que começou por acaso em uma das reuniões de um clube de pesca, o abissal.

Após se aposentar, Maujor comentou que precisava encontrar alguma atividade para se ocupar e acabou se tornando síndico do condomínio onde morava, ou mora, não lembro. Isso era final dos anos 90, momento em que também participava de um clube de pesca, o Abissal. Por ser o membro mais velho do clube, agregava diversas atividades administrativas, visto que o clube era composto na sua maioria por membros na faixa dos vinte e poucos anos e esses só se preocupavam com a pesca, por isso as demais atividades ficavam com Maujor. As reuniões eram feitas na casa do Maujor e em uma dessas reuniões alguém comentou que o clube precisava ter um site, todos acharam uma ótima ideia, mas ninguém quis assumir essa tarefa, pois também ninguém fazia a mínima ideia de como e quais eram os profissionais que poderiam fazer. Ao final da reunião, o próprio Maujor assumiu essa atividade, e então perguntaram ao Maujor: “Você saber fazer site?” e ele respondeu “Não, mas vou descobrir!”. Logo isso se tornara um desafio pessoal, e ele foi pesquisar e entender como poderia criar um site. No seu Windows 3.2, descobriu o Front Page – ferramenta da Microsoft para criação de site na época – e começou a estudar a ferramenta até que criou o site.

Com o site criado, ele marcou outra reunião em sua casa para apresentar o site aos demais membros. O site fez o maior sucesso, todos gostaram muito do que viram e não faltaram elogios. Então, os membros do clube, começaram a trazer parentes para que também pudessem ver o site. Em uma dessas reuniões com os parentes presentes, alguém comentou: “outros sites eu vejo da minha casa, por que esse eu preciso vir até a sua casa para ver?” e o Maujor disse: ” é verdade, não sei dizer o porquê.” Mas ele foi atrás dessa resposta e descobriu que precisava hospedar o site, e assim o fez em um servidor de hospedagens gratuitas, ou melhor, tentou fazer, pois descobriu que a maioria dos servidores de hospedagens gratuitas não davam suporte ao Front Page, era necessário uma extensão no servidor para dar suporte ao Front Page, extensão essa que só os servidores pagos possuíam.

Voltou a estaca zero, e começou a pesquisar como montar um site com outra ferramenta, pois não estava conseguindo suporte ao Front Page. Em suas pesquisas, conheceu o site do W3C e com isso conheceu o HTML e de quebra, acabou conhecendo o CSS, que na época não era utilizado no Brasil.

Utilizando HTML, CSS e Fireworks, Maujor criou o site do Abissal e o publicou, você pode conferir o site aqui. Esse site ainda está no ar por razões históricas.

Para a criação desse site, foi necessária muita pesquisa, estudo e dedicação sobre o assunto – lembre-se que ele não era da área de T.I. e começou por conta própria aos 56 anos -. Após a criação do site, Maujor tinha acumulado muito conteúdo sobre CSS e tinha ganho muito conhecimento acerca dessa tecnologia também. Foi então que a “veia” de professor – ele exerceu essa profissão paralela a profissão de engenharia – falou mais alto e ele resolveu compartilhar esse conhecimento. Criou um site e começou a compartilhar o que havia aprendido. Nessa época o CSS ainda não era utilizado no Brasil, mas começou a ganhar cada vez mais espaço. Maujor se tornou referência nacional em CSS, escreveu 17 livros sobre o assunto e hoje percorre o país participando de eventos como esse, compartilhando seu conhecimento e motivando pessoas, afinal, ele começou nessa área aos 56 anos, após se aposentar. Um grande exemplo de que nunca é tarde para começar algo, a idade não deve ser um fator limitante!

Vida longa Maujor, e obrigado por nos conceder essa belíssima história!

Para finalizar o evento com chave de ouro, levei para casa um Kindle sorteado pela Mercos! Se eu curti? Demais! Pois estava justamente pesquisando sobre o equipamento na intenção de adquirir um. A capa está a caminho!

Deixo aqui os meus parabéns a todos os organizadores e apoiadores do evento. Também agradeço à Opentech por nos proporcionar esse momento assim como à Mercos pelos valiosos brindes! Que venham muitos outros!

Até 2020!

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s