Como aprender Java

Salve!Salve! Pessoal! Hoje vou abordar o que acho necessario, para aprender Java de um forma disciplina e tentar diminuir aquele “fala-fala” que java é confuso e dificil, às vezes, nós que colocamos algumas pedras em nosso caminho e depois nao dar trabalho para tira-la. Claro o que exposto aqui é a ponta de iceberg acredito que ajuda aos novos javeiros. Quero aproveitar e convidar vocês para fazer uma visita a minha nova coluna no Imasters sobre Threads.

Links interesantes:

Conheça os pais das linguagens de programacao

TIOBE – MAY/2008 – 1º Java 😀

Aprender Java não é bicho de 7 cabeças como divulgam pelo mundo a fora. Como qualquer outra tecnologia que você for aprender um pouco de disciplina é necessário, porém há aquelas que cobram muito e outras um pouco. Java está entre as que cobram muito. Não é apenas copiar e colar, é preciso entender os conceitos de O.O e saber implementar para poder desfrutar dos recursos oferecidos: JAVA + O.O.

Já vi código em Java todo estruturado (parecia pascal), e outros com tanta gambiarra, alto acoplamento e baixa coesão e isso não há Santo que faça milagre, e ainda dizem: no PHP, .NET isso funcionava melhor. Será que o problema/culpa está na linguagem?

A forma que você aprende influencia diretamente na sua carreira, no seu sistema e o ponto principal na manutenção do software. Então não vá com muita “Sede ao pote”.

As pessoas (os caras) que você considera “Fera” e os que são conceituados nacionalmente/mundialmente todos eles começaram com o “Hello World!” não tem para onde correr, porém o processo de aprendizagem leva tempo e exige dedicação + disciplina. Não dar para dormir e acordar sendo “Fera”.

Recomendo aos iniciantes e os migrantes os seguintes caminhos:

– estudar bastante O.O

– fundamentos Java

– Buscar o por quê?

– praticar bastante (porém implementando os conceitos O.O e fundamentos)

Sempre falo aos amigos/colegas o profissional com uma EXCELENTE base (formação de conhecimento) de modo fluente tanto O.O e fundamentos Java ele aprende o que quiser da tecnologia (e se amanhã migrar para outra que seja O.O não levará muito tempo para aprende-la).

Um exemplo clássico é se hoje você trabalha com desenvolvimento de aplicações JEE e amanhã precisa mudar para desenvolver aplicações JME, à coisa é tão rápida que você vai precisar apenas de alguns dias para aprender o necessário sobre JME. O conceito de interface, herança, polimorfismo etc. não mudam de acordo com aplicação (JSE, JME, JEE). A regra é a mesma independente de qual plataforma desenvolve (mais um ponto para valorizar a certificação SCJP que esse é seu foco entre linhas).

Outro ponto que indico é comprar um BOM livro, sei que na internet tem aquela frase: “Tem tudo”. Porém esse “Tudo” não está de forma organizada e muito menos com objetivo, metodologias de aprendizado etc. E tem mais um pouco, buscar e organizar demanda tempo que significa $$$.

Outro ponto é que os livros não são baratos, porém hoje as empresas on-line dividem em até 10x s/juros + frete grátis e quase todo mundo tem um cartão de credito com pelo menos o limite de um salário mínimo. Então o importante é ter o livro como vai pagar é outro 500(não é para passar o calote). Mais ainda acho o livro à melhor opção para estudar, bons livros tem um todo processo metodológico de aprendizado, objetivo e com intuito de realmente fazer o leitor aprender e sentir prazer na leitura. Um exemplo os livros da Kathy Sierra.

Outra opção para quem não gosta ou não tem disciplina com os livros é fazer um bom curso. O que não pode é você mesmo colocar pedras (já basta às pedras default que vão surgir por lei da vida) em seu caminho.

Para quem for fazer um curso recomendo a caelum, pois tenho colegas que entrou lá sem saber nem imprimir o “Hello World!” e saiu fazendo aplicações que nem dava para acreditar.

Não estou sendo pago, pelo mkt, mas estou recomendando uma boa escola onde tenho referências,assim como faço com os livros que já citei que considero bons livros, e nenhum dos autores depositaram nada na minha conta até o momento rs.

