Livros e mais livros

Livros

Eu vejo em fóruns muita gente perguntando coisas do tipo:

– “Estou no meu último ano de faculdade e não consigo estágio”
ou
– “Quero tirar uma certificação para entrar no mercado de trabalho”

Todo mundo quer aprender a programar, desenvolver, mas o que vejo muito por ai é que a grande maioria não tem o costume de ler, estudar. Há diversos posts por ai referentes a bons livros para ler, ou porque ler livros em blogs como Você tem que ler os livros, The Essential Agile Reading List, 10 livros recomendados para desenvolvedores, entre outros.

A grande questão é que você escolheu uma área que exige aprendizado constante (como se já tivesse ouvido falar de alguma que não precisa). Se você não gosta de ler, não gosta de estudar, o que você pensa que vai fazer?! Empregos não caem do céu, e estágios são cada vez mais competitivos. Ler livros, blogs, revistas especializadas não garante nada, mas utilizando as palavras de um companheiro de trabalho: “O fato é o seguinte”: É impossível você aprender efetivamente algo sem estudar! Se você não gosta disso, é mulhor mudar de área!

Procure, leia, discuta, participe de listas, fóruns, leia mais e mais! Afinal, se você escolheu esta área, é porque você gosta não é?! A imagem a cima mostra praticamente livros básicos, para quem sonha em começar a pensar em algo praticamente. Se você já fez alguma das perguntas citadas no começo do post, quais destes livros você já leu?! Quantos livros você leu no periodo de um ano?

Sei que tenho muito a estudar, sou apenas um estagiário que gosta do que faz. Há diversos livros que estou esperando para comprar (bolsa de estagiário é complicado né?!), e alguns na fila, e alguns que estou esperando chegar, como Agile Web Development with Rails, Coders at Work e Ruby on Rails: Desenvolvimento Fácil e Rápido de Aplicações Web.

Motive-se, estude, leia! Caso você não tenha este costume, experimente estudar 30 minutos por dia de começo! Você vai perceber como pode ser gratificante investir um pouco do seu tempo em leitura!

Por hoje é só! 😉

Pera, Uva, Maçã, Salada Mista

Eu venho pensando em escrever o post inicial deste blog a um certo tempo, porém não quero ficar escrevendo trechos de código nem “como implementar tal função em xpto”.

Um assunto que vem me incomodando a um certo tempo é a questão da “super facilidade” de se trabalhar com Java. Que Java é uma linguagem poderosa todos sabemos, porém com todos esses frameworks que nos vem sendo apresentados, até onde a facilidade continua?

Em uma época em que assuntos como produtividade, agilidade estão em evidência, vale mesmo a pena começar um projeto com Java?
No projeto em que venho trabalhando, onde não citarei nomes de pessoas nem de empresas, estamos utilizando Java, mais espeficamente um “kit de desenvolvimento”, onde foram incluidas inúmeras tecnologias, conceitos, e que visa “facilitar” o desenvolvimento de aplicações para determinada empresa. O que descreverei abaixo não é uma conversa real, porém imagino que só pode ser fruto de algo parecido:

“- pessoa1: Bom, vamos criar um super framework que visa juntar diversos frameworks e pré-configurá-los para que obtenhamos um melhor desempenho

– pessoa2: Ótima idéia! Ouvi dizer que JSF está na moda! Temos que utilizar!

– pessoa3: JSF é muito bom, mas para reaproveitarmos os nossos layouts, porque não utilizar Tiles do Struts?

– pessoa2: Tem certeza? Bom, se é bom, vamos colocar também!

– pessoa1: Mas não existe aplicação profissional sem EJB’s! Coloque na lista também!

– pessoa2: E quanto à persistencia? ficaremos com JPA ou vamos utilizar Hibernate?

– pessoa1: Coloca o melhor dos 2 que está otimo!

– pessoa3: Hey, JSF é muito bom, mas nós podemos criar os nossos próprios componentes!

– pessoa4: Mas para quem pegar o projeto, não vai complicar um pouco?

pessoa3: Claro que não! Além do mais, podemos escrever um super documento descrevendo como utilizá-los! Vai ficar excelente!

pessoa1: Então criaremos os nossos componentes! Alguém ai já ouviu falar do Maven? O que vocês acham?

pessoa2: Está mais do que incluido!

pessoa1: Certo pessoal, estamos entendidos! mão na massa! Desenvolvam um superframework que mudará nossas vidas! E passe para a mulher do RH uma relação com todas essas tecnologias para que possamos contratar algumas pessoas novas! Como não sabemos ainda qual server iremos utilizar, pessam conhecimento de Websphere, JBoss, Tomcat e Weblogic. Coloquem na lista também diversos Design Patterns, isso é bom! Ah pessoa3, não esqueça de pedir pra colocar um desejável conhecimento de metodologias ágeis, ouvi dizer que esse tal de XP é muito bom!”

Realmente não posso dizer que essa conversa existiu, mas com o que tenho em mãos hoje, o que vem na minha cabeça não foge muito disso. Aonde está a facilidade de desenvolvimento em dezenas de arquivos de configuração? Aonde está a facilidade em, além de entender diversos frameworks, entender como eles trabalham juntos, e ainda mais, ELES TRABALHAM BEM JUNTOS? Dezenas de xml’s, properties, e uma salada mista só para utilizar o que está na moda.

Gostaria de entender o uso desenfreado destes frameworks, que estão ai para ajudar no desenvolvimento, e não atrapalhar! Recetemente estava conversando com uma pessoa que trabalha em um outro projeto para outra instituição financeira, e lhe perguntei quais eram as maiores dificuldades que ele via, e sua resposta foi simples e direta:

“TUDO! Um monte de framework trabalhando junto!”

Até onde vale a pena investir em uma carreira em que 98% das vagas anunciadas remetem a este mesmo problema?

Por hoje é só!