10 coisas que os desenvolvedores da web devem saber para se tornarem verdadeiramente incríveis

Autor: Laura McKinney
Data De Criação: 10 Abril 2021
Data De Atualização: 16 Poderia 2024
Anonim
ALL you need to know about IOT - Internet of Things
Vídeo: ALL you need to know about IOT - Internet of Things

Contente

Os desenvolvedores precisam ser mais do que trabalhadores grunhidos de geração de código. Esperamos mais de nossa vida digital e são esses caras que a constroem, então o que os melhores desenvolvedores precisam saber? Aqui estão as coisas que vejo faltando em muitos desenvolvedores. Isso não é exaustivo, mas são essas qualidades que transformam um codificador razoável em um desenvolvedor incrível.

Mas não é uma coisa, e especialmente nunca é a capacidade de analisar XML ou otimizar código. É uma coleção surpreendente de habilidades que não são ensinadas nos livros sobre como escrever código. Eles são algo a mais.

Por que desabafar assim? Porque o desenvolvimento é importante, mas os desenvolvedores muitas vezes são enviados a um mundo diferente, nem sempre criado por eles. Isso nunca funciona. O desenvolvimento - qualquer coisa técnica - sempre prospera quando aqueles com know how entendem mais do que apenas o código.

01. Codificar não corta mais


Estamos em um mundo onde a codificação está se tornando menos impressionante. Todo mundo constrói sites, alguns deles codificam, mas você não precisa. Não é mais apenas o nerd que pode criar sites, aplicativos e recursos.

Desde que a web surgiu e as pessoas podiam aprender sozinhas, existem desenvolvedores autodidatas. Mas mesmo os graduados estão sob ameaça. Eu recebo currículos de pessoas com graduação em ciência da computação, cursos de IA, várias mídias e programação, mas ainda há algo faltando. Às vezes falta muita coisa.

Eu não sou o primeiro a dizer isso. 'Codificar não corta mais' é o título do capítulo 3 de O Programador Apaixonado, que junto com livros como Pensamento e aprendizagem pragmáticos encorajar os programadores a se aprimorarem além do código; tornar-se membros responsáveis ​​e inteiramente humanos da equipe.

Amplitude e profundidade

Os desenvolvedores precisam ser melhores de duas maneiras: amplitude e profundidade. Eles precisam entender a amplitude das interações humanas em sua equipe e com as coisas que constroem. Eles precisam entender a profundidade do sistema com o qual estão trabalhando, até o O / S.

E não são apenas os desenvolvedores que deveriam estar lendo essas coisas. Se você está trabalhando com desenvolvedores, acho que deve esperar mais deles. Faça-os esboçar sobre o que estão falando. Faça-os explicar com fotos, objetos e (funciona) recortes de pessoas exatamente como o sistema será para os humanos que o usam.


02. A grande ressalva

Vou falar negativamente sobre desenvolvedores, mas acho que posso porque sou um. Também porque pelo menos uma coisa de que falo aqui se aplica a muitos dos desenvolvedores que conheci. Embora seu trabalho seja ótimo e eles conheçam seu código, os tempos são competitivos. Você precisa ter uma vantagem, e esta é:

  • seja mais técnico

e

  • ser Muito de mais humano

03. O que a internet diz

Buscar no Google por "habilidades essenciais de desenvolvimento da web" mostra o que você esperava. Conhecimentos de framework, x-browser, CSS e JS. Eles listam estruturas que você deve conhecer, plataformas para as quais você deve estar escrevendo e novas tendências nas quais você deve ficar de olho.

Esta é a nossa mídia. Eles são o material com que construímos, mas não são o que garante o sucesso de um projeto. Um desenvolvedor pode entender todos os detalhes do sistema, dizer a você todos os recursos de uma API e uma nova tecnologia CSS, mas ainda produzir algo inutilizável.

Entenda o meio

Os desenvolvedores, como todos, precisam entender seu meio - mas também precisam entender o público, seja ele os usuários, a equipe ou outros desenvolvedores. Eles precisam entender como seu meio se encaixa no mundo (em outras palavras, o ambiente de produção) e que efeito ele tem (como as pessoas o usam).

