Página 3 de 16

Revisitando as Proposições de Brooks em The Mythical Man-Month – Capítulo 1 – The Tar Pit

Em 1975, Frederick P. Brooks escreveu The Mythical Man-Month (O Mítico Homem-Mês), um dos livros mais conhecidos, revolucionários e controversos sobre desenvolvimento de software.

Eu seu livro, Brooks reúne grande parte de seu conhecimento sobre Engenharia de Software. Baseado em conceitos fundamentais da computação e na experiência prática de ter gerenciado um dos maiores projetos de desenvolvimento de sua época, o autor fez várias afirmações sobre o então presente e futuro do desenvolvimento de software.

Vinte anos depois, em 1995, seu livro ganhou uma nova edição e capítulos adicionais. Um deles revisa de forma sistemática cada proposição do autor e acrescenta comentários sobre sua validade. A questão é: após anos de prática de Engenharia de Software, permanecem as afirmações consistentes ou foram desmistificadas por novos conhecimentos, descobertas e experimentos? Em outro capítulo, o autor novamente revisa os argumentos principais do livro. Ele reconhece quando estava errado? Quais argumentos estão obsoletos?

Hoje, quarenta anos depois da primeira edição de The Mythical Man-Month, gostaria de novamente revisar as afirmações e os argumentos de Brooks. Juntos, vamos então compará-las com as práticas modernas da Engenharia de Software.

Leia mais

Porque não acompanho mais o Stack Overflow em Português

sopt

Aviso: o título deste artigo é totalmente sensacionalista.

Do início até a formatura

Em 12 de dezembro de 2013, há exatamente dois anos, nascia o Stack Overflow em Português. Para quem não sabe, trata-se um site de perguntas e respostas para programadores profissionais e entusiastas.

Já escrevi sobre como a participação nesse site me ajudou em vários aspectos, por exemplo: confrontar meu conhecimento com outros bons profissionais, treinar habilidades de análise de problemas, organizar as ideias e escrever de forma clara, aprender diversificadas abordagens para um mesmo problema, acompanhar as tecnologias que estão sendo mais usadas. Leia mais em Resultados de um experimento social.

Leia mais

Hello, JIRA

jira_rbg_blue

Roses are red, JIRA is blue, Using JIRA is easy, Grasping how it works Is the hell of a steep learning curve.

Esta é uma continuação da aventura que comecei a descrever em Hello, Australia e Hello, Atlassian. Em resumo, mudei para a Austrália na metade de 2015 e vim trabalhar na Atlassian.

Você deve ter ouvido falar do JIRA, certo? Aquele sistema para controlar issues, isto é, bugs, tarefas e outros itens rastreáveis de projetos. Pois é, vim fazer parte justamente da equipe que desenvolve o produto mais popular da Atlassian. 😀

Leia mais

Hello, Atlassian

atlassian-rgb-navy-large

Esta é uma continuação da aventura que comecei a descrever em Hello, Australia. Mudei para a Austrália na metade de 2015 para trabalhar na Atlassian.

Neste artigo contarei resumidamente como isso aconteceu e como tem sido meus primeiros meses na empresa.

Atlassian?! Ah, o JIRA eu conheço!

Grande parte dos profissionais de TI ou quem trabalha em projetos de grandes empresas já usou ou ouviu falar de uma ferramenta mundialmente conhecida chamada JIRA, mas é fácil deixar passar o nome de quem desenvolve o produto. A maioria das pessoas que conheço consegue fazer a relação "Atlassian x JIRA", mas sabem muito pouco sobre a empresa.

Não era diferente comigo. Conhecia bem pouco sobre o JIRA, o BitBucket e o Confluence, mas não imaginava a gama de produtos oferecidos pela empresa nem tinha noção alguma de como as coisas realmente aconteciam por detrás das cortinas para que isso funcionasse de forma integrada.

Leia mais

Hello, Australia

AustralianFlag

Se você acompanha o blog e se perguntou porque não tem havido novas atualizações, vai entender o motivo agora. Em Julho de 2015 comecei uma nova fase pessoal e profissional. Mudei com minha família para Sydney, na Austrália e estou trabalhando na Atlassian.

O processo de mudança e adaptação foram bastante tumultuados, muito mais do que pude calcular a princípio. Emigrar para outro país dá muito trabalho, ainda mais com três filhos pequenos.

Ainda não tenho muito tempo por aqui ainda, mas certamente posso dizer é um ótimo país para se viver. As pessoas em geral têm sido amigáveis, receptivas e pacientes, já que ainda tenho muito o que aprender do idioma e da cultura local.

Esperava que a Austrália fosse um país muito quente, dados os comentários em blogs, vídeos, propagandas a respeito do perigo de contrair câncer de pele por exposição ao sol, as notícias de que o buraco na camada de ozônio está sobre o país e os documentários sobre os desertos áridos. Mas não foi o caso até agora, pois vim para o sul, cujo clima é ligeiramente parecido com o sul do Brasil.

Aliás, ambos os países possuem uma grande área e diversidade geográfica, então provavelmente se mudasse para Santa Catarina iria sentir um efeito semelhante. De qualquer forma, nunca passei tanto frio na vida. 🙂

Leia mais

Farewell, GFT

foto-sorocaba

Quem acompanha o blog já leu algumas vezes sobre a GFT. Citei a empresa nesses artigos:

Trabalhei na GFT da cidade de Sorocaba até Junho deste ano (2015), praticamente um ano e meio. Hoje estou em um novo desafio na Austrália, mas quero deixar aqui meus agradecimentos à empresa e, principalmente, aos colegas e amigos que foram cruciais em minha jornada profissional.

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

Ensinar, não “nivelar conhecimento”

teaching english

Ouço frequentemente em cursos, treinamentos em empresas, palestras e até pelos corredores das empresas sobre nivelar o conhecimento, geralmente se referindo a algum grupo como alunos, estagiários ou qualquer outra audiência.

No que consiste nivelar conhecimento?

A ideia de nivelar conhecimento é simples. Existem pré-requisitos para aprender determinadas coisas, porém, numa audiência composta por pessoas de diferentes níveis e variedades de conhecimento, certamente alguns não preencherão os pré-requisitos.

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

Página 3 de 16

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.