Designer X Web Designer X Programador

46 respostas
K

Como é possível três papeis: designer, web designer x programador trabalharem juntos em um projeto?
Sempre trabalhei em projetos pequenos e não tinha o designer, o web designer + programador entregava a solução.

Agora tenho um designer que faz o desenho da aplicação (produz o PSD).
Passa para o web designer transformar o PSD em html/css
Depois entra o programador para transformar o html/css e acrescentar JS e integração com servlets.

Qualquer modificação no layout acarretará num retrabalho da bexiga.
Desculpe a ignorância, mas como vcs trabalham com isso?

46 Respostas

E

kuesley,

Você apenas servlet, sem nenhum framework?

K

$ERVER:
kuesley,

Você apenas servlet, sem nenhum framework?

Isso.

E

Complicado. Eu não tenho muita experiência como programador Java - pouco mais de um ano - mas estudei servlets no início, e tinha muita dificuldade nessa integração também, ai resolvi aprender o uso do Spring MVC, e ai sim, consegui resolver uns 90% de todos esses problemas - e olha que nem conheço todas a possibilidades dele, ainda.

Eu te aconselho a pegar algum framework e cair em cima dele. Como já citei, uso o Spring e ele é ótimo.

A propósito, ri muito com a sua assinatura: “Curioso…” … kkkkkkkkkkk

I

Eu nunca trabalhei com esse cenario, mas imagino que a melhor forma seja o seguinte…

Designer, é independente, fica ali na dele preparando as imagens que lhe pediram
Ai depois, vejo que é melhor o programador escrever todo o html, com seus respectivos ids, pra depois entrar o webdesigner, criando o css de acordo com o html gerado…

Caso isso nao seja possível, essa forma serial de trabalhar, e precisa ser mais paralelo, ai vejo que tem q ter uma comunicacao proxima e boa entre o web designer e o programador… e claro, ambos tem em mente de como vai ficar, pelo menos estruturalmente.
Naturalmente, vai ter coisas que serao modificados no html, que o webdesigner vai ter que alterar na parte dele tb… mas qto menos tiver isso melhor…

C

membros desde 2005 e 2010 e não tem experiência?

Que estranho…

K

$ERVER:
Complicado. Eu não tenho muita experiência como programador Java - pouco mais de um ano - mas estudei servlets no início, e tinha muita dificuldade nessa integração também, ai resolvi aprender o uso do Spring MVC, e ai sim, consegui resolver uns 90% de todos esses problemas - e olha que nem conheço todas a possibilidades dele, ainda.

Eu te aconselho a pegar algum framework e cair em cima dele. Como já citei, uso o Spring e ele é ótimo.

A propósito, ri muito com a sua assinatura: “Curioso…” … kkkkkkkkkkk

kkkkk se quiser aprender tem que ser curioso!

Viu $ERVER,

Mesmo que eu domine um framework ou desenvolva um.
Considere que sou fera em java (claro que não) mas uma negação em designer, vou ter que chamar o cara pra desenhar minhas paginas.
Chamar outro pra transformar isso em HTML. Dai sim, eu começo a trabalhar nesses arquivos.

O problema disso é que cada modificação no designer (no layout) tenho esse retrabalho.

Como pode o Spring resolver isso, se estou mudando o designer (psd/html/css)?

E

carlos alexandre moscoso,

Então, me tornei membro quando comecei a me aprofundar em Java na Faculdade (2010), mas faz pouco mais de um ano que trabalho com isso (Janeiro de 2012). Abraços.

E

kuesley,

Então, basta utilizar taglibs, que ai você pode ensinar para o web designer como funciona - acredite, até uma criança de 10 anos conseguiria fazer o trabalho - ou você mesmo poderia fazer isso usando o html/css passado como base por ele.

K

carlos alexandre moscoso:
membros desde 2005 e 2010 e não tem experiência?

Que estranho…

É que tem tanta gente fera aqui que dizer que sabe alguma coisa é melhor nem dizer!

Mas minha experiencia sempre foi desenvolver app internas e nao precisava de ter um designer TOP.
Agora to num projeto que a aplicacao precisa ser bonita pra nao dizer LINDA. Neste momento isso é um requisito.
E nisso nunca tinha trabalhado. Mas desenvolvo desde 1994, sempre com telas feias claro! :smiley:

K

$ERVER:
kuesley,

Então, basta utilizar taglibs, que ai você pode ensinar para o web designer como funciona - acredite, até uma criança de 10 anos conseguiria fazer o trabalho - ou você mesmo poderia fazer isso usando o html/css passado como base por ele.

Pois é to vendo que não tem milagre.
É pq estava conversando com um camarada e ele disse que tem como ter independência total… O cara do designer só linka os campos bla bla bla
Por isso estou postando isso aqui no fórum.

Para tentar saber qual é essa metodologia de desenvolvimento

E

Vou lhe dar um breve exemplo de como funciona com um cadastro de clientes:

Com o Spring configurado, crio uma classe ClienteController, ela vai tratar a requisição para "/lista-clientes"