Enfim são apenas pequenas dicas, como sempre nada comprovado cientificamente. Mas espero que tenha contribuído para a vida profissional de alguém!

Flw! Um abraço a todos e um bom final de semana!

Quanto invisto em T.I?

Salve! SAlve! Hoje! vou falar sobre investimentos, quando trabalhamos em uma empresa depender da função é necessario ter planilhas e + planilhas de tudo que fizemos no semestre/ano e apresentar a diretoria/gerente e ver o desempenho do semestre/ano. E pq nao aplicamos isso em nossa vida profissional também? Veja como é simples e pratico quem sabe eficiente para uns.

let’s go…

Você já parou para pensar o quanto você investe em sua carreira durante o semestre/ano?

Mas para que isso? Pra uns não tem utilidade, para outros há. É uma situação semelhante que aconteceu com o roubo dos laptops da Petrobras, as informações ali para uns não tinham valor algum para outros uma mina de ouro.

O quero mostrar nesse post é se você sabe o quanto investe em sua carreira, para onde vai X% do seu salário e como você busca adquirir o valor investido (pequeno/médio/longo prazo).

Eu tenho um habito de controlar tudo que está ao meu alcance e saber tudo que dar entrada/saída e o por que. Em função disso montei uma planilha onde traço uma projeção de investimento em T.I para o semestre/ano. Claro que traço aquilo de acordo com meu objetivo para o semestre/ano e com isso sei ao chegar o final do semestre/ano o quanto investi. E em posso usar essas informações para N casos, um deles que posso citar é uma nova contratação de emprego (claro que não vou mostrar a planilha ao pessoal de R.H) ai a maioria das vagas pede pretensão salarial, com as informações de investimento que fiz é uma base para que eu possa estimular minha pretensão salarial e buscar de pequeno à médio prazo obter o investimento realizando e no mesmo processo contribuir para minha carreira profissional.

Vale lembrar que se o investimento feito foi de 10 mil você não vai querer de cara um salário de 20 mil querendo logo no primeiro mês tirar o investimento + lucro. Cabe ao profissional ponderar esse aspecto e sabendo colocar na balança carreira + investimento e tentado levar os processos lado a lado. O retorno de investimento + lucro vem em parcelas que podem ser rápida ou um pouco demorada, isso depende de você.

Um exemplo, você investiu 2008.1 em:

– inglês: R$ 700,00

– certificação voucher: R$ 330,00

– livro certificação: R$ 120,00

– livro UML: R$ 100,00

Total do investimento: R$ 1.250,00

Ai por acaso surge uma vaga de emprego e você está apto, o cara de R.H pergunta: qual sua pretensão salarial? Você simplesmente diz: R$ 1.250,00.

Bom depender do seu nível como profissional de T.I e o quanto valoriza seu conhecimento esse valor pode ser justo ou não. A questão é que há muito bom profissional de T.I ganhando salário de estagiário e muitos casos apenas por que no processo de seleção ele não soube negociar o valor de seu conhecimento. Ele é um bom cara técnico mais falhou na parte comercial e aceitou qualquer coisa.

No caso acima pedi um salário de R$ 2.000,00 + benefícios não seria nada mal, pois nesse meio de adquirir o conhecimento houve: dedicação, disciplina e o tempo. Tudo isso conta. O fato apenas de comprar o livro, fazer um curso etc. é outra parte do investimento.

Então profissionais de T.I a partir de hoje reveja seus investimento e veja se já conseguiu obter o retorno do seu investimento mesmo que foi de longo prazo, ou então iniciei a fazer isso de hoje, pois ainda estamos à 7 meses do fim do ano.

O importante é buscar a valorização do conhecimento.

Quero reforçar que o exemplo citado foi apenas para entender uma situação, não especifiquei cargo, função, o tipo da contratação,localidade etc. Mas agora pensem de modo genérico e adapte a sua realidade.

Estou disponibilizando abaixo o modelo da planilha, porém apaguei os dados pessoais e inserir dados fictícios para exemplo.

Download modelo planilha!

Bom pessoal! Até Sexta!! abraços a todos e obrigado por acessar o blog!

