Os 9 problemas mais comuns que os novos programadores enfrentam

Seu primeiro trabalho como programador começa emocionante. Mas depois de algumas semanas, as desvantagens do trabalho - prazos, relatórios de bugs, sendo gritados pelo seu cliente - começam a chegar até você.

Mas nem tudo está perdido.

A boa notícia é que todo mundo comete erros. Todos os erros que você está cometendo foram cometidos por outras pessoas que começaram como você. Outros novos programadores lidaram com esses problemas, buscaram soluções e saíram melhor no final.

Então você pode.

Vejamos alguns dos problemas mais comuns que os novos programadores enfrentam para saber como você pode obter perspectiva e corrigir seus próprios problemas.

1 - Não Entendendo o Usuário

O problema:
No desenvolvimento de software, o foco no usuário não é uma opção - é uma prioridade. É claro que, para tornar qualquer usuário de software centrado, você precisa saber o que os usuários querem.

Seus usuários podem ter opiniões sobre como um produto deve funcionar. Essas opiniões podem ser diferentes das da sua equipe de desenvolvimento. Mas muitas vezes é difícil para os novos programadores entenderem o que os usuários desejam, pois eles raramente interagem diretamente com eles.

Claro, técnicas de gerenciamento de projetos como Agile / Scrum facilitam para as equipes de desenvolvimento atualizar o software conforme as demandas do usuário mudam ao longo do ciclo de desenvolvimento, mas pode ser um desafio para os programadores que ainda estão aprendendo a equilibrar as necessidades do usuário com o falta de acesso a eles.

A solução:
Por fim, as pessoas que usarão seu produto serão os usuários finais.

No entanto, os usuários podem saber qual tarefa eles desejam que o produto realize, mas não os recursos. É seu trabalho descobrir isso. Como Henry Ford disse certa vez: "Se eu perguntasse a meus clientes o que eles queriam, eles teriam dito um cavalo mais rápido".

Converse com as pessoas que têm acesso direto aos usuários: (Não, não os gerentes de projeto.) Se você realmente quiser saber o que os usuários esperam, consulte os especialistas em experiência do usuário ou designers. Eles são obrigados a abordar cada produto com uma abordagem de design centrada no ser humano e recebem acesso direto às pessoas que realmente usarão o produto final. Sua visão dará direção ao seu código.

Teste seu produto: se você realmente quiser saber o que seus usuários pensam sobre o seu produto, teste-o. Empresas bem-sucedidas como a Apple geralmente lançam versões beta de seus produtos para ver como os usuários reagirão a elas antes de serem oficialmente lançadas. Isso os ajuda a corrigir quaisquer erros e quaisquer problemas que os usuários possam apontar.

2 - Depuração

O problema:
Imagine este cenário. Depois de trabalhar por dias para aperfeiçoar um programa, você vai para casa satisfeito de que funcionará como deveria. Quando você chega no dia seguinte, seu colega de garantia de qualidade (QA) lhe dá uma longa lista de bugs para trabalhar. O botão "Cancelar" no formulário da web não é clicável, a gramática das mensagens de erro não está correta e o software tem outros erros que estão causando problemas na experiência do usuário.

Depurar tudo isso soa esmagador, não é? E é ainda mais para novos programadores. Alguns bugs são fáceis de depurar, mas não muito, o que pode levar a perda de tempo de desenvolvimento e frustração infinita para novos programadores.

Mas a boa notícia é que os erros são comuns na programação. Na verdade, até o código mais bem escrito pode tê-los. E eles podem ser consertados.

A solução:
No futebol profissional, diz-se que a melhor defesa é um bom ataque. Quando aplicada à programação, a melhor defesa contra bugs é uma boa estratégia de depuração. Como um novo programador, incorporar estratégias de depuração também pode ajudá-lo. Aqui está o que você pode fazer:

Reproduza o erro: gastar incontáveis ​​horas tentando corrigir um problema que você não entende pode ser uma sobrecarga. Para corrigir seus bugs, entenda por que eles aconteceram. Como? Comece por reproduzi-los. O que você encontrar lhe dará uma boa idéia sobre como corrigi-los.