@RequestMapping(value = "lista-clientes")
public String listarClientes(HttpServletRequest request, Model model) {

  //aqui toda a a parada de conexão ao banco, sendo o dao responsável por isso
  List<Cliente> listaClientes = clienteDAO.listar();
  
  //aqui o Spring disponibiliza pro browser uma lista, que será captura depois e exibida com taglibs do próprio framework
  model.addAttribute("lista-clientes", listaClientes);

  //chama a página de listagem, chamada lista-clientes.jsp
  return "lista-clientes";

}

Já na nossa lista-clientes.jsp, pegamos a lista colocado no model no método acima, e exibimos com taglibs:

<--! primeira linha faz referência à taglib do Spring  -->
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>

<body>
<table align="center">
<c:forEach items="listaClientes" var="cliente">
  <tr>
    <td> cliente.nome </td>
    <td> cliente.endereco </td>
  </tr>
</c:forEach>
</table>
</body>

</html>

No html acima, o laço foreach pega o Arraylist criado no primeiro método mapeado na requisição a "localhost/sua-app/lista-clientes", e vai exibindo cada uma das suas propriedades (pelos métodos get da sua classe Cliente).

Viu como se tornou muito mais fácil e prático? O web designer poeria aprender muito rapidamente a usar as taglibs do framework - elas foram criadas com esse propósito.

Se tiver interesse te passo um tutorial nota 1000 sobre configuração e primeiro contato com o Spring, que um próprio membro do grupo postou em seu blog. Qualquer dúvida tamo ae, to ocioso hj - final de projeto, esperando testes começarem.

Abraços.

E

Total, que eu saiba, acho que não existe … Pelo menos depois de 3 anos lendo sobre todos os frameworks que aparecem na minha frente. Depende muito do que ele quis dizer com esse “total”.

MVC você já domina?

Abraços.

D

Kuesley, não tem segredo…

Se o designer for mexer apenas em posicionamento e cores e distribuição e tal, bele, só teria trabalho para o designer e o web designer…

Agora se for inserir ou retirar campos de input, colocar ações com o controller, então não tem jeito, vai dar retrabalho pra todos…

Sugestão, usa o VRAPTOR para comunicar… ele é um framework da caelum muito top… e super fácil de aprender…

Espero ter ajudado e abraços…

K

Total, que eu saiba, acho que não existe … Pelo menos depois de 3 anos lendo sobre todos os frameworks que aparecem na minha frente. Depende muito do que ele quis dizer com esse “total”.

MVC você já domina?

Abraços.

MVC sim.
Manda o tutorial ai por favor.
Vou ver se o web designer entender de taglibs, é uma boa saída sim.

K

diogogama:
Kuesley, não tem segredo…

Se o designer for mexer apenas em posicionamento e cores e distribuição e tal, bele, só teria trabalho para o designer e o web designer…

Agora se for inserir ou retirar campos de input, colocar ações com o controller, então não tem jeito, vai dar retrabalho pra todos…

Sugestão, usa o VRAPTOR para comunicar… ele é um framework da caelum muito top… e super fácil de aprender…

Espero ter ajudado e abraços…

Toda contribuição é importante, assim agente vai sabendo como é o dia a dia dos colegas
e sem tem algo novo. :smiley:

E

O tutorial sobre Spring: http://vonjuliano.wordpress.com/2011/03/03/trabalhando-com-spring-mvc-3-de-forma-simples/

E a fj21 da Caelum: http://www.caelum.com.br/apostila-java-web/

No capítulo 7 dessa apostila tem o basicão de JSTL (Java Standart TagLibs).

Boa sorte manolo, qualquer dúvida é só chamar. Abraços.

K

$ERVER:
O tutorial sobre Spring: http://vonjuliano.wordpress.com/2011/03/03/trabalhando-com-spring-mvc-3-de-forma-simples/

E a fj21 da Caelum: http://www.caelum.com.br/apostila-java-web/

No capítulo 7 dessa apostila tem o basicão de JSTL (Java Standart TagLibs).

Boa sorte manolo, qualquer dúvida é só chamar. Abraços.

obrigado e abraço

R

Eu sempre trabalhei da seguinte forma: o Designer trabalha JUNTO com o Web Designer para fazerem as páginas. O Web Designer trabalha JUNTO com o Programador para conseguir integrar as duas plataformas.

As pessoas precisam, antes, sentar TODAS juntas para planejar o desenvolvimento da aplicação. Assim, um sabe o impacto que uma mudança pode causar.

Ideal mesmo é todo mundo trabalhando sempre juntos e um sabendo o que o outro está fazendo. Olhe sobre a metodologia do Scrum e XP. Use o Kanban para conseguir administrar o que cada um está fazendo de forma BEM visual.

Se você usar algum framework MVC como Spring ou VRaptor (aconselho esse pela curva de aprendizado e suporte no GUJ), você tem um aumento incrível de produtividade do Programador. Site do VRaptor
Se você usar algum framework de Persistência como o Hibernate (aconselho esse por ser o mais utilizado pelo mercado) ou outros, você tem um aumento absurdo da produtividade do Programador para persistir os dados no banco de dados.Site do Hibernate
Se você usar algum framework de JavaScript como o jQuery (aconselho esse pela intensa comunidade e plugins existentes) você tem um aumento da produtividade do Web Designer e do Programador.Site do jQuery
Se você usar algum framework de CSS como o Twitter Bootstrap (aconselho esse por que é realmente lindo e integrado ao jQuery) ou o jQuery UI você tem um aumento de produtividade do Web Designer.Site do Twitter Boostrap

