quarta-feira, 15 de agosto de 2012

Rotina de um programador Java

Dúvidas que podem surgir em quem está começando a trabalhar com programação web:

1 - Existe muita vaga para trabalho?
R: Sim, existe, mas para cada cargo existe mais que para outros. 
   Geralmente,  estagiário é o que mais sofre, pois normalmente não tem experiência e a quantidade de vagas é mais modesta. 
   Já para os cargos efetivos considero que tem muitas vagas, mas isso pode variar de cidade para cidade, as mais fáceis são Rio de Janeiro e São Paulo.
   Para os cargos de Pleno e Sênior a pessoa consegue emprego mais fácil devido à falta de profissionais no mercado. E até consegue negociar alguns benefícios na hora da contratação (horário flexível, trocar ticket refeição por alimentação, o salário já deve ser o que "deseja" para não ter que pedir aumento nos primeiros meses, etc...) não deixe para depois para negociar, pois depois que você é um funcionário negociações se tornam maís difíceis.

2 - É fácil trabalhar com Java?
R: Trabalhar com programação em geral não é o mais fácil dos trabalhos. Mas se gosta de programar e raciocinar o tempo todo, essa é uma boa opção de emprego. Mas respondendo a pergunta, não é fácil. Se quiser trabalhar com algo que não de dor de cabeça, procure outra área de atuação. Outra diferença dessa profissão é a necessidade de estudar constantemente, pois os projetos usam tecnologias diferentes e que talvez você não domine, então terá que estudar para dar conta de cada framework novo que precisar usar, servidores, banco de dados, além de ter que dominar o trabalho acumulado do Analista de requisito, Arquiteto de Software, Web Design e Analista de Teste.

3 - O que faz um programador no dia-a-dia?
R: Um programador deveria programar, mas na verdade acaba trabalhando como um analista de sistemas, com um pouco de requisito, teste, web-designer, etc.. 
   Digo isso porque as empresas de maneira geral, nem sempre possuem todos esses profissionais em seu quadro, e, portanto acaba ficando nas mãos do desenvolvedor essas responsabilidades.
   Então basicamente, o trabalho é o seguinte:
   - Analisar os pedidos do cliente (muitos incompreensíveis) para decifrar o que realmente deve ser feito (deveria ser o trabalho de um Analista de requisito).
   - Calcular uma estimativa de tempo e trabalho para ser aprovado pelo cliente (Arquiteto de Software).
   - Elaborar os documentos com o que será feito (Analista de requisito) e às vezes um protótipo (Web Designer).
   - Realmente fazer o que foi pedido (Programador).
   - Testar o que foi feito, tentando encontrar todos os erros, para quando entregar estar perfeito e fazer mais documentos de teste e evidências (Analista de Teste).

4 - Como são os projetos que utilizam Java?
R: Os projetos que usam Java são em sua maioria de médio e grande porte, portanto os clientes são empresas grandes e que desejam um sistema único que não pode ser comprado no mercado e quase sempre são sistemas que nunca ficaram prontos, não significa que não será usado, pelo contrário, começaram a ser usado sem ter sido concluído e com o tempo novas solicitações serão feitas para alterações e até nova funcionalidades. Na maioria das vezes será com o máximo de burocracia possível e regras de negócio. Existe até metodologia na área de TI para minimizar essa burocracia (tipo Scrum), mas em minha opinião, se não tive alguém com experiência na metodologia pode até atrapalhar, aprender durante um projeto provavelmente será desastroso, só usar se algum líder da equipe já tenha conhecimento para isso.
   Enfim vou citar exemplos de sistemas que já trabalhei lógico sem citar nomes.
  
    - Sistema de geração de boletos através do portal da empresa de plano de saúde. Utilizava as seguintes tecnologias: JSF, RichFaces, JBoss Seam, JDBC, Javascript, CSS e HTML. Servidor JBoss. Banco Oracle.

   - Sistema de gerenciamento de obras de um órgão público. Utilizava as seguintes tecnologias: Um framework proprietário, Struts Um, JQuery, Javascript, CSS, HTML, Hibernate, JDBC, Spring. Servidor JBoss. Banco SQL Server e Postgrees.

   - Sistema de gerenciamento de processos jurídico de uma seguradora. Utilizava as seguintes tecnologias: Struts Um, EJB, JDBC, Javascript, CSS, HTML. Servidor WebSphere. Banco DB2.

   - Sistema de gerenciamento de licitações de uma empresa pública. Utilizava as seguintes tecnologias: Um framework proprietário, Struts Um, JDBC, Javascript, CSS, HTML. Servidor WebLogic. Banco Oracle.

Se tiverem mais dúvidas postem nos comentários que terei o prazer de incluir nesse post as informações solicitadas.

Um comentário:

  1. TENHO QUE INFORMAR NO FINAL A IDADE ( Q É 24) E SE ELE JA FEZ ANIVERSARIO,

    var
    ano, mes, dia, anoAtual, suaidade, idade, diaAtual, mesAtual: inteiro
    inicio
    escreval ("Informe seu dia de nascimento")
    leia (dia)
    escreval("Informe o mes")
    leia(mes)
    escreval("Informe o ano")
    leia(ano)
    escreval("Informe ano atual")
    leia(anoAtual)
    escreval("Informe mes atual")
    leia(mesAtual)
    escreval("Informe dia atual")
    leia(diaAtual)
    suaidade <- anoAtual-ano

    SE ( (mesAtual < mes) E (diaAtual < dia) ) entao
    escreval("Voce nao fez aniversário")
    senao (suaidade-1) entao
    escreval("Sua idade é", suaidade-1)
    fimse


    fimalgoritmo

    ResponderExcluir