Obtenha ajuda: essa dica pode ser óbvia, mas quando os projetos estão em um prazo crítico, a maioria dos novos programadores tende a entrar em pânico primeiro e pensar depois. Se você não conseguir reproduzir um bug, peça ajuda. O testador que encontrou o bug pode ajudar a reproduzi-lo para você.

3 - Mantendo-se atualizado com a tecnologia

O problema:
Como a tecnologia continua a crescer e expandir, os programadores precisam acompanhar. Estruturas, ferramentas e bibliotecas se tornam desatualizadas rapidamente. Por exemplo, as estruturas de front-end geralmente duram um ano ou dois antes de novas versões atualizadas aparecerem.

De certo modo, as versões atualizadas são boas, porque são mais eficientes e facilitam seu trabalho. Mas você também precisa se acostumar com eles rapidamente - algo com que você pode lutar como um novo programador.

Programadores veteranos sabem que as iterações e atualizações freqüentes vêm com o território. Os lançamentos mais bem sucedidos são atualizados de uma a quatro vezes em um mês. Como um novo programador, você pode se curvar sob essa pressão.

A solução:
Existem duas correções fáceis:

Dedique algum tempo para aprender novos sistemas: existem apenas tantas horas no dia de trabalho para fazer as coisas. Mas não vai doer espremer em 20 a 30 minutos para aprender como as novas ferramentas funcionam. Por exemplo, se você acha que trabalharia melhor com uma versão atualizada do seu software de gerenciamento de projetos, aprenda a usá-lo no seu tempo livre e use-o para melhorar seu fluxo de trabalho, uma vez que você finalmente se acostumar com ele.

Acompanhe as últimas tendências: a leitura pode não estar na sua lista de prioridades quando há prazos de trabalho a cumprir. Mas acompanhar as últimas tendências de programação só ajudará você. Aprender novas práticas e ferramentas de codificação significa que você será melhor na criação de código e poderá desenvolver produtos mais inovadores.

Para tornar o aprendizado uma prática mais gerenciável, use recursos prontamente disponíveis, como Codecademy e Stack Overflow. Melhor ainda, use o horário de almoço para perguntar aos programadores mais experientes em sua equipe sobre as mais recentes tecnologias e melhores práticas. Essas conversas irão mantê-lo informado e ajudá-lo a aproveitar melhor o seu tempo.

4 - Comunicação

O problema:
Como um novo programador, você provavelmente não conhece ninguém em seu novo local de trabalho. Claro, talvez você conheça o colega que lhe contou sobre a abertura do cargo, mas não os membros da sua equipe ou o gerente de projeto com quem você trabalhará. E se você não os conhece, pode hesitar em conversar com eles sobre qualquer assunto, desde problemas relacionados a códigos até conhecer a hierarquia corporativa.

A comunicação deficiente é um problema que a maioria dos novos programadores enfrenta em algum momento. E a pior parte é que isso pode causar conflitos no local de trabalho. Se você não tiver certeza sobre os problemas relacionados a um projeto, talvez não saiba como corrigi-los ou obter ajuda caso não consiga conversar com seus colegas de equipe. Por exemplo, você pode se cercar de problemas de mesclagem de código se não coordenar com os membros de sua equipe.

A culpa pela má comunicação recai sobre você, porque está em seu poder controlar. Se você não tentar criar boas comunicações com sua equipe, será o responsável final pelo problema.

A solução:
Quando se trata de desenvolvimento de software, as habilidades de comunicação são tão importantes quanto as habilidades técnicas. Veja como você pode melhorar essas habilidades:

  • Seja proativo: comunicar-se somente quando você precisar de algo ou uma pergunta não for cortá-la no local de trabalho. Junte-se aos seus colegas e não tenha medo de fazer perguntas, especialmente sobre qualquer problema que você esteja enfrentando no trabalho. Você pode se acostumar com a cultura do local de trabalho mais rapidamente se abrir para outras pessoas. E se você é uma pessoa tímida, bem, sua falta de autoconfiança é algo que você terá que trabalhar.
  • Seja consistente: Haverá momentos em que você pode não ser claro ou coeso o suficiente no que diz e isso causa problemas. Aceite que haverá momentos como estes, aprenda com eles e faça melhor da próxima vez. Pratique até conseguir expressar-se com mais fluência.

5 - Estimativa de Tempo