Apostila muito boa da Caelum sobre VRaptor, Hibernate (básico) e jQuery (básico)

Esses frameworks não vão deixar a sua aplicação lenta, pelo o contrário, eles têm umas formas de otimização bem avançadas.

Os frameworks existem para que você se preocupe em desenvolver o que realmente importa. No caso, a regra de negócio é o que realmente importa.

E

Perfeito!

Quanto aos problemas como ter que mudar o layout da pagina, por consequencia seus inputs - ou mesmo na hora da criação do layout, já que o programador precisa saber quais os ids deles para fazer o binding com o controller - eu pessoalmente tenho uma saída bem simples: um dos integrantes da equipe fica responsável por nomear os inputs, ou o que mais precisar, cria um .doc e passa pros interessados. Coisa muito simples que aprendi com a minha Professora de Qualidade de Software, mas que me quebra muito galho até hoje: deixar tudo documentado.

Eu ainda torço o nariz pra Scrum e XP, mas talvez seja por não conhecer mais a fundo também. Mas respeito muito quem usa, é tudo questão de ponto-de-vista.

De qualquer forma, tá ai uma dica. Abraços.

D

Olá amigos.

Comecei trabalhando com Webdesigner, só HTML+CSS, depois trabalhei com Designer Gráfico, em 2009 comecei a cursar Sistemas de Informação, trabalho como programador, trabalhei numa empresa que tinha existia os 3 papéis. Dava briga, o Designer fazia o Layout, passava para o programador, que ficava fulo em montar em cima do layout, o webdesigner só entrava em ação na hora do CSS.

Agora trabalho, como programador web e concordo com os amigos, a melhor forma de programar é usar MVC, mas mesmo assim ainda coloco a mão na massa qdo precisa criar um fundo ou algum ícone para o sistema.

Cordialmente
Diego Silva

Se alguém quiser me add. no msn para trocarmos experiências… é só add. [email removido]

K

dlsilva1812:
Olá amigos.

Comecei trabalhando com Webdesigner, só HTML+CSS, depois trabalhei com Designer Gráfico, em 2009 comecei a cursar Sistemas de Informação, trabalho como programador, trabalhei numa empresa que tinha existia os 3 papéis. Dava briga, o Designer fazia o Layout, passava para o programador, que ficava fulo em montar em cima do layout, o webdesigner só entrava em ação na hora do CSS.

Agora trabalho, como programador web e concordo com os amigos, a melhor forma de programar é usar MVC, mas mesmo assim ainda coloco a mão na massa qdo precisa criar um fundo ou algum ícone para o sistema.

Cordialmente
Diego Silva

Se alguém quiser me add. no msn para trocarmos experiências… é só add. [email removido]

Legal… o bom é que você teve a experiencia como designer.

K

Rafael Guerreiro:
Eu sempre trabalhei da seguinte forma: o Designer trabalha JUNTO com o Web Designer para fazerem as páginas. O Web Designer trabalha JUNTO com o Programador para conseguir integrar as duas plataformas.

As pessoas precisam, antes, sentar TODAS juntas para planejar o desenvolvimento da aplicação. Assim, um sabe o impacto que uma mudança pode causar.

Ideal mesmo é todo mundo trabalhando sempre juntos e um sabendo o que o outro está fazendo. Olhe sobre a metodologia do Scrum e XP. Use o Kanban para conseguir administrar o que cada um está fazendo de forma BEM visual.

Se você usar algum framework MVC como Spring ou VRaptor (aconselho esse pela curva de aprendizado e suporte no GUJ), você tem um aumento incrível de produtividade do Programador. Site do VRaptor
Se você usar algum framework de Persistência como o Hibernate (aconselho esse por ser o mais utilizado pelo mercado) ou outros, você tem um aumento absurdo da produtividade do Programador para persistir os dados no banco de dados.Site do Hibernate
Se você usar algum framework de JavaScript como o jQuery (aconselho esse pela intensa comunidade e plugins existentes) você tem um aumento da produtividade do Web Designer e do Programador.Site do jQuery
Se você usar algum framework de CSS como o Twitter Bootstrap (aconselho esse por que é realmente lindo e integrado ao jQuery) ou o jQuery UI você tem um aumento de produtividade do Web Designer.Site do Twitter Boostrap

Apostila muito boa da Caelum sobre VRaptor, Hibernate (básico) e jQuery (básico)

Esses frameworks não vão deixar a sua aplicação lenta, pelo o contrário, eles têm umas formas de otimização bem avançadas.

Os frameworks existem para que você se preocupe em desenvolver o que realmente importa. No caso, a regra de negócio é o que realmente importa.

Boa demais sua explicação Rafael…

R

$ERVER:

Quanto aos problemas como ter que mudar o layout da pagina, por consequencia seus inputs - ou mesmo na hora da criação do layout, já que o programador precisa saber quais os ids deles para fazer o binding com o controller - eu pessoalmente tenho uma saída bem simples: um dos integrantes da equipe fica responsável por nomear os inputs, ou o que mais precisar, cria um .doc e passa pros interessados. Coisa muito simples que aprendi com a minha Professora de Qualidade de Software, mas que me quebra muito galho até hoje: deixar tudo documentado.

Discordo completamente. O id dos inputs serve somente para o CSS ou o JS saberem reconhecê-lo… Mas ainda assim, somente em alguns casos. Leia sobre isso: http://blog.caelum.com.br/seu-codigo-css-pode-ser-mais-limpo-flexivel-e-reaproveitavel/

O que o browser usa para mandar para o servidor é o atributo name dos inputs. Esse atributo não deveria ser usado pelo Web Designer, mas somente pelo Programador. Pois é nesse atributo que está a integração entre as duas plataformas.

Quanto à documentação, discordo completamente, documentação fica obsoleta de forma rápida e NINGUEM lê. (você ja leu algum manual de panela de pressão, por exemplo?)

O Ideal mesmo é fazer TESTES DE UNIDADE. Conhecido como TDD. São testes automatizados que GARANTEM que o seu sistema se comporte de maneira adequada. Leia: http://blog.caelum.com.br/tdd-e-sua-influencia-no-acoplamento-e-coesao/

$ERVER:

Eu ainda torço o nariz pra Scrum e XP, mas talvez seja por não conhecer mais a fundo também. Mas respeito muito quem usa, é tudo questão de ponto-de-vista.

Scrum é uma metodologia focada na solução do problema e não na documentação. Considero a melhor metodologia de desenvolvimento no mercado, e já trabalhei com várias metodologias.
Hoje eu trabalho com PMI em uma empresa e com SCRUM em outra. Mas, infelizmente, a primeira é por imposição e não por vontade.

Eu tenho uma equipe de desenvolvimento que está muito dividida regionalmente, ou seja, um em SP, outro no Canadá, outro em Minas e fazemos o nosso Scrum de forma eficiente.

Fazemos Kanban com uma plataforma online chamada Trello. Excelente. http://www.trello.com

E

Calma Rafael Guerreiro! kkkkkkkkkkkk

Falando sério agora, tens razão em várias coisas:

1º: quando eu disse ids, me referia ao atributo name mesmo, foi erro meu.
2º: Documentação é realmente um pé no saco.

Porém:

Ai você citou um manual de como UTILIZAR algo, enquanto eu me referi à documentação como uma forma de organizar, e deixar a informação disponível pra quem precisar.

Estudei isso na faculdade, porém, ainda não tive a oportunidade de por em prática.

Em momento algum botei em dúvida a qualidade do seu trabalho utilizando Scrum e XP. Se foi o que deu a entender, foi totalmente sem querer, e peço desculpas.

É o que eu falei, eu sou muito novo na area ainda, tenho muito, mas muito a aprender com feras como vocês.
Novamente desculpas por qualquer transtorno, abraços.

E

Ai é que entra uma coisa que eu acho interessante: programador com obrigações quanto ao layout. Não vejo como resolver isso usando metodologias ágeis, vou te explicar o porque:

Como fazíamos nos projetos da faculdade: como os inputs dependem do Bean para binding, eu pegava um doc, colocava os nomes das propriedades do bean e passava pro responsável pela parte do layout. Fazia isso em menos de 5 minutos, e a informação tava lá guardada pra quem precisasse. E não é só pela praticidade: imagina um programador ter que instalr editor de html só pra mudar os names dos inputs? Ou usando o wordpad, que muitas vezes deforma a formatação do arquivo? Esses são apenas alguns contras.
Se me der um exemplo de como resolver esse problema (deixando o programador longe de qualquer parte de layout), eu começo a dar o braço a torcer por aqui.

Abraços.

R

Eu que peço desculpas, eu não sei usar emoticons e as pessoas sempre interpretam errado os meus textos. Não estou brigando com você, nunca faria isso. Não tenho esse direito.

É para isso que serve o TDD. Vamos supor assim, você vai em um sistema e muda um If, se o sistema estiver bem testado, ou seja, com bastante testes de unidade, ele pode quebrar com a mudança que você fez e você vai conseguir ver o COMPORTAMENTO que os testes estão esperando daquele método. Assim, você sabe se está certo ou errado. Além de ter total segurança em mexer no sistema, pois, se você colocar algum bug sem querer, um teste pode te avisar.

Coloque em prática AGORA. Isso deveria ser pré-requisito para os sistemas. As pessoas deveriam aprender a programar testando.

Em momento algum botei em dúvida a qualidade do seu trabalho utilizando Scrum e XP. Se foi o que deu a entender, foi totalmente sem querer, e peço desculpas.

É o que eu falei, eu sou muito novo na area ainda, tenho muito, mas muito a aprender com feras como vocês.
Novamente desculpas por qualquer transtorno, abraços.


Eu que peço desculpas mais uma vez. Eu não li o seu post como uma ofensa, mas como te fazer entender o que realmente é o melhor.

Mas existe aquela coisa, o que é melhor para um pode não ser para o outro. O fato é que a maioria (para não dizer todos) dos grandes desenvolvedores adotam essas práticas.
Se eu quero ser um grande desenvolvedor, eu preciso agir como eles…

