Infraestrutura como Código

Há alguns meses tive o privilégio de assistir à uma sessão de palestras de um dos meus autores favoritos: Martin Fowler. O tema era sobre padrões arquiteturais para desenvolvimento, distribuição e operação de aplicações, alguns pouco conhecidos, mas muito úteis.

Vou escrever uma série de 3 artigos falando sobre alguns dos padrões que considero mais interessantes. Vamos ao primeiro!

Leia mais

Automatizando o acesso a uma página web a.k.a. como eu “burlei” um sistema de agendamentos online

Neste artigo mostrarei, de maneira resumida, como automatizar a navegação em uma página web para fins diversos.

Mais especificamente: como eu fiz para conseguir um horário melhor num sistema de agendamento online através de um pequeno código que verifica novos horários vagos automaticamente. 😀

Leia mais

Aprendendo a programar, para iniciantes

Tendo um blog com razoável acesso por estudantes, tendo treinado e ajudado diversos estagiários e desenvolvedores juniores, participando ativamente de comunidades como o Stack Overflow em Português e tendo lecionado sobre desenvolvimento de sistemas web em duas faculdades, conheço muito bem as dificuldades enfrentadas por muitos daqueles que estão lutando para dar seus primeiros passos com programação.

Neste artigo, quero lhe dar algumas dicas para seu desenvolvimento profissional, baseando-me em minha própria experiência.

Leia mais

Melhorando o tempo de carregamento em grandes aplicações web na nuvem [vídeo]

Meu trabalho na Atlassian envolve primariamente o desempenho do JIRA na nuvem. Descrevi parte do meu trabalho no artigo Hello, JIRA, mas existem muitos detalhes complexos que acabam ficando de fora.

Neste artigo vou descrever brevemente um importante aspecto sobre desempenho de grandes aplicações web e indicar um vídeo que explica o assunto do ponto de vista do Facebook em maiores detalhes.

Leia mais

Não, você não é um arquiteto de software

Software Architect

Há 7 anos ouvi pela primeira vez o termo Arquiteto de Software numa feira sobre Java promovida pela Global Code em São Paulo. E surgiu a pergunta ao final de uma das palestras:

Quanto tempo leva para se tornar um arquiteto de software?

Coçando o queixo, o palestrante exitou alguns segundos e então lançou:

Com uns 5 anos e muita dedicação é possível formar um arquiteto.

Desde então, como alguém que respira TI, comecei a perseguir o tão famigerado título.

O que, afinal, seria um arquiteto de software?

Há muitas definições. Algumas você pode encontrar na Wikipédia, na InfoQ, no Blog da GlobalCode, no fórum Javafree.

Não só a definição formal varia, como há muitas visões diferentes sobre a real necessidade deste tipo de profissional.

Não quero repetir aqui o que já existe em dezenas de sites. Então vou resumir em poucas palavras a minha opinião:

Arquiteto de Software é o especialista técnico que enxerga mais longe e mais profundamente, podendo orientar e participar das decisões tecnológicas.

O que não é um arquiteto de software

Existe um estereótipo de arquiteto análogo ao Arquiteto do filme Matrix, isto é, que fica escondido em uma sala tomando todas as decisões importantes e impondo-as aos meros programadores que não podem pensar por si mesmos.

Leia mais

Deu tudo errado… e agora?

failure-as-learning-opportunity

Já escrevi alguns artigos sobre desenvolvimento profissional e carreira em TI. Se ainda não os leu e está preocupado com sua carreira em desenvolvimento ou em conseguir um emprego mais desafiador, sugiro fortemente a leitura. Veja alguns abaixo:

Entretanto, um leitor me fez alguns questionamentos bem interessantes, praticamente um desafio:

O que fazer se essas dicas forem seguidas, mas ainda assim tudo der errado? E se o profissional se prepara bastante, mas no fim falha nas entrevistas de emprego? E se, apesar de bastante esforço, o profissional não for respeitado e reconhecido pelos seus colegas e líderes?

Sinceramente não estou à altura para dar uma resposta definitiva para situações como essas. Provavelmente nunca estarei. Particularmente creio que cada situação que passamos na vida tem um propósito bem definido e particular. Não é possível generalizar.

Entretanto, o que posso fazer é compartilhar como superei alguns de meus fracassos e como eles claramente contribuíram para futuras empreitadas de sucesso.

Leia mais

Deploy e Integração Contínua

Continuous-Integration

O que é deploy?

Em termos gerais, deploy significa colocar em posição. Na prática, geralmente falamos de disponibilizar um sistema para uso, seja num ambiente de desenvolvimento, para testes ou em produção.

O termo deploy pode significar muitas coisas, dependendo do ambiente e da tecnologia. Um desenvolvedor pode fazer o deploy da aplicação web no seu Tomcat local. Pode também fazer o deploy no Weblogic em produção, usado pelos usuários finais.

Leia mais

Problemas com “merge” no JPA?

java_ee

Muitos desenvolvedores enfrentam grandes dificuldades em trabalhar com JPA (Java Persistence API). Vejo que a maioria dessas dificuldades tem raiz na falta de compreensão de certos detalhes do funcionamento do JPA.

Analisarei neste artigo um caso que gera muita confusão, que é o uso do método merge().

Leia mais

Boas empresas, boas condições de trabalho

Stressed+out

Boas empresas dão boas condições de trabalho a seus funcionários. Ótimas empresas dão ótimas condições de trabalho.

Isso não tem nada a ver com mérito dos empregados ou mesmo com alguma causa por melhores condições de trabalho. Estamos falando de produtividade e qualidade.

Neste artigo abordarei algo que afeta diretamente todos os profissionais de TI, principalmente desenvolvedores, ainda que não se restringe à esta categoria: hardware.

Leia mais

Curso de Bootstrap, jQuery e Web Standards na Fatec Sorocaba

Nos últimos dois sábados (11 e 18 de Abril de 2015) ministrei o curso Bootstrap, jQuery e Web Standards, uma breve introdução às tecnologias e boas práticas envolvidas no desenvolvimento do front end de páginas web, na Faculdade de Tecnologia de Sorocaba.

curso-bootstrap

Para este curso não preparei uma apostila ou apresentação teórica, mas uma série de exercícios práticos onde cada participante pôde construir sua própria página e seus próprios scripts, que vão desde eventos simples até manipulação do HTML e animações.

Ainda estou aprendendo a ministrar aulas e cursos. Há quem diga que para ensinar basta ter disposição. Concordo, mas estou aprendendo que existe uma grande diferença entre simplesmente transmitir conhecimento e ser um mestre, no sentido de realmente transmitir os princípios do ofício. Como sempre, apliquei uma pesquisa rápida e anônima para obter feedback. Consegui melhorar um pouco em relação a pesquisas anteriores. 😀

O guia de atividades junto com a resolução de todos os exercícios está disponível no meu Google Drive.

Fique à vontade para usar o material como desejar sob a mesma licença Creative Commons deste blog e de todos os meus materiais. 🙂

Página 1 de 10

Creative Commons O blog State of the Art de Luiz Ricardo é licenciado sob uma Licença Creative Commons. Copie, compartihe e modifique, apenas cite a fonte.