Eu já vi isso descrito como a pessoa 'ampla e profunda'. Amplo, porque você precisa entender o mundo como um ser humano trabalhando com outros humanos. Profundo porque você precisa de conhecimento técnico completo abaixo do nível de sua parte no projeto. Esses desenvolvedores dão ao seu projeto um grande impulso e mudam o ritmo do projeto, sem os quais você encontrará uma equipe não técnica atolada em detalhes tediosos que transbordam da equipe de tecnologia.


04. As coisas com as quais construímos

Recentemente, escrevi uma lista de tudo o que usamos para construir sites, gerenciar hospedagem e fazer as coisas para que as pessoas que ingressam possam ter uma folha de dicas de tecnologias para aprender nas primeiras semanas. Estávamos considerando que as pessoas sabiam dessas coisas, então, para dar aos novos recrutas um impulso inicial, listaríamos tudo o que usamos todos os dias.

Eu esperava meia dúzia de tecnologias, mas acabei com muito mais. Esta lista - 'o que usamos' - inclui os CMSs usuais, linguagens de programação e tecnologias de navegador, mas também um monte de ferramentas que a equipe nem se lembrava de usar. Era tudo memória muscular. Digitando 'git', 'phing', 'thor' na linha de comando, nem pensamos que alguém não poderia.

Ferramentas de construção; CI; O git para controle de versão era um dado adquirido, mas olhando para trás, os currículos dificilmente apareciam. Os que estão na moda apareceriam (e é cínico que algumas agências os incluam ?!), mas muitas vezes sem experiência concreta.

Essas ferramentas são importantes para acelerar o desenvolvimento do projeto, portanto, certifique-se de ter um conjunto de ferramentas muito mais rico do que sua linguagem, o CMS e algumas estruturas. Você precisa de implantação, teste, CI, forte controle de versão (em equipes - não por conta própria) e precisa entender os conceitos centrais disso, em vez de apenas alguns tutoriais.

05. Devops

Essas ferramentas e truques extras se encaixam perfeitamente no que as pessoas estão chamando de 'devops'. Devops vai de encontro a dois silos tradicionais: produção, que mantém as coisas funcionando, e desenvolvimento, que faz coisas novas (e muitas vezes as interrompe). Os silos resultam em dois campos com pouca simpatia um pelo outro.

Os desenvolvedores sem conhecimento de produção produzem com mais frequência código que não é adequado para produção, usando configuração ou recursos que ainda não estão na pilha de produção. Como eles não estão cientes dos problemas do ambiente de produção, eles codificam para completar o recurso, em vez de implantá-lo na produção.

Esses pequenos detalhes podem criar atrasos dolorosos, exacerbados pela tendência de envio de gerenciamento de servidores para o exterior.

Entenda a pilha

Devops é um campo enorme em si mesmo, abrangendo implantação contínua e muita automação. Este é um resumo abrangente, mas a principal coisa que os desenvolvedores precisam entender é a pilha em que estão executando. Não é suficiente delegar isso ao administrador do servidor, você tem que entender as implicações que a plataforma tem em seu código.

Se você trabalha com Rails, leia o código Rails e saiba como Ruby é executado pelo Apache. Se você trabalha em Java, conheça as opções de configuração. Se você usa Perl, entenda como instalar módulos Perl e configurá-los.

Trabalho misterioso

A lista 'o que usamos' contém muito disso, e bons desenvolvedores partem disso para entender como todo esse trabalho misterioso é feito. E quando eles conseguem, as implantações são mais rápidas, o trabalho é implantado com mais facilidade e todos ficam mais felizes.

A implantação contínua e as práticas relacionadas de devops estão se tornando tão padronizadas que qualquer desenvolvedor ou empresa que não pratique isso está se preparando para ser ultrapassado. Alguém vai começar a fazer isso e então será mais rápido do que você.

Ferramentas úteis

Pesquisando por "devops", você tem uma ideia das ferramentas que esses caras usam. Não se trata de PHP e MySQL ou Rails. Trata-se de enviar software e manter as partes arriscadas dos projetos livres de riscos. Eles se concentram na implantação, automação e em manter o pipeline do desenvolvedor ao ambiente de produção em execução o mais rápido possível.