É importante experimentar coisas novas para saber o que você está fazendo de errado e o por quê.

SEMPRE se pergunte o porque de cada coisa. Se eu te falar: use TDD, PERGUNTE “porque?”. Se você fizer uma entidade e lotar de atributos privados e getters e setters, pergunte “PORQUE??”.

R

$ERVER:
Ai é que entra uma coisa que eu acho interessante: programador com obrigações quanto ao layout. Não vejo como resolver isso usando metodologias ágeis, vou te explicar o porque:

Como fazíamos nos projetos da faculdade: como os inputs dependem do Bean para binding, eu pegava um doc, colocava os nomes das propriedades do bean e passava pro responsável pela parte do layout. Fazia isso em menos de 5 minutos, e a informação tava lá guardada pra quem precisasse. E não é só pela praticidade: imagina um programador ter que instalr editor de html só pra mudar os names dos inputs? Ou usando o wordpad, que muitas vezes deforma a formatação do arquivo? Esses são apenas alguns contras.
Se me der um exemplo de como resolver esse problema (deixando o programador longe de qualquer parte de layout), eu começo a dar o braço a torcer por aqui.

Abraços.


O programador SEMPRE estará longe do Layout. Vamos mudar a forma de ver isso:

Eu te falo assim: para mandar uma carta para mim, você precisa me enviar nesse formato para esse determinado endereço.

Pois então, para uma plataforma se comunicar com outra, um PRECISA especificar o “formato” que ele vai precisar usar.

A questão é a seguinte, não existe projeto perfeito aonde o programador não interfira no HTML e o Web Design não interfira no código. As coisas estão INTEGRADAS. O trabalho dos dois é INTEGRADO.

Por um problema de lentidão, o Web Design pode se ver no direito de pedir que o Programador melhore determinada funcionalidade. É um trabalho em CONJUNTO. A gente está falando de EQUIPES para um projeto. Pouco importa para o usuário que um não interferiu no outro (minha opinião é que isso é ruim).

Quanto ao editor HTML, o eclipse consegue editar HTML muito bem, na minha opinião. Mas existe plugins para o eclipse para te ajudar MAIS ainda, como o APTANA…

E

Aqui existe: eu programo em Java e o web designer usa taglibs para disponibilizar a informação nas páginas, e, como já falei, um documento com a especificação dos inputs, por exemplo. E mesmo assim ainda está longe de termos projetos perfeitos aqui (visto que eu sou o mais novo na equipe). Você poderia refutar dizendo que o web designer tá usando programação com taglibs (o que muitos alegam), porém, o próprio nome e formato diz tudo: taglibs.

E posso te afirmar que em momento algum eu preciso trabalhar com html/css e o web designer com Java.

Concordo contigo que é uma equipe, mas a forma como o software é desenvolvido influi diretamente na sua qualidade e prazos, e consequentemente, importa para o usuário (de maneira indireta).

Eu não preciso, obrigado.

Abraços.

R

Quis dizer interferência, e não programação. Se o Web Designer está programando em Java, ele não é um Web Designer.

Mas como você mesmo disse, você especifica para o Web Designer fazer algo, você dita para ele o que ele precisa te mandar (e vice-versa).

Eu tomaria cuidado com isso, como disse, é interessante experimentar coisas novas e visitar novos horizontes.

Eu comecei com Java, hoje eu acho o JavaScript, CSS e HTML mil vezes mais interessante. Recentemente fiz um curso de iOS na Caelum e já tenho uma forma de comparação entre as linguagens.

Com essa interferência que eu tenho de outras linguagens, a minha forma de desenvolver em Java mudou muito, e eu acho que está muito melhor hoje do que era quando eu não sabia iOS, por exemplo.

Comecei a estudar Ruby agora e ele me deixou maravilhado, existem coisas extremamente úteis que a gente pode fazer com Objective-C, Ruby e JavaScript que no Java não conseguimos fazer ou não conseguimos fazer de forma elegante.

É importante estar aberto à tudo e assim você só vai se tornar um profissional melhor (consequentemente o salário melhora).

E

Quis dizer interferência, e não programação. Se o Web Designer está programando em Java, ele não é um Web Designer.

Mas como você mesmo disse, você especifica para o Web Designer fazer algo, você dita para ele o que ele precisa te mandar (e vice-versa).

Agora entendi, a famoso integração. Nisso concordo contigo, não há escapatória mesmo.

Concordo contigo que deve-se ter a mente aberta.
Porém, saber programar em várias linguagens não é garantia de sucesso - nem de melhor salário.
Conheço várias pessoas que sabem “programar” em PHP, Java, C#, porém, pecam em uma coisa essencial: escrever programas fáceis de outros programadores lerem depois - não estou me referindo a você, pois nem te conheço pessoalmente, muito menos profissionalmente pra afirmar algo do tipo.
Programar em delphi, Java, e qualquer outra linguagem, qualquer um pode aprender. Mas o que acho primordial em um programador é saber o porque de usar a linguagem que ele escolheu - quando quer se especializar ou conhecer várias linguagens. Eu, por exemplo: vejo um mercado atrativo para um BOM programador Java, então estudo tanto a parte técnica - a linguagem Java - quanto continuo a aperfeiçoar meus conhecimentos teóricos. Isso, pode ter certeza, me trará grande retorno dentro de poucos anos.