O problema:
Talvez você não saiba como fazer uma boa estimativa. Ou talvez você tenha feito uma estimativa, mas não se atenha a ela. No final, você não conseguiu acompanhar o restante da equipe e seu projeto ultrapassou o cronograma.

Como profissional que trabalha em um setor que é controlado por prazos, pode ser solicitado que você forneça uma estimativa do tempo que levaria para concluir uma tarefa, como depuração de código ou conclusão de determinados recursos em um sprint.

As estimativas são importantes no desenvolvimento de software. Eles podem ser uma base para cotações de preços e cronogramas de projetos. Atrasos de programação causam problemas e podem comprometer a confiança.

Como um novo programador, você pode ficar tentado a dedicar mais tempo do que o necessário para uma tarefa, com a suposição de que isso pode impressionar seu chefe e ser bom para o projeto. Mas fazer isso pode voltar a te morder. Pode atrasar o seu cronograma e atras da sua equipe, o que faz você parecer mal.

A solução:
Dividir tarefas: A melhor maneira de tornar as tarefas mais gerenciáveis ​​é dividi-las em uma série de tarefas menores. O QA identificou apenas uma dúzia de bugs no seu trabalho? Olhe para cada correção como uma mini tarefa e estime o tempo que levará para concluir cada uma dessas tarefas. Quebrar sua carga de trabalho dessa maneira evitará que as coisas se tornem esmagadoras.

Tempo você mesmo apropriadamente: Dê a cada tarefa um prazo para a conclusão, mas dê a si mesmo um amortecedor também. Por exemplo, se uma tarefa levaria normalmente 20 minutos, estabeleça um buffer mantendo o período de tempo em 30 minutos. Você nunca sabe qual perturbação pode ocorrer.

6 - Sentado por horas

O problema:
Quando se trata de desenvolvimento de software, ficar sentado por longas horas faz parte do trabalho. Então, é dor nas costas, pernas entorpecidas e entorses no pescoço. Como um novo programador, você pode não estar acostumado a ficar sentado por um período prolongado de tempo. Afinal, as tarefas não levaram oito horas para serem concluídas na escola.

Sentado pode não ser percebido como um problema para os programadores, mas considerando os impactos na saúde, deve ser uma consideração.

Estudos mostram que sentar-se por mais de cinco horas todos os dias pode resultar em sérios riscos à saúde, como doenças cardiovasculares e obesidade. Também pode fazer com que você se sinta mais cansado durante o dia.

A solução:
Você não pode mudar o fato de que seu trabalho o limita a uma mesa. Mas você pode mudar o seu modo de trabalho fazendo o seguinte:

Levante-se e trabalhe: Levantar-se para o trabalho coloca menos stress nas suas costas e melhora a circulação sanguínea. Também faz você trabalhar com mais eficiência. Na verdade, algumas empresas estão até mesmo investindo em mesas ajustáveis ​​em altura para tornar esse método de trabalho mais fácil para os funcionários.

Faça um pouco de exercício: as pessoas que trabalham em mesas frequentemente começam a se sentir cansadas e desmotivadas durante o dia. Para aliviar o estresse, dê ao seu corpo um treino. Mesmo uma caminhada de 30 minutos ou corrida antes do trabalho pode fazer você trabalhar melhor durante o dia, desde que você faça isso uma prática. Se você não tiver tempo para fazer exercícios, faça caminhadas curtas para almoçar ou tomar uma xícara de café.

7 - Ameaças à Segurança

O problema:
Os dados são um bem valioso. E algumas pessoas estão dispostas a pagar muito por isso, incluindo os concorrentes do seu cliente que querem entrar em um projeto secreto (como um software de marketing ou empresarial) no qual você possa estar trabalhando.

Seus clientes confiam em você para manter suas informações seguras contra essas ameaças. Isso é muita pressão. Infelizmente, os iniciantes geralmente ignoram as brechas de segurança em seus códigos e não percebem as repercussões até que uma violação de segurança ocorra.

Como um novo programador, você pode acabar ignorando as brechas de segurança, especialmente se seu foco é mais em fornecer código livre de erros, em vez de verificar se é seguro. Os hackers conhecem essa fraqueza e estão sempre procurando maneiras de se infiltrar em seu código.

A solução:
Você não pode impedir alguém de tentar hackear seu código, mas você pode dificultar isso, protegendo-o contra métodos comuns de invasão. Aqui está como:

Use consultas parametrizadas para injeções de SQL: um invasor pode usar injeções de SQL para roubar dados, como os detalhes de login de um usuário. Para evitar este tipo de ataque, use consultas parametrizadas na linguagem de programação que você usa.

Mantenha sua estação de trabalho segura pois invasores nem sempre estão on-line; eles podem ser alguém no seu local de trabalho também. Por exemplo, um funcionário demitido pode decidir voltar ao seu empregador usando seu sistema para roubar ou modificar dados em um projeto. Para evitar que esse tipo de ataque aconteça, faça logoff de qualquer software que você esteja usando depois de terminar.

8 - Trabalhando com o código de outra pessoa

O problema:
Até mesmo novos funcionários têm que trabalhar em projetos criados por outra pessoa em algum momento. Na programação, por exemplo, você pode ter que trabalhar em código escrito por outro desenvolvedor. Essa situação pode causar problemas.

O programador que originalmente escreveu o código pode não estar mais trabalhando lá e não informou ninguém sobre seu trabalho antes de sair. Ou, se ainda estiverem no seu local de trabalho, eles podem estar ocupados demais para responder a qualquer pergunta que você tenha.

Ou, na pior das hipóteses, pode haver política do escritório. Por exemplo, talvez seus colegas tivessem problemas em lidar com o programador anterior e talvez relutem em ajudá-lo a descobrir o código deles.

A solução:
Trabalhar no código de outro programador pode ser um problema, mas é um problema solucionável. E a melhor maneira de abordar isso é encará-lo como um desafio. Aqui está um começo:

Perceba que agora é seu código: corrigir esse problema significa mudar sua atitude em relação a isso. Se alguém deixou o código para você, não é mais o código dele. É seu agora. Assumir a responsabilidade desde o início eliminará a tarefa.

Gaste mais tempo lendo código: gaste algum tempo entendendo como o outro desenvolvedor trabalhou, tanto na abordagem quanto no estilo. Você terá mais facilidade para se adaptar ao código depois de ter feito isso

9 - Não planejando seu código

O problema:
As primeiras impressões são importantes, sem dúvida. Mas o mesmo acontece com o planejamento cuidadoso.

É um trabalho novo e você quer se provar, o que é totalmente compreensível. Mas, para obter uma boa primeira impressão, você pode se sentir tentado a apressar seu código e descobrir a direção que deve seguir mais tarde.

Mas esse método pode voltar a te morder. Seu código pode fazer sentido em sua cabeça, mas depois segue em uma direção totalmente contrária a onde deveria ir.

A solução:
O tempo gasto em código não planejado é um desperdício de tempo. Para evitar esse cenário, coloque suas ideias no papel em vez de carregá-las na sua cabeça. Aqui estão algumas dicas que você pode experimentar:

Comece com uma ideia: todo programa de software começa com uma ideia. Por exemplo, sua ideia para um aplicativo pode ser uma ferramenta que permite aos usuários lembrar compromissos. Este passo permite focar no que você está prestes a codificar.

Use um mapa mental para descobrir os problemas do usuário: depois de ter sua ideia descoberta, o próximo passo é mapeá-la. Comece com os problemas que seu produto abordará. Escreva sua ideia em papel e crie subtópicos para ela. Por exemplo, se sua ideia for um lembrete de compromisso, um subtópico pode ser o motivo pelo qual um usuário pode precisar dele (por exemplo, eles têm muitos compromissos para acompanhar).

Descubra possíveis soluções: depois de mapear os problemas que seu produto abordará, pense em possíveis soluções para esses problemas. Por exemplo, se um usuário precisar que seu produto controle várias atribuições, os possíveis recursos podem ser um sistema de notificação ou um alerta por e-mail que os lembre de compromissos que eles tenham durante o dia.

Tudo bem ser a nova pessoa

Quando você está apenas começando como um programador, tudo a partir do código que você deve escrever para se comunicar com os colegas pode parecer esmagadora.

Mas a boa notícia é que há uma explicação totalmente razoável para a maneira como você se sente. Os desafios que você enfrenta não são insuperáveis. Mantenha estas dicas em mente e se consolide com o fato de que você não é o único; seus colegas enfrentaram esses problemas em algum momento também.