Estou em programação desde os últimos 3 anos. Mas parece que estou perdido nisso. Eu não sou capaz de ser bom nisso, mesmo que eu codifique todos os dias.
suponha que eu resolva um problema, andarei de solução em solução e implementarei outra solução. Não consigo me concentrar muito. Tenho muitos defeitos no código que escrevo. Eu tenho medo de código, não sei por que, se não terminar a tempo, meu chefe me demitirá etc. Gosto de codificar, mas não o tempo todo. Como aumentar a paciência?
Eu sempre me pergunto como me tornar o melhor codificador, como muitos programadores excepcionais. Eu sei que isso parece subjetivo, mas acho que isso ajudará a comunidade de programadores a se aperfeiçoar, especialmente para a média como eu ou programadores iniciantes.
Respostas:
Eu, pessoalmente, sugeriria começar com obstáculos menores; tente assumir a codificação em pedaços menores e obtenha mais nas vitórias intermediárias. Parece que você fica sobrecarregado ou entediado se algo dura muito tempo ou não mostra progresso. Posso dizer definitivamente que estive no mesmo barco.
Pense nisso como atacar um sanduíche: você não come a coisa toda de uma só vez, quebra-a. Faça o mesmo com seus projetos, tarefas, etc. Dependendo do nível em que você está, peça ao seu supervisor / gerente que o descreva para você. Se você é responsável por sua própria carga de trabalho, defina pequenas linhas de chegada que são realizáveis (não defina uma meta que você nunca alcançará, isso só o deixa mais desanimado e o coloca em uma posição indesejável). ou seja, "Ao meio-dia, quero ter essa classe definida", "Às 2 horas, quero que essa interface seja implementada", etc.
Minha empresa é notória por começar e se preparar para um projeto, permitindo que eu atinja a marca de 90% e, em seguida, deslize o tapete por baixo de mim para passar para a "próxima grande novidade". Começo a ficar desanimado por nunca fazer nada e me deixa em um "funk" (se você quiser). Finalmente eu empurrei para trás e disse a eles que não estava seguindo em frente até terminar o que estava quase terminando. Isso fez maravilhas pela minha estima, moral e energia (embora eu não possa dizer o mesmo sobre meus empregadores: encolher os ombros :)
fonte
Minha sugestão seria conseguir um mentor.
Quando você receber um novo projeto, decida o caminho a seguir: como será o design geral; quais algoritmos você vai usar; como você planeja desenvolvê-lo para poder testar cedo e com frequência; et cetera.
Leve esses planos ao seu mentor e converse com ele. Se eles virem você no caminho errado ou se você perdeu algo importante, revise seus planos e tente novamente.
Agora que você tem um plano aprovado, cumpra-o. Não altere seus planos, a menos que algo totalmente desastroso ocorra e volte a revisá-los, obtendo aprovação e reiniciando. Caso contrário, atenha-se ao seu plano e faça exatamente o que você decidiu fazer. Entre em contato regularmente com seu mentor para validar sua implementação e certifique-se de escrever e usar testes ao longo do caminho.
Se você fez tudo isso com êxito, entregou um projeto no prazo e com os resultados corretos. Se você quiser voltar e refatorar parte do projeto, terá todos os testes que você criou, bem como uma cópia de trabalho do programa a partir do qual construir.
Parece-me que você está um pouco disperso demais e sem concentração. Talvez se você puder consertar essas áreas e trabalhar com alguém que você respeita, você estará no caminho certo em breve.
Boa sorte para você.
fonte
Acredito que estou exatamente na mesma posição que você e não é bom estar lá. Pode ser desmoralizante e, para ser honesto, bastante deprimente às vezes. No entanto, como em qualquer outra coisa, acredito que há certas coisas que você pode fazer para ajudar a aliviar isso e, assim, progredir para uma carreira profissional mais saudável e feliz.
Você precisa mudar e melhorar. Se você está se sentindo assim, mas não está preparado para se esforçar para melhorar suas habilidades, então não há ninguém que qualquer ferramenta / processo possa fazer por você.
Algumas pessoas são naturalmente brilhantes. Algumas pessoas trabalham duro para serem brilhantes. A maioria das pessoas trabalha duro para se esforçar para ser brilhante. Se você não é naturalmente talentoso (programando ou não), o trabalho duro pode levá-lo até lá. Apenas o nível de trabalho duro varia. Nada é impossível.
Aceite suas deficiências e procure melhorar. Um dos maiores obstáculos que vejo são as pessoas que têm medo de aceitar que seu caminho não é um bom caminho e, portanto, nunca procuram conselhos ou discutem outras maneiras de fazer as coisas. Portanto, eles nunca aprendem melhores práticas e, portanto, continuam cometendo os mesmos erros repetidamente.
Peça conselhos daqueles que você considera bons programadores. Nunca tenha medo de conversar e pedir conselhos aos colegas. No entanto, sempre siga seus conselhos pelo valor nominal e decida se concorda ou não com eles. Não importa o quão brilhante alguém seja, sempre há muitas maneiras de programar um loop.
Ler ler ler. Leia grupos de notícias. Poste perguntas em sites como este (bem feito). Compre livros que você ouviu serem bons ou peça recomendações em contrário.
Explicidade aplique os princípios de design em pequenas etapas e depois se orgulhe do que você fez. Se você se orgulha do que codifica, é menos provável que haja espaço para erros e bugs.
Aberto para sugestões e ajuda. Fechado ao pensamento unidimensional. Esteja aberto a muitas possibilidades e métodos. Cuidado com aqueles que pensam que há um caminho para tudo. Um pouco como 4.
Ser um programador brilhante não é o mesmo que ser um funcionário brilhante. Se você quer ser um programador brilhante, então, para ser honesto, talvez você nunca chegue lá. No entanto, todo mundo tem a capacidade que acredito ser um funcionário e uma pessoa brilhantes. Trabalhe em coisas que podem ajudá-lo a chegar lá.
fonte
Se após 3 anos de codificação diária, você estiver enfrentando problemas básicos, precisará considerar seriamente a possibilidade de que essa não seja a profissão certa para você.
Isso não é uma coisa ruim. A programação não é para todos, encontre o que você é bom e faça, em vez de forçar algo em si mesmo que não é natural.
Se o que você está dizendo é verdade ... você nunca será um "programador excepcional". Tudo bem, apenas aceite.
fonte
Tente entrar em um estado mental de fluxo . Esse é o fator mais importante que já vi em ser um bom desenvolvedor. Para fazer isso, você precisa enfrentar desafios que você sabe que pode fazer, mas que são difíceis. Você precisa encontrar o nível certo de desafio para se envolver nele; então você pode aumentá-lo gradualmente à medida que melhora. Ter tarefas fáceis ou difíceis demais será prejudicial.
fonte
Divida-o em pequenos pedaços.
Deixe-me demonstrar como fazer um sanduíche PB&J.
Descobrir o processo básico geral.
Em seguida, quebre cada uma delas
repita o processo de quebra até entender completamente a lógica envolvida.
Isso facilitará a compreensão. E mais fácil de identificar processos comuns. Antes de começar a codificar, verifique se a lógica já foi definida. Cometer erros não é apenas ok, é esperado. Encontrá-los antes de implementá-los é muito mais fácil de corrigir.
Muitas vezes, a lógica é a parte mais difícil da programação. É por que nem todo mundo quer fazer isso. Se você não gosta da lógica, mas adora o design da interface do usuário, existem funções especializadas nisso, onde você pode encontrar mais prazer. Não há nada de errado com isso. Pessoalmente, prefiro a lógica à interface do usuário. Existem outras funções também, se a lógica não estiver onde você quer descobrir onde quer estar.
fonte
Eu já tive esse tipo de problema antes .. Aconteceu logo antes de eu me esgotar e não poder programar em um nível produtivo por quase um ano depois (e eu tinha apenas 19 anos na época).
Enfim, olhando para trás, o problema que eu tinha era falta de direção e gerenciamento. Eu trabalhava na implementação de algo por um mês ou dois e, quando estava quase pronto, subitamente precisava ser feito de uma maneira completamente diferente. Esse foi um grande golpe para a minha auto-estima, pois tenho muito orgulho de todas as linhas de código que escrevo. Além disso, a gerência consistia principalmente de algumas horas de discussão sobre como algo deveria funcionar e, em seguida, alguns dias sem discutir nada. Parte disso também foi minha culpa, é claro. Isso também foi agravado pelo fato de que, em algum momento, o trabalho ficou extremamente tedioso e eu senti que estava apenas digitando código e não sendo realmente criativo.
Diretrizes gerais:
fonte
Encontre um jogo de lógica indutiva como o Zendo e jogue no seu tempo livre. A sério. A lógica indutiva é o coração da depuração.
fonte