Se pareci arrogante ao dizer obrigado, me desculpe. Mas pense melhor sobre o assunto, antes de começar a ironizar um companheiro de profissão.

Acho que você já pode - eu disse PODE - estar levando isso para o lado pessoal, pois qualquer um que ler o fim do seu post consegue entender que ele tem uma leve ironia. Minha resposta está ai acima, encerremos o assunto por aqui, e boa sorte, amigo.

Abraços.

R

Caramba, amigo. Não fui nem um pouco ironico.

Também não disse que você deveria aprender várias linguagens. Disse que você deveria conhecer o que está fora para você poder aperfeiçoar o que você já sabe.

Não estou brigando, ironizando e nada, só estou te dizendo o que eu penso. Isso tudo é a minha opinião, se você vai fazer ou não, não me importa. Só acho que, como pessoa, posso te dizer o que eu penso para que VOCE analise e decida se vai fazer ou não.

Lembre-se de que conhecer várias linguagens é diferente de ser um especialista em todas as linguagens. Eu tenho o Java como especialização, mas o “meu” Java tem interferência de outras linguagens que eu conheço POUCO.

Para mim sim, pareceu arrogante. Mas não ironizei, não briguei. Só disse que você pode estar perdendo algo valioso na nossa profissão.

Não estou levando para o pessoal, só estou te dizendo o que eu penso. Mas, por que encerrar o assunto assim?

E

Então me perdoe, amigo. Realmente relendo vi que fui um pouco arrogante.

Tranquilo, sendo assim podemos continuar numa boa.

Então voltando ao assunto, eu não consigo estudar outras linguagens porque me tomaria ainda mais tempo, e olha que já ando estudando muito ultimamente - só no ultimo ano passei por Spring MVC, Struts, Hibernate, tudo isso com TCC em andamento, e ainda revisei os conceitos de POO logo após o término da faculdade - e olha que ainda nem sou nenhum especialista em nada do que citei. E ainda pretendo tirar pelo menos duas certificações Java - programador e desenvolvedor web - até medos de 2014. Após isso, JSF, e ai tentar algum trampo em uma empresa grande - moro e trabalho no interior.
Traduzindo: minha saúde foi pra cucuias em meados do ano passado - problemas emocionais causados por stress, enton tô indo mais devagar, pra descobrir ainda qual o ritmo que não vai me prejudicar a saúde. Mas quero muito, assim que essa fase passar, estudar C#. Fiz um curso em 2011 que me deixou fascinado.

Novamente desculpas por qualquer transtorno.

Abraços.

J

Minha opnião:
Já trabalhei em empresas com esse modelo e não vejo problemas.
Acho que o grande trabalho inicial é construir a “identidade visual” e essa muitas vezes fica mais facil usar uma ferramenta como photoshop mesmo. Depois da identidade visual construida é preciso passar para WEB (HTML/CSS) e ai sim fazer a programação.
O detalhe é que depois não consigo enxergar tantas mudanças significativas (a não ser uma troca de design completa) que justifique voltar para o photoshop. Acho que pode ficar só no html de um lado e na programação do outro. Realmente voltar para o photoshop a cada mudança é uma perda de produtividade imensa…

Se fizer a aplicação bonitinha em 3 camadas, fica mais facil o webdesigner mexer no html sem precisar do programador!

Mas o que eu acho mais produtivo é ter um Designer de verdade de um lado e um programador do outro… na minha opnião o designer de verdade VAI SABER USAR O PHOTOSHOP para criar a identidade visual. Depois VAI SABER A MELHOR FORMA DE FAZER O HTML/CSS e não ser simplesmente um tradutor tosco e por ultimo VAI TER NOÇÕES DE PROGRAMAÇÃO, não precisando ser um especialista, mas o suficiente para entender as TAGS das páginas e criar MOCKS (que se o projeto for bem desenhado usando os conceitos de DI e IOC) para testar a identidade visual de sua página sem precisar depender das rotinas de um programador.

O bom programador também vai conseguir testar seu código de forma unitária sem depender das páginas e o trabalho poderá andar em paralelo, óbvio que com total alinhamento entre as partes, mas no final somente integrando programação com páginas e vendo o resultado.
Já trabalhei de maneira bem produtiva desta forma, mas o DESIGNER tem que ser mais que um simples desenhista ou tradutor html…

R

O conceito de POO são um pouco difíceis, mas é mais fácil se você estudar Design Patterns (no java mesmo) leia o livro Effective Jave (pode ser em português).
É um dos mais conceituados. Escrito pelo Joshua Bloch. Tudo o que ele falar é lei.

Quanto ao Spring, Struts e Hibernate, tome cuidado para não ser mais um programador que sabe programar Spring e não Java. Sim, existe diferença, tem gente que não sabe vários conceitos do Java, várias coisas importantes. Apenas o framework. Para isso, é preciso estudar bastante mesmo.

Como diz uma frase de alguém ai: “Não importa a velocidade, mas a direção.”