Manipulando Datas

Salve Salve! Galera, hoje venho ensinar alguns recursos do Java como: datas e manipulação. Este post é bem direcionado para quem está começando os estudos com java (lendo o livro da:kathy,deitel etc).
Conforme ja citiei, nao é objetivo do blog apenas atrair os visitantes intermediário, avançado Java (T.I), e sim tentar a cada semana atender a cada nivel, seja aquele que for fazer a certificação, que esteja migrando para java, ou estudando java. Espero gostem do post qualquer critica, sugestão para entrar em contato.

let’s go…

Datas e Formatação.

Para a manipulação de datas temos a classe Date, porém essa aqui os seus métodos foram bastante depreciados, por que é uma “Mão na roda”, tentar manipular datas coma essa classe, mas a usaremos junto com a class Calendar que tem métodos mais eficientes.

Antes de começar algumas dicas:

– o argumento do construtor da class Date somente aceita long (não invente de colocar float ou double).

– se deixar o construtor vazio ele mostra a data atual.

Dedos nos teclados e vamos lá:

import java.util.Date;

public class Dat {

public static void main(String[] args) {

Date d = new Date();

System.out.println(d.toString());

//exibi a hora atual,mes,dia e ano

}}

Prontos exibiram a data atual. Agora vamos manipular essa data:

import java.util.Calendar;

import java.util.Date;

public class Calend {

public static void main(String[] args) {

Date d = new Date();

Calendar c = Calendar.getInstance();

/*digo que minha variável de referência Calendar vai ser configurada com o valor da data, ou seja, data atual já que temos ().*/

c.setTime(d);

//add 1 mes

c.add(Calendar.MONTH,1);

//add 1 dia

c.add(Calendar.DAY_OF_WEEK,1);

//aqui pego o valor alterado e digo que meu objeto d(Date) vai receber ele

d=c.getTime();

System.out.println(d.toString());

}

/* ele vai exibir que dia vai cair à data do dia do mês seguinte */}

Agora vamos entender a class Calendar:

– ela é uma class abstract (abstrata), então não pode criar instancia dessa classe usando new. Já que algo abstrato não tem lógica usar o new, já que a finalidade do new é para aquilo que é concreto.

-Então usamos um método de fábrica que criar uma instancia da class Calendar onde posso chamar os métodos estáticos para manipular minha data.

-Essa parte aqui é mais importante vamos formatar as datas. O que você quer dizer com formatar Camilo? É colocar as datas como aprendemos no colégio, “07 de junho de 2007, 06/06/07 etc.”

Usando a class DateFormat – é essa classe que vai nos auxiliar na formatação de datas, é simples de entender essa classe. Somente para lembrar, ela segue a mesma regra da classe Calendar é abstract. Ou seja, vai usar um método de fábrica para instanciar um objeto (não usar new).

import java.util.Date;

import java.text.DateFormat;

public class DatFormat {

public static void main(String[] args) {

Date d = new Date();

//class DateFormat abstract

DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT);

//imprime a data formatada com o estilo da class DateFormat(df)

System.out.println(df.format(d));

}}

Estilos da class DateFormat:

SHORT,MEDIUM,LONG,FULL.

Para melhor compreensão nada melhor que a prática, então é só criar pequenos programas usando datas, e ver que o código em si não é nem 10 linhas para ter uma data no seu programa. Teste os outros estilos, MEDIUM, LONG, FULL e perceba a diferença.

Algumas dicas (pode ser implementadas no prompt de comando):

– se você sabe manipular arquivos crie um programa onde grava a data que o arquivo foi criado.

– faça um programa que exibe a data em sua tela inicial e quando for fechar o programa também

– fala um programa onde você possa monitorar quanto tempo ele ficou rodando. Ex.: O usuário executou e no final exibir o tempo q ele ficou usando o programa.

Passei SCJP e agora?

Salve! Salve! Hoje vou falar um pouco sobre pos-SCJP. Vejo sempre no GUJ, a inércia dos programadores em saber o que fazer. Uns até ficam muito tempo sem estudar por ainda está decidindo qual caminho seguir. Mas temos que lembrar que tempo é $$$ e não podemos desperdiçá-lo então resolver montar um post onde possa incentivar aos indecisos.