Você descobrirá que esse estilo de desenvolvimento oferece desenvolvedores que trabalham melhor uns com os outros e com outros departamentos e empresas. Se eles estiverem trabalhando com uma API de terceiros, eles entenderão os problemas que provavelmente surgirão do outro lado. Ao trabalhar com os administradores de servidor, eles entenderão o que precisam ser instalados e como seus sites de software nos servidores de produção. O reverso disso pode ser doloroso ...

06. Dev vou consertá-lo ... talvez

Essa pesquisa por "habilidades essenciais de desenvolvedor da web" traz uma boa resposta de Michael Greer (CTO da Onion) no Quora:

  • Preguiça: Recusa-se a fazer qualquer coisa duas vezes: escreve um script ou algo para ele.
  • Covardia: pensa em testar, se preocupa com a carga e o impacto do código
  • Imprudência: tenta coisas novas constantemente, lança ideias no mesmo dia

A covardia é uma boa maneira de expressar "atenção aos detalhes". Depurar e testar são 99 por cento da vida de um desenvolvedor que ninguém mencionou quando eles chegaram ao W3Schools ou começaram o curso de computação 101.

A capacidade de consertar aplicativos requer excelentes habilidades de resolução de problemas, mas não apenas de depurar código. Às vezes, a solução para os usuários que não conseguem baixar suas faturas é tornar a página imprimível, em vez de passar um dia gerando PDFs. Às vezes, um link pode substituir uma semana de desenvolvimento, mas essa solução elegante não acontecerá se os desenvolvedores estiverem resolvendo problemas puramente escrevendo muitas linhas de código.

O teste é um ponto cego maravilhoso para muitos desenvolvedores, apesar das muitas ferramentas disponíveis. Use testes de unidade, selênio, teste de carga e ferramentas de criação de perfil, como xhprof. Análise de coisas como New Relic para manter a pegada de seu aplicativo pequena. E considere tudo isso parte do trabalho do desenvolvedor: é o seu código, certifique-se de saber que funciona como pretendido, em vez de esperar que funcione.

Depurando

A depuração também é um ponto sensível. Não como usar um depurador, mas como depurar um problema - então, eu adicionaria à lista de Michael Greer:

  • Impaciência: ignora agressivamente informações irrelevantes para encontrar e resolver o problema real

Esta é a base de todas as técnicas de depuração. Ignorando o irrelevante e encontrando significado no relevante. Infelizmente, muitos são propensos a martelar servilmente o irrelevante por horas ou dias, consertando um problema tentando a mesma coisa 10 vezes.

Existem muitos livros (infelizmente, não aquele que eu apresentei para a editora que não mencionarei) sobre depuração e todo desenvolvedor deve ler todos eles. Um desenvolvedor realmente excelente pode depurar problemas em um sistema sem ver uma linha de código.

07. O que os usuários desejam

Entenda o que as pessoas ao seu redor estão tentando fazer. Aproveite o código - adoro a arte de recuar arquivos CSS perfeitamente ou de otimizar um aplicativo Rails - mas lembre-se de que é tudo para um propósito.

Os desenvolvedores precisam entender os negócios, as operações e os processos de negócios porque seu material ajuda a executá-lo. Desenvolvedores com esse conhecimento são capazes de construir software e aplicativos que ajudam os usuários, mas muitas vezes parecem extraordinariamente produtivos. Isso pode ser por causa de sua digitação rápida ou incrível conhecimento da pilha, mas é mais provável que seja por causa de seu conhecimento do que os usuários desejam.

Mercado competitivo

Voltando ao meu ponto original, que o desenvolvimento está ficando mais fácil e o mercado para grandes desenvolvedores é mais competitivo, qualquer desenvolvedor que seja capaz de entender os requisitos de negócios e trazer algo excelente para atendê-los terá uma vantagem. Entender o mercado, os clientes e por que as pessoas gastam dinheiro, tudo isso ajuda.

Entenda os dados e como eles mudarão com o tempo. Na mente do desenvolvedor, eles devem alinhar novas tecnologias com os desafios que você tem hoje ou que está chegando. Dessa forma, quando você sugere uma ideia nova chique para o MD ou para um cliente, ela será baseada no que os clientes realmente desejam e você obterá o orçamento / tempo para isso. (Em contraste, a pior coisa a testemunhar são os desenvolvedores vendendo sua nova tecnologia favorita como a solução para todos os nossos males.)