Tome todo o tempo necessário, mas não se acomode.

Outras liguagens que são OO ajudam muito a entender OO. Existe uma listinha de livros que foi recomendado para mim (ainda não li todos): http://pinterest.com/while42/pragmatic-programer/

Algumas linguagens têm peculiaridades que permitem que você analise o seu código Java e o melhore de forma incrível.

E

Tem alguma ferramenta que já usou e me aconselha pra testes unitários? Eu perco muito tempo fazendo testes manualmente.

Abraços.

R

jmmenezes:
Minha opnião:
Já trabalhei em empresas com esse modelo e não vejo problemas.
Acho que o grande trabalho inicial é construir a “identidade visual” e essa muitas vezes fica mais facil usar uma ferramenta como photoshop mesmo. Depois da identidade visual construida é preciso passar para WEB (HTML/CSS) e ai sim fazer a programação.
O detalhe é que depois não consigo enxergar tantas mudanças significativas (a não ser uma troca de design completa) que justifique voltar para o photoshop. Acho que pode ficar só no html de um lado e na programação do outro. Realmente voltar para o photoshop a cada mudança é uma perda de produtividade imensa…

Se fizer a aplicação bonitinha em 3 camadas, fica mais facil o webdesigner mexer no html sem precisar do programador!

Mas o que eu acho mais produtivo é ter um Designer de verdade de um lado e um programador do outro… na minha opnião o designer de verdade VAI SABER USAR O PHOTOSHOP para criar a identidade visual. Depois VAI SABER A MELHOR FORMA DE FAZER O HTML/CSS e não ser simplesmente um tradutor tosco e por ultimo VAI TER NOÇÕES DE PROGRAMAÇÃO, não precisando ser um especialista, mas o suficiente para entender as TAGS das páginas e criar MOCKS (que se o projeto for bem desenhado usando os conceitos de DI e IOC) para testar a identidade visual de sua página sem precisar depender das rotinas de um programador.

O bom programador também vai conseguir testar seu código de forma unitária sem depender das páginas e o trabalho poderá andar em paralelo, óbvio que com total alinhamento entre as partes, mas no final somente integrando programação com páginas e vendo o resultado.
Já trabalhei de maneira bem produtiva desta forma, mas o DESIGNER tem que ser mais que um simples desenhista ou tradutor html…


Disse tudo! E ainda, pode usar o Selenium. É como se fosse um TDD mas para as páginas WEB.

R

Tem alguma ferramenta que já usou e me aconselha pra testes unitários? Eu perco muito tempo fazendo testes manualmente.

Abraços.
jUnit. é integrado ao eclipse. é lindo demais.

E

Nisso tive sorte, porque tive um professor maravilhoso de OO na faculdade. Eu que nunca tive problema algum com programação ralei pra passar na matéria dele. Eu fiquei 2 anos estudando Java e OO sem usar frameworks, por conta deste mesmo conselho, que outros usuários aqui do GUJ me deram, e hoje vejo que sofro menos do a maioria que já pula direto. Mesmo assim sei que ainda tem coisas pra eu estudar sobre a teoria. Esse livro que você indicou é em português? - preciso fazer um curso de inglês também, pq ultimamente até minha leitura está ruim, só consigo acompanhar artigos, passou de 5 paginas já fico perdido. Tô pensando em pegar algum do Fowler mais pra frente também, tem algum que recomenda?

Muito obrigado, abraços.

E

Vou dar uma pesquisada sobre ele. Muito obrigado!

Abraços.

E

Quanto aos design patterns tive na faculdade também, mas graças a um professor vagabundo, nem chegamos a ver. Dai peguei o GoF - em inglês mesmo - e soquei a cara nele. Mas preciso dar uma relembrada em muita coisa de lá.

K

Gostei do professor vagabundo! :smiley:

E

Traduzindo Rafael Guerreiro: o que me deixou meio irritado no começo foi que você pensou que eu fosse mais iniciante do que realmente sou, já tenho uma boa base sobre OO e Java - pois passei quase 2 anos estudando por conta própria, só preciso aprofundar mais, principalmente com base nessas referências que está me passando.

Por exemplo: eu consigo tranquilamente fazer um sistema de cadastro com swing do zero com Java utilizando padrões como DAO, Factory, Bridge, o que o sistema precisar - inclusive com MVC. E sem querer parecer arrogante de novo, mas eu já comparei que as vezes eles ficam melhores do que os de muitos programadores swing profissionais ai. Não me entenda como arrogante por isso, estou apenas querendo te mostrar que, mesmo eu sendo iniciante, ainda tem gente pior por ai que TRABALHA de forma pior que eu, sacou?

Eu sei que saber fazer uns sisteminhas não quer dizer que domino a linguagem, pois pra isso eu preciso conhecer ela por completo. E é exatamente isso que tô fazendo, tentando me aprofundar um pouco mais os meus conhecimentos básicos agora, e ir aprofundando cada vez mais.

Abraços.

E

kkkkkkkkkkk

Pior que tive uns 5 ou 6 assim na faculdade, nego que pega matéria sem entender, apenas pelo dinheiro. Ai não dá conta, você reclama com a coordenação, e sai como o culpado da história ainda, com professor te xingando.