Quem nunca se pegou com essa dúvida após fazer o exame SCJP?

Essa dúvida é algo muito comum. Porém a escolha do caminho é fundamental, para sua carreira. Claro que a SCJP é a ponta do iceberg.

Você como programador Java deve a partir daí agora definir novos caminhos a seguir, um deles é aproveitar o ritmo espiritual e psicológico da maratona da certificação e fazer mais uma na área que deseja atuar.

Muitos programadores seguem o caminho JEE, JSE ou JME, isso vai muito do projeto profissional envolvido ou objetivo pessoal/profissional de cada um. Há pessoas que tiram a certificação por normas da empresa, outras que tiraram porque a SCJP é pré-requisito para quase todas as outras certificações, enfim há um conjunto de variáveis nesse meio. O importante saber qual “xícara” você vai tomar para não perder tempo + dinheiro e acabar tomando a xícara errada e fazer “mal”.

Vou citar um exemplo clássico:

Vamos dizer que a região que você mora ou que pretende trabalhar a plataforma JEE está em alta, e há projetos sobrando e a procura por profissionais é enorme. Sendo que você sabe disso, por que você optaria em estudar JME ou JSE? Claro que não estou dizendo que não é para não estudar as outras tecnologias caso tenha interessante, mais o importante é focar no que for de pequeno ou médio porte para sua carreira, quem sabe pode pintar uma boa, excelente oportunidade para JEE e simplesmente você não está preparado para atuar, já que passou boa parte estudando outra área que para aquela região é algo para longo prazo (e olhe lá se for).

E para aqueles que já têm experiência?

Bom para aqueles com experiência o interessante é escolher o caminho que você atua na empresa ou trilhar para um cargo que deseja. Ex.: Arquiteto Java

Não há segredos nem receita de bolo, o interessante é o profissional saber o que ele quer dar carreira dele, e daí focar no propósito e dar tempo ao tempo, porém busque traçar metas assim você consegue medir como está evoluindo.

“O sucesso de sua carreira depende mais de você do que dos outros!” Nunca ache que um empresário vai dizer o que você tem estudar ou quais certificações tem que fazer, eles quer você preparado sempre.

Uma diga que dou é: siga o seu EU, porém faça uma análise do mercado, da tecnologia e daí iniciei os investimentos e o tempo se encarrega de dar o “troco”.

Lembre-se se fizer um investimento que você considera “certo” sendo assim você receberá o troco que esperava, caso contrário poderá ser lesado.

Estudo do mercado

Para estudar o mercado em nossa área não tem muito segredo, acesse os sites abaixo e sempre analise o que as empresas de RH vem pedido, claro que há vagas que os pré-requisitos são exagerado. Porém lembre-se que tudo é negociável, procure estudar vagas onde você já tem conhecimento e que pretende obter até final do ano ou quando pretende mudar de emprego (se você não tem experiência, esqueça esse pré-requisito na vaga e olhe para os conhecimentos exigidos).

Eu recomendo imprimir as vagas e levar para casa analisar com carinho e começar a traçar e estudar o que vale realmente apena estudar e investir (fazer um curso, comprar um livro, tirar uma certificação etc).

Empregobahia

Empregonaweb

Apinfo

Catho

Bom eu mesmo, tenho hábito de analisar independente se eu pretendo trabalhar ou não no naquela cidade/estado, porém foco mais no aspecto das tecnologias exigidas. Os sites acima são ótimos e outros que não citei e que você conhecer passe a visualizar o mesmo não apenas como um site de recrutamento e sim como um site de base para você saber o que estudar.

Observe que existe mercado para especialista em SAP, SOA, inglês Fluente etc…. Então é um mar de informações basta saber como usá-la. E buscar aquilo que está mais próximo do perfil.

Reflita assim: “Se eu tivesse o perfil X, poderia trocar de emprego ou começar minha carreira com Java.”

Flw! Pessoal! Espero que tenha gostado do tema. Não sou nenhum especialista nessa área de carreira profissional. Porém a base para este post segue o mesmo perfil dos já postados a minha experiência e nada mais.