Os desenvolvedores têm muito controle - eles precisam saber o que cada campo do banco de dados significa para o usuário final? Se mudarmos os dados, o que os usuários verão? Existe uma maneira melhor de ajudar os usuários? Freqüentemente, a visão dos administradores de banco de dados é que o mundo é um reflexo ruim de seu banco de dados, em vez de seu banco de dados ser uma representação ruim do mundo real. O mundo está uma bagunça e surpreendentemente cheio de casos extremos. Lidem com isso, administradores do banco de dados.

08. Desenho e escrita

Desenhar é a forma mais direta de comunicar como serão as coisas. Os desenvolvedores devem ser capazes de desenhar suas ideias em um quadro branco, papel e tapetes de cerveja.

Os desenvolvedores devem ser capazes de fazer protótipos em papel, imprimir capturas de tela e rabiscar nelas apenas para comunicar sua intenção. Não confie no desenvolvedor que concorda, diz que entendeu e abre seu editor.

Fracasso barato: a melhor codificação começa com o desenho como um protótipo rápido. Fracasse com mais frequência e certifique-se de que todos os desenvolvedores ao seu redor façam o mesmo, pois é mais provável que você tenha sucesso dessa forma.

09. Divirta-se

E se você tiver que gastar 10 horas resolvendo um problema movendo um link? Aproveite - mesmo que seja apenas o desafio de terminar o trabalho.

A pior atitude dos desenvolvedores (ou de qualquer pessoa) é a apatia em relação ao que a equipe está tentando alcançar. Infelizmente, isso é comum, porque os desenvolvedores se veem fora do que a equipe está realizando. (O Programador Apaixonado coloca a questão, 'quanto mais divertido você poderia tornar seu trabalho?' - tente.)
E esteja pronto para mostrar seu trabalho porque o reverso disso é: não expanda depois de experimentar alguns tutoriais em Ruby para "Experiência de Ruby"!

O desenvolvimento da Web e de aplicativos ainda é uma profissão jovem, mas o conjunto de habilidades de que os desenvolvedores realmente precisam está se expandindo. Todos deveriam esperar mais dos desenvolvedores, porque quanto mais cedo todos nós sairmos da desagradável sala dos fundos e nos envolvermos com o processo criativo, melhores serão os resultados.

10. Fique atento

Para trazer isso para uma boa rodada de 10, acrescentarei uma coisa final. Fique atento. Encontre a competição. O pior tipo de coisa é isolado.

"Sempre seja o pior cara em todas as bandas em que estiver."

Os piores - na verdade, os muito ruins - programadores, programadores, designers aprendem suas coisas e descansam sobre os louros. Sem um marca-passo, é muito fácil desacelerar e, sem ver a competição, torna-se um hábito se ver acima da média.

Portanto, seja o pior que puder, encontrando o melhor. Junte-se a projetos fora do trabalho, contribua e busque feedback e críticas porque quanto mais críticas você recebe, menos pessoas vão te dar no futuro. Quando você está adivinhando o que eles querem melhor do que são, então você é o desenvolvedor ninja que todos desejam.

Dan Frost é diretor técnico da empresa de serviços completos da web 3EV, um parceiro oficial da AWS. Ele trabalha com CMS e desenvolvimento de aplicativos da web há sete anos.

Gostou disso? Leia isso!

  • Como construir um aplicativo
  • As melhores fontes da web gratuitas para designers
  • Descubra o que vem por aí em Realidade Aumentada
Últimas Postagens
Crie um pôster clássico com serifa
Descobrir

Crie um pôster clássico com serifa

Como de igner gráfico , tendemo a eguir alguma regra de ouro: a men agem deve er clara, a core devem ter alguma harmonia e o texto deve er equilibrado e legível.Ma à veze , para criar a...
As melhores alternativas do Slack
Descobrir

As melhores alternativas do Slack

Ante de começarmo com no a li ta de alternativa ao lack, vamo dar uma olhada no próprio lack. Lançado pela primeira vez em 2013 como uma plataforma de men agen , o lack cre ceu e e torn...
Como modelar um retrato feminino 3D realista
Descobrir

Como modelar um retrato feminino 3D realista

Fazer um retrato feminino reali ta empre foi algo que e tava no topo da minha li ta de tarefa . Vai er uma longa jornada, e fazer i o da maneira certa empre exigirá muito tempo e paciência. ...