Isso foi um dos fatores que contribuiram pra acabar com a minha saude ano passado, mas também me ensinou a ser mais auto didata ainda do que eu já era.

J

kuesley:
Como é possível três papeis: designer, web designer x programador trabalharem juntos em um projeto?
Sempre trabalhei em projetos pequenos e não tinha o designer, o web designer + programador entregava a solução.

Agora tenho um designer que faz o desenho da aplicação (produz o PSD).
Passa para o web designer transformar o PSD em html/css
Depois entra o programador para transformar o html/css e acrescentar JS e integração com servlets.

Qualquer modificação no layout acarretará num retrabalho da bexiga.
Desculpe a ignorância, mas como vcs trabalham com isso?


1- O webdesigner e os desenvolvedores do projeto fazem entrevista com o cliente sobre a tela.

2- O webdesigner faz o psd, mostra pros desenvolvedores avaliarem e depois o cliente aprova ou nao.

3- O webdesigner faz o html e css estaticos mas ja alinhado com o desenvolvedor onde vai ser dinamico, deixando por exemplo elementos repetidos prevendo o dinamismo para o desenvolvedor programar. O html e css ja sao criados dentro do projeto da aplicacao.

4- O desenvolvedor faz a parte de programacao e ao terminar volta pro webdesigner fazer ajustes finais se for necessario.

Isso nao é regra, mas é como o time que estou trabalha na maioria das vezes e tem dado certo. Quando é tela simples que ja seja parecida com outras nao precisa de designer, as vezes eles so aplicam css no que for diferente. Mas eles mesmos decidem o que pode ser melhor para a usabilidade de cada tela.

K

javaflex:
kuesley:
Como é possível três papeis: designer, web designer x programador trabalharem juntos em um projeto?
Sempre trabalhei em projetos pequenos e não tinha o designer, o web designer + programador entregava a solução.

Agora tenho um designer que faz o desenho da aplicação (produz o PSD).
Passa para o web designer transformar o PSD em html/css
Depois entra o programador para transformar o html/css e acrescentar JS e integração com servlets.

Qualquer modificação no layout acarretará num retrabalho da bexiga.
Desculpe a ignorância, mas como vcs trabalham com isso?


1- O webdesigner e os desenvolvedores do projeto fazem entrevista com o cliente sobre a tela.

2- O webdesigner faz o psd, mostra pros desenvolvedores avaliarem e depois o cliente aprova ou nao.

3- O webdesigner faz o html e css estaticos mas ja alinhado com o desenvolvedor onde vai ser dinamico, deixando por exemplo elementos repetidos prevendo o dinamismo para o desenvolvedor programar. O html e css ja sao criados dentro do projeto da aplicacao.

4- O desenvolvedor faz a parte de programacao e ao terminar volta pro webdesigner fazer ajustes finais se for necessario.

Isso nao é regra, mas é como o time que estou trabalha na maioria das vezes e tem dado certo. Quando é tela simples que ja seja parecida com outras nao precisa de designer, as vezes eles so aplicam css no que for diferente. Mas eles mesmos decidem o que pode ser melhor para a usabilidade de cada tela.

Legal. Não tem jeito de diminuir essa dependencia mesmo :smiley:
Obrigado pelo depoimento…

J

kuesley:
javaflex:
kuesley:
Como é possível três papeis: designer, web designer x programador trabalharem juntos em um projeto?
Sempre trabalhei em projetos pequenos e não tinha o designer, o web designer + programador entregava a solução.

Agora tenho um designer que faz o desenho da aplicação (produz o PSD).
Passa para o web designer transformar o PSD em html/css
Depois entra o programador para transformar o html/css e acrescentar JS e integração com servlets.

Qualquer modificação no layout acarretará num retrabalho da bexiga.
Desculpe a ignorância, mas como vcs trabalham com isso?


1- O webdesigner e os desenvolvedores do projeto fazem entrevista com o cliente sobre a tela.

2- O webdesigner faz o psd, mostra pros desenvolvedores avaliarem e depois o cliente aprova ou nao.

3- O webdesigner faz o html e css estaticos mas ja alinhado com o desenvolvedor onde vai ser dinamico, deixando por exemplo elementos repetidos prevendo o dinamismo para o desenvolvedor programar. O html e css ja sao criados dentro do projeto da aplicacao.

4- O desenvolvedor faz a parte de programacao e ao terminar volta pro webdesigner fazer ajustes finais se for necessario.

Isso nao é regra, mas é como o time que estou trabalha na maioria das vezes e tem dado certo. Quando é tela simples que ja seja parecida com outras nao precisa de designer, as vezes eles so aplicam css no que for diferente. Mas eles mesmos decidem o que pode ser melhor para a usabilidade de cada tela.

Legal. Não tem jeito de diminuir essa dependencia mesmo :smiley:
Obrigado pelo depoimento…


Isso é bom, mais qualidade, menos responsabilidades (que na verdade não é de nossa competência mesmo design) e mais tempo para focar no Negocio.

Criado 6 de junho de 2013
Ultima resposta 6 de jun. de 2013
Respostas 46
Participantes 9