E agora para os perdidos, basta se organizar e escolher qual xícara tomar.

Até quarta!

Escolha sua certificação

Como ser um bom programador Java?

Você já se fez essa pergunta? Mas será que tem “receita de bolo”?

Hoje resolvi traduzir o texto do Dr. Heinz M. Kabutz. How can I become a good Java Programmer? Como eu posso me tornar um bom programador Java?

Bom pessoal, não possuo inglês fluente, então já diante mão peço desculpas por alguma falha na tradução hehe… procurei não traduzir ao pé da letra o artigo

Esse artigo é para quem está iniciando, para os experientes, enfim para todo programador.

Como ser um bom programador Java?

Está é uma questão interessante, observe a situação que abaixo, demonstrada no artigo do Dr. Heinz.

Situação: um torcedor tem oportunidade de entrevistar o David Beckham

Torcedor: – bom dia, Sr. Beckham, o meu filho gostaria de seguir a carreira como jogador de futebol. Qual o seu conselho?

Beckham: – ele está jogando em alguma liga?

Torcedor: – Oh! Não, ele não está jogando futebol, mas ele freqüentemente, assisti na TV.

Beckham: Qual esporte ele prática então?

Torcedor: Ele prática golfe no computador e nos jogamos xadrez e tênis também.

Beckham: A propósito quantos anos seu filho tem?

Torcedor: 35 anos

Beckham: – Olha seu filho não pratica futebol, ele não pratica na verdade nenhum esporte e tem 35 anos, mas ele quer ser um jogador de futebol profissional. Qual é real razão?

Torcedor: Eu ouvir dizer que jogador de futebol pode ganhar muito dinheiro.

……

Converta o diálogo no nosso mundo de T.I e reflita…

Por onde começar?

Para Heinz iniciar a vida como programador é necessário gostar de matemática e física. Heinz diz que muitos programadores querem ser recompensado pelas coisas que fazem, ele relata que quando iniciou a carreira como programador o seu salário era muito baixo e na época não fazia um curso de ciência da computação, já que não poderia pagar. Porém ele sempre amou a programar e por esse fato não deixou de programar, porém ter um bacharelado em ciência da computação, sistemas de informação e áreas afins ajuda muito e não se esquecer de adicionar a matemática.

Para Heinz ser um excelente programador Java não é difícil, basta apenas seguir os pontos abaixo:

Você precisa: respirar, comer, dormir Java

Vamos supor que você inicia o trabalho das 08h30min e finaliza às 17h. Então o que você faz após esse horário é o que determina o seu futuro de programador. O que você faz das 06h às 08h? E após o trabalho? Você pode programar em Java.

Se você tiver responsabilidade, teremos uma hora e meia de manha e seis horas à noite sendo assim temos sete horas e meia por dia

Se você quer ser um bom programador Java, é preciso ter dedicação e evoluir seu conhecimento, comprar alguns presentes para si mesmo como um livro de O.O, Design Patterns etc.

Se você programa em Java apenas pelo emprego ou pelo salário você nunca será um BOM programador. Um EXCELENTE programador Java tem esses pontos abaixo:

– Programa por prazer e não por dinheiro. Nas horas vagas do dia aprende programar mais em Java

– Nunca para de estudar. Pois você pode ficar obsoleto em pouco tempo

– Não para de ler livros.

Há várias maneiras de ser um excelente programador Java um deles poder se através do emprego ou do seu modo de pensar.

Flw! Pessoal espero que tenham gostado do artigo.

Agora o ponto interessante no artigo que achei foi o exemplo do jogador de futebol, não dar para ser profissional sem praticar ai já é pedir demais heheh! Esse exemplo cai em várias situações da nossa área de T.I uma delas são aquelas pessoas que vai para universidade de ciência da computação, análise de sistemas etc. E acham que assim que pegar o “canudo” vai sair de lá com 1/3 da fortuna do Bill. Será que apenas fazer uma boa ou até melhor faculdade do país garante isso?

Aquele que se encontra nessa situação favor de colocar “os pés no chão” e encarar o mercado como ele é, e não como queríamos que ele fosse.

Um abraço!! E até Sexta! O que acharam do novo layout?