Sou programador do servidor durante a maior parte da minha carreira e só recentemente comecei a dedicar mais tempo ao desenvolvimento da web. Estou impressionado com o número de coisas que preciso dominar para escrever um aplicativo da web decente. Apenas para listar algumas ferramentas / tecnologias que preciso aprender,
Linguagem de programação do servidor (Java / JSP, ASP, PHP, Ruby ou outra coisa)
Uma estrutura da web decente (para qualquer aplicativo de tamanho médio a grande).
HTML e CSS
Javascript
Biblioteca Javascript (JQuery / ExtJS etc. principalmente para AJAX). É bom saber, mesmo que não seja necessário.
Pelo menos um conhecimento básico de web design - layouts, cores, fontes etc.
Um bom entendimento de segurança na web.
Um bom entendimento dos problemas de desempenho / escalabilidade.
Testes, problemas de compatibilidade do navegador etc.
A lista continua.
Então, minha pergunta para desenvolvedores web experientes é: como vocês conseguem aprender e se manter atualizados sobre tantas coisas? Ao desenvolver um aplicativo da Web, como você lida com as complexidades envolvidas nessas áreas e ainda consegue escrever um aplicativo bem projetado, amigável, seguro, com desempenho e escalável.
Como desenvolvedor web, é preciso ser especialista em todos os negócios ou deve-se especializar em uma ou duas áreas e deixar o resto para outros membros da equipe?
Respostas:
Use uma estrutura. Django, por exemplo.
Não é "médio a grande". Use uma estrutura para tudo .
É o que é. Aprenda.
Use bibliotecas e estruturas, tanto quanto possível. Escreva menos, reutilize mais.
Corrigir. Use uma biblioteca.
Ou.
Use o FLEX.
Copie sites existentes.
Leia www.owasp.org com atenção. E. Use uma estrutura que faça isso.
Use o Apache. Use uma estrutura que lida com isso. Leia as arquiteturas escaláveis da Internet da Schlossnagle.
Frameworks. Bibliotecas.
Há um truque nisso. Use o maior número possível de bibliotecas e estruturas. A web existe há anos.
Fique de pé sobre os ombros dos gigantes. Por favor. Você não precisa reinventar tudo isso.
fonte
Dica 1 . Fique de olho em todas as coisas que estão acontecendo por aí. Ouça o que as pessoas estão falando, verifique coisas, leia artigos e blogs, marque o que é importante, aprenda, experimente, fique naturalmente curioso sobre tudo.
Dica 2 . Divirta-se absolutamente no processo.
Dica 3 . Como alguém apontou no SO uma vez, as coisas listadas estão relacionadas ao conhecimento coletivo de muitos desenvolvedores. Não espere saber tudo com perfeição, é demais para uma única mente lidar. Pegue o que você precisa e saiba onde encontrar o resto.
É melhor ser versado em diferentes áreas. O que há de especial no desenvolvimento da Web é que, de repente, une todos os aspectos do desenvolvimento do produto em um único local, com as mesmas mãos. Você inevitavelmente precisa estar ciente de muitas coisas para fazer as coisas funcionarem. Mas, falando sério, é muita alegria ter os dedos em todos os lugares!
fonte
Você nem sempre tem um time, pelo menos no meu caso. Portanto, ser um "valete de todos os negócios" é útil.
Mas você não precisa / não saberá tudo, por isso apenas seja bom em pesquisar no Google.
Você desenvolverá as habilidades conforme necessário.
fonte
Você deve saber o básico: HTML, CSS, marcação semântica, o que o HTTP faz e como fazer bom uso dele.
Depois, você analisa o que você precisa para este projeto, qualquer que seja o projeto atual. Provavelmente, isso envolverá começar com uma plataforma existente ou CMS e personalizá-la, às vezes um trabalho totalmente personalizado, mas com mais freqüência não. Às vezes, haverá requisitos relacionados a onde e como ele está hospedado que o guiarão para a plataforma certa; outras vezes, a funcionalidade desejada guiará a hospedagem que você pode usar. Você aprende o que precisa, conforme necessário. É um pouco lento como forma de trabalhar, mas acaba sendo o modo como a maioria de nós é boa no que faz - projeto por projeto, aprendendo o que precisamos saber.
Obviamente, quanto mais você trabalha na companhia de desenvolvedores da Web mais experientes, mais rápido pode aprender com eles, mas, no geral, a maioria de nós adquiriu essas habilidades gradualmente ao longo do tempo.
fonte
Tento conhecer o suficiente sobre todas as tecnologias atuais para saber quando elas devem ser aplicadas. Por exemplo, sou principalmente um desenvolvedor de ASP.NET, mas sei o suficiente para Ruby on Rails para descobrir se é mais adequado para um problema específico.
As tecnologias que estou usando, tento conhecer dentro e fora. Se houver um recurso específico no ASP.NET, quero conhecê-lo em detalhes e saber quando devo e quando não devo aplicá-lo. O mesmo vale para JQuery, CSS e tudo o mais que eu uso.
Para manter-me atualizado, ouço podcasts, assino feeds RSS, leio o StackOverflow e assisto a eventos de desenvolvedores.
fonte
Comece da maneira mais fácil com .NET ou JEE / JSF. Não é necessário fazer o seu primeiro projeto da maneira mais difícil. Guarde essa complexidade para quando você realmente precisar.
fonte