Como posso me sentir mais confiante sobre minhas habilidades de programação? [fechadas]

37

A programação não é estranha para mim. Comecei a fazer marcações (HTML, agora, por favor, não ria de mim) quando eu tinha 12 anos e um pouco de BASIC quando tinha 13 anos (eu sabia muito sobre fluxogramas, pseudocódigos neste momento), mas depois fui advertido a Biologia no ensino médio e, portanto, perdeu o conhecimento de programação "real" de linguagens como C, Java, etc. Peguei o CS para o meu UG BE (semelhante ao BS, mas muito mais teórico). Aprendi C & C ++ (em menor grau) por conta própria (meu professor foi uma dor total e a turma estava cheia de atletas de código (que já haviam aprendido isso na escola e, portanto, não prestavam atenção à turma e não deixe que mortais menores como eu prestem atenção à classe também) e poderia criar um incrível programa de adição ou multiplicação (programas que agora até os jardineiros mais gentis

Meu principal problema é que sempre me senti inadequada e estrangulada pelas minhas habilidades limitadas de programação e menosprezada pelos code-jocks (acredite, já encontrei este site há séculos, mas agora só conseguia criar coragem para realmente publicar uma pergunta) e, às vezes, até se deprimiram com a referida incapacidade. A maioria das pessoas diz que a programação não é necessariamente sobre o idioma, mas o estado de espírito que a pessoa possui e as técnicas empregadas para resolver problemas / questões. Eu concordo com esses sentimentos, mas posso adquirir esse "estado de espírito" e, se for o caso, como devo abordar a "Programação / Codificação" e se existem maneiras e etapas definidas pelas quais a maioria das pessoas passa para alcançar o "Zen" de codificação ". Como eu faço isso? Além disso, não faria mal se algum santo quisesse orientar essa parte oprimida de $ #! ^.

PS: Seria eternamente grato a qualquer pessoa que me considerasse valiosa e, como bônus, nomearia meu primeiro software que eu os envio. (Se eu conseguir enviar um, ou seja,)

TL; DR: Nunca aprendi realmente "Programação / Codificação", não consigo resolver problemas, mesmo que eu tente. Ajude-me!

Ameen
fonte
22
Não fique tão deprimido. Ninguém saiu da programação do útero. Quanto mais você codifica, mais você pensa em código. Divirta-se com isso.
Steven Evers
9
Se você está pensando "Hm, o bug provavelmente está no meu código, não no compilador", você está pensando como um programador (bem, como a maioria dos programadores).
gablin
5
@SnOrfus: Ninguém, exceto Jon Skeet;)
back2dos
4
de um noob para outro: a prática é a chave!
Chani
11
@ Snorfus, aposto que algumas pessoas fizeram! : P
Mark C

Respostas:

26

Eu diria que a melhor maneira é simplesmente dedicar mais tempo a ela (pesquise a regra das 10000 horas). Encontre algo que você deseja que seja feito e defina-o. Escolha algo que está além da sua capacidade atual, mas não tão longe que você não será capaz de terminar em um período de tempo razoável. Se você realmente gosta, você se repetirá até ser realmente bom nisso. Se você não gosta, talvez não seja a coisa certa para você. Tente se desafiar, porém, você provavelmente gostará.

WhiteFang34
fonte
A sugestão de regra para 10000 horas parece boa. Realmente intrigante, mas qual idioma devo escolher qual ainda seria relevante e oferece a mesma flexibilidade de novas linguagens (por exemplo: se eu aprendesse Java em profundidade com todos os conceitos, seria capaz de migrar para Scala, Processing, Clojure, etc com bastante facilidade).
Ameen
11
Ameen: Não se preocupe com outros idiomas. Aprenda um. Continue depois, depois de colocar 10.000 horas em Java. A vida é longa, existem muitas línguas, você não aprenderá todas elas. Novos são inventados o tempo todo. Aprenda uma coisa agora. Preocupe-se com o futuro depois disso.
S.Lott
2
"gastar mais tempo com isso" de uma maneira vaga não é eficaz.
Rein Henrichs
11
Também é uma boa estratégia aprender uma linguagem de programação orientada a objetos e aprender uma linguagem de programação funcional. Aprenda um idioma digitado estaticamente e um idioma digitado dinamicamente. Você será um desenvolvedor bem-formado.
Quíron
11
@BSeven Você precisa conferir o ensaio de Peter Norvig sobre "Aprenda a programar em 10 anos", semelhante a esse e lança muita luz sobre alguns dos principais problemas que os novatos enfrentam na programação.
Ameen
16

Envie coisas . É a única maneira. Faça as coisas. No trabalho, seus próprios projetos, projetos de código aberto. Comece a enviar as coisas. Eles podem ser coisas muito pequenas, como uma correção de bug ou um recurso comercializável mínimo. Basta começar a enviar as coisas . Nada é mais satisfatório ou constrói confiança do que o sucesso.

Edit: Você deve ler Ship It . É ótimo.

Editar novamente: a experiência de fazer outra coisa que não seja o envio é apenas uma falha na experiência. Eu já vi muitos desenvolvedores "seniores" cuja experiência principal não era enviar itens (e encontrar desculpas para não enviá-los). Artistas de verdade são enviados .

Rein Henrichs
fonte
12

'problema', 'inadequado', 'estrangulado', 'limitadas habilidades X', 'menosprezado', 'deprimido', 'incapacidade' em uma frase, tudo direcionado a você, sugere-me algumas feridas não cicatrizadas do passado que ainda estão sofrendo vocês. Se você encontrar maneiras de superá-las, seria muito fácil dominar a programação ou qualquer arte ou artesanato. Talvez ler sobre a resiliência de outras pessoas ajude aqui. Todo mundo passa por momentos difíceis em suas vidas. Se essas mágoas / feridas não forem curadas, seus sucessos não teriam acontecido. Cure sua ferida primeiro. A programação pode esperar mais tarde.

Quanto às habilidades de programação, como eu aprendo um novo idioma e começo a pensar como outras pessoas que já programam nesse idioma é, primeiro, lendo tudo o que posso colocar em minhas mãos relacionado a esse idioma. Então, quando eu tiver lido o suficiente, comece a escrever pequenos programas.

vpit3833
fonte
2
Nesse mesmo sentido, se você quiser ver alguém que teve o mesmo problema e uma comunidade reunida em torno dele e de seus problemas, leia este tópico do Hacker News .
Wes Baker
3
+1 para a sugestão de ler a documentação e os tutoriais. E quanto à primeira parte, concordo que muitas feridas não foram cicatrizadas. (O que um psicólogo está fazendo neste site?) Mas, infelizmente, algumas feridas não podem ser curadas tão facilmente quanto outras. Mas cheguei a um acordo com eles e, francamente, eles não são tão dolorosos quanto costumavam ser. E ficar ocioso apenas me leva a pensamentos negativos, e a única maneira de fazer isso é me manter ocupado com a Codificação, etc. Muito obrigado por suas sugestões, e você, meu amigo, me surpreendeu com suas habilidades psíquicas.
Ameen
@ Baker: Muito obrigado por esse tópico do Hacker News. Certamente posso me relacionar com os pensamentos do OP (embora não tenha tido tanto mal). Eu (acho) tenho um conhecimento bastante decente sobre sistemas operacionais, arquitetura de computadores, algoritmos, estruturas de dados, redes de computadores, criptografia, data warehousing etc. (embora eu precise corrigi-los). Como eu disse, conheço todos esses assuntos a partir de um ponto de vista teórico e, na verdade, não fiz coisas práticas. Certamente examinará esse tópico, muitos conselhos impressionantes por lá também. Tyvm!
Ameen
@Ameen Por 'everything', não me limite a documentos e tutoriais. Código que outros escreveram, expressões idiomáticas que eles usaram, erros, exceções etc. outros já enfrentaram e suas soluções etc. Eu não sou um médium ou psicólogo, por qualquer meio.
vpit3833
9

Algumas coisas que você realmente precisa para começar:

Perseverança: Tornar - se um bom programador leva tempo uma prática. Você precisará escrever muito código incorreto antes de escrever qualquer código bom - muito código incorreto. Felizmente, você tem recursos como este site para ajudá-lo. Enquanto você se comprometer a aprender a programar, poderá montar jogos e utilitários simples em pouco tempo!

Metas: defina algumas metas para si mesmo. Diga aprender a usar STL em C ++ em duas semanas. Veja como você se sai. Se você demorar mais, acompanhe por quanto tempo, isso ajudará você a se sair melhor no futuro. Eu aprendi esse truque com um colega de trabalho; ele poderia estimar, até o dia, quanto tempo quase qualquer tarefa o levaria. Fazer isso me ajudou a manter o controle de quanto tempo gasto em projetos pessoais e a evitar que eles fiquem fora de controle (gerenciamento de escopo que eles chamam).

Curiosidade: Você precisa estar interessado e envolvido. Se você não é o tipo de pessoa que não aborda problemas com o desejo de encontrar a solução, iniciar a programação será difícil no começo e a depuração pode ser um pesadelo. Mas não precisa ser assim. Se você tiver um problema, pergunte em sites como este, pesquise no Google seu erro. Se você não consegue descobrir como implementar algo, pergunte! Há sempre pessoas por aí que estão dispostas a ajudar!

Confiança: Seja confiante no que deseja fazer e confiante o suficiente para fazer perguntas. Se alguém lhe mostrar outra maneira de fazer alguma coisa, não fique na defensiva ou acredite que você fez algo errado; pense nisso como se estivesse aprendendo uma abordagem diferente para resolver seu problema!

Acima de tudo, mantenha uma perspectiva positiva, leia muitos tutoriais e faça muitas perguntas, e você será um programador feliz! Outro conselho que tenho que dar é escolher um idioma, ficar com ele até que você esteja mais confiante. Você tem muito tempo para aprender uma variedade de idiomas, mas quando estiver começando, trabalhe apenas com um.

Boa sorte! E lembre-se, isso é divertido! = D

bryanegr
fonte
Obrigado pela sua contribuição perspicaz. Um dos meus problemas sempre foi o fato de eu (muitas vezes) ter mirado muito alto e caído de cara. Meu subconsciente pode ter adotado uma abordagem "Queimado uma vez, duas vezes tímido" e talvez esteja bloqueando minhas tentativas de corrigir isso. Eu sempre fui curioso, mas a falta de um mentor me levou a ignorar minha curiosidade. E, seriamente, o SE está parecendo muito mais impressionante com o passar do tempo, certamente examinarei esse recurso incrível e alcançarei meu objetivo de me tornar um programador adequado. Muito obrigado, sério, não posso dizer o quanto sua postagem significa para mim.
Ameen
Fico feliz em ajudar! = D
bryanegr
Melhor objetivo: código do navio!
7

No desenvolvimento, parece que o paradoxo "quanto mais você sabe, mais você sabe que não sabe" é verdadeiro.

Se você é uma pessoa honesta e atenciosa, precisará aceitar esse fato e aprender a lidar com ele.

A confiança, no sentido implícito na pergunta, é uma coisa muito pessoal que realmente não tem nada a ver com um conjunto de habilidades ou uma metodologia específica.

Em uma nota mais superficial, o sentimento descrito em http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/ (seção: Você superestima radicalmente a habilidade média da competição por causa de a multidão com quem você anda) sempre me ajudou.

Sugiro que você aprenda a ser mais confiante no trabalho que realizou, em vez de criar confiança em suas habilidades como um todo. A melhor maneira de fazer isso é escrever testes repetíveis para todo o seu código. Isso fará maravilhas em sua psique.

smp7d
fonte
4

WhiteFang34 está totalmente certo. Como biólogo, descobri que a única maneira de aprender programação é começar a fazê-lo. Leia alguns livros, tenha o Google e o SO sempre à mão e "apenas faça". Seus programas serão muito básicos, mal codificados e com erros no início, e você ficará cada vez melhor com o tempo. Não tenho tempo para ter aulas de programação, mas passo muito tempo codificando (porque é divertido fazê-lo).

Escolha um idioma que permita que você pense mais sobre o que deseja fazer e menos sobre como fazê-lo. c não é um exemplo muito bom disso. Experimente idiomas de nível superior, como java ou c #, porque eles permitirão que você faça mais, para que você tenha a coragem de tentar cada vez mais.

(É claro, supondo que você não esteja seguindo uma carreira como programador profissional; nesse caso, eu diria apenas voltar para a escola ...)

Boa sorte e tenha uma codificação feliz

PS: Ah, e você precisará de muita preguiça, impaciência e arrogância

http://c2.com/cgi/wiki?LazinessImpatienceHubris

Aleadam
fonte
4

O engraçado é:

A mente do programador não é muito sobre computador, linguagem de programação,
padrões de design ou algoritmos

É sobre entender sutilezas do mundo real, interação entre as coisas. Capacidade de pensar abstrato . Capacidade de perceber as coisas e lembrá- las. Isso inevitavelmente leva a uma boa solução de problemas.

Implementação, o próprio código vem somente depois disso - depois que você
resolveu com sucesso determinado problema em sua mente.

Arnis Lapsa
fonte
4

Confiança não é algo que você deve tentar sentir sobre suas habilidades. A confiança é pouco (provavelmente até negativamente) correlacionada com a habilidade real. Você deve estar trabalhando para melhorar seu conjunto de habilidades profissionais (ou passatempo valorizado), não importa o que você sinta sobre seu nível de habilidade atual.

Confiança é algo que outras pessoas, aquelas que você considera competentes, devem sentir sobre suas habilidades depois de trabalhar com você ou de ver seu trabalho.

hotpaw2
fonte
3

É muito simples: esteja interessado nisso ! Parece que você já está, então encontre algo que você acha que seria legal fazer e, em seguida, faça-o, fazendo as perguntas necessárias no caminho, usando os recursos que puder, para montar o projeto da maneira que você preferir. eu quero isso. Enxágue e repita, e você se verá um excelente programador sem sequer ter feito muito esforço, pois foi interessante / divertido ao longo do caminho.

Além disso, encontre um bom equilíbrio entre descobrir coisas e fazer muitas perguntas. No início, especialmente, é uma grande ajuda que outras pessoas lhe digam onde você está errado, para impulsioná-lo durante a primeira parte da curva de aprendizado. A partir daí, tente descobrir as coisas por conta própria e, se você ficar preso depois de um tempo, faça uma pergunta sobre isso. O que costumo fazer é postar uma pergunta no SO e procurar a resposta, verificando o SO ocasionalmente no processo. Às vezes eu encontro a resposta primeiro, às vezes ela me encontra primeiro.

Não se preocupe muito com qual tecnologia, embora possa ser realmente divertido criar gráficos com HTML5 + JavaScript + a tag canvas, já que é muito fácil de configurar, as recompensas são imediatas e você pode compartilhá-las.

Claudiu
fonte
Muito obrigado. Estou muito interessado em programação (eu resolvo problemas na minha cabeça - e, é claro, em algoritmos, fluxogramas, etc.). Parece que estou com falta de aderência a um projeto e continuo com ele, pedindo ajuda quando estou preso. em um beco sem saída. (tudo isso tem que terminar agora, no entanto :) Obrigado ao SE) Além disso, tenho me interessado bastante com o material HTML5 + JavaScript (carregamento parcial da página - Mashable implementa isso de maneira impressionante, carregamento de respostas no SE, etc.). Realmente não sei recursos decentes para que eles aprendam a partir embora (W3C-escolas são supostamente grasna; W3Fools diz assim!)
Ameen
3

Aborde a programação com uma atitude mais positiva dos alunos. Ninguém sabe tudo. Segundo, descubra por que você está interessado em programar, se você gosta de:

  • Solução de problemas
  • aprendendo novas coisas
  • fazendo um computador dobrar à sua vontade
  • algo mais...

Depois de saber o que gosta na programação, você pode concentrar seus esforços de aprendizado nessa direção. Eu sou um funileiro / solucionador de problemas. Isso me torna extremamente pragmático. Algoritmos e estruturas de dados, a teoria da ciência da computação em geral me faz dormir.

Minha formação é semelhante à sua. Começou a construir computadores aos 10 anos. Um pouco de HTML / C ++ no meio da minha adolescência ... ficou entediado com isso ... parou por alguns anos. Eu nunca parei de brincar com o computador.

Agora, estou adorando programação. Então o que mudou? Eu encontrei minha motivação. Comecei a trabalhar onde recebi uma infinidade de problemas a serem resolvidos. Encontrar soluções inteligentes e simples para problemas complexos realmente deixa meu fogo aceso.

Por fim, não se preocupe com a forma como os outros codificam ou se estão "certos" ou não. É certo se ele faz o que você quer fazer. Depois que você começa a trabalhar em equipe, os padrões se tornam importantes. Isso se deve ao fato de outras pessoas precisarem ser capazes de interpretar e modificar seu trabalho. Padrões de design não é algo que um novo programador deva se preocupar.

P.Brian.Mackey
fonte
3

Sempre há inércia a ser superada ao aprender coisas novas. Os curiosos programadores que conheço lutam para encontrar a motivação para continuar aprendendo novas linguagens e paradigmas. Eles dizem: "Preciso de um projeto para testar o X". para aprender X. Alguns realmente encontrarão / inventarão esse projeto.

Esteja ciente de que uma carreira em programação será um processo ao longo da vida de frustração, estudo, experiência e inclinação contra moinhos de vento. Até as IAs assumirem tudo.

Se você ainda está fazendo ciência de verdade, poderá imaginar um projeto / necessidade de algum tipo. Por exemplo, combinando dados de várias fontes na Internet ou fora dela. Isso pode inspirar você a aprender javascript ou R ou mesmo Excel / VBA. Se você pode conectar alguns pontos para outros em seu campo, será reconhecido e pronto, será um programador.

Use, mas tenha cuidado com os mentores. Pergunta autoridade.

E, a propósito, "codificação zen" é um oxímoro.

stevej
fonte
3

Você nunca se sentirá confiante em suas habilidades de programação.

A maneira como você descreve suas habilidades indica uma mentalidade em que você nunca ficará satisfeito com suas habilidades. Você dominou C ++? Espere, há Java! Você dominou Java? Aguarde, há programação paralela. Você dominou a programação paralela em C ++ e Java? Espere, há SOA! Há OOD! E MVC! SÓLIDO! Programação Funcional! Programação da Web! Programação em nuvem! Programação móvel!

A questão é não se sentir deprimido por causa disso. Você precisa apertar alguns botões na sua cabeça: sua dúvida sobre suas habilidades é combustível puro. Você provavelmente nunca alcançará um nível satisfatório de habilidades de programação. Enquanto for esse o caso, você avançará. O difícil é realizá-lo e fazer algo contra ele, embora nunca haja um objetivo. Quanto mais tempo você aguentar, maior será o seu nível de habilidade.

Theo Lenndorff
fonte
Uau, essa é uma maneira totalmente nova de ver isso. Ame do jeito que você coloca, sempre haverá algo que você vai querer fazer. Eu realmente deveria começar a transformar meus negativos em positivos. Muito obrigado. Aprecie!
Ameen
3

Eu costumava me sentir da mesma maneira, e foram os sites do Stack Exchange que me ajudaram a me dar confiança.

Comecei a usar o StackOverflow para encontrar respostas para minhas perguntas e um dia vi uma que eu sabia a resposta. Postei a resposta, recebi alguns votos positivos e um comentário dizendo que era uma boa resposta, e isso me incentivou a procurar outras perguntas que eu pudesse responder.

Logo se tornou um vício para mim, encontrando perguntas sem resposta que eu poderia resolver e, com o passar do tempo, comecei a ganhar confiança em minhas respostas. Eu não precisava mais dizer "Eu acho que isso é porque ..." ou "Isso deve causar ...", mas sim dizer com certa confiança que "Isso é porque ..." ou "Isso causa ..."

Eu gosto de quebra-cabeças e, para mim, as perguntas eram como mini-programação, com o benefício adicional de obter algum feedback positivo se eu obtivesse a resposta certa. Se eu obtive uma resposta errada, apenas a excluí e aprendi com as soluções de outras pessoas para o mesmo problema.

Portanto, minha recomendação seria continuar no SO e procurar as perguntas em qualquer tag de seu interesse e procurar por algumas que você acha que pode encontrar respostas. Não há nada como as pessoas dizendo que suas respostas de programação são úteis / boas para dar confiança em sua capacidade de programação :)

Rachel
fonte
Claro, eu preciso fazer isso. Mas meu ego entra em ação e diz: "Você não é bom o suficiente para os outros fazerem coisas, diabos, você nem é bom o suficiente para estar aqui". Eu sei que parece bobagem, e como algumas pessoas aqui mencionaram, talvez eu só tenha medo de estressar meu cérebro, mas eu vou, vou enfatizar esse pedaço de gordura até que não seja nada. Muito obrigado pela sugestão e tentarei manter meu novo hábito de vasculhar SE por questões interessantes a cada dia para resolver. Obrigado por tirar um tempo e responder minha pergunta boba. Eu realmente gostei disso!
Ameen
3

Seu cérebro não gosta de trabalhar muito. Dada a escolha, prefere seguir o caminho mais fácil. É por isso que é fácil desistir das coisas quando você tenta lidar com algo muito ambicioso - muito para aprender, muitos detalhes complicados para acertar, muito barba por iaque.

Existem várias coisas que você pode fazer para combater isso. Primeiro, a energia. Tente praticar quando estiver bem descansado e bem alimentado, ou seu cérebro literalmente não terá combustível suficiente para um pensamento abstrato complexo. O segundo truque é interesse ou importância. Se você conseguir convencer seu cérebro de que conhecer o espírito é vital para escapar do tigre que o persegue, você aprenderá e reterá mais do que quando seu cérebro pensa que é uma tarefa secundária sem sentido no caminho para o que você realmente deseja. Um terceiro fator importante é alongar sem exagerar. Algum esforço lhe dará esse zumbido da conquista e ajudará a formar novos caminhos mentais, sem ser inatingível.

Há também algo a ser dito para a prática repetida. Você deseja que variação suficiente seja nova, mas semelhança suficiente para exercer as mesmas ações e impregná-las.

Um outro ponto é que você deve arregaçar as mangas e sujar as mãos. É fácil gastar muito tempo pensando em abordagens alternativas ou na solução ideal, na medida em que você nunca começa. Este é um exemplo de seu cérebro tentando tomar a saída mais fácil. Tente reconhecer quando isso está acontecendo com você e evite-o tentando começar. Até um teste ou experimento é bom. Isso também tem o benefício colateral de fazer com que seu cérebro deseje o encerramento da tarefa ou encontrar a melhor solução.

CPhelps
fonte
Uau, você acabou de prender o maior culpado que eu já suspeitei. Meu cérebro, sempre tive problemas com pés frios, e na maioria das vezes acabo me sabotando. Sempre há uma desculpa que eu invento para evitar fazer o que é importante. Preciso me tornar um hacker e parar de me preocupar com falhas monumentais devido a falhas do passado. Eu preciso invadir minha vida para que eu me torne o quintessencial "Sim, cara". Obrigado por apontar algumas das falhas em mim que eu realmente precisava mudar, e espero fazer isso o mais rápido possível. Muito obrigado, e eu nunca posso agradecer o suficiente por isso! Felicidades.
Ameen
2

Três coisas a considerar: (Ou não, é claro.)

  1. Prática. E se o fracasso não significasse nada além de uma indicação de que você está praticando? Se você desistiu de aprender a andar na primeira vez que caiu, ainda estaria engatinhando.
  2. Brinque com o que estiver fazendo. Brincar é simplesmente tentar algo e perceber o que acontece. Desista de julgar bons / maus resultados, apenas brinque e veja o que acontece. Desista de se apegar a um resultado específico, tente algo e veja o que acontece.
  3. E se você não for o único programador do mundo que já se sentiu assim?
David Pointer
fonte
2

Há muitos bons comentários sobre a prática aqui, realmente faz toda a diferença.

Você deve se preocupar menos com "atletas de código" e seguir seus conselhos ou comentários sobre o que são. Se eles são difíceis de lidar em um tópico, provavelmente também são difíceis de lidar na vida real; e realmente, quem tem tempo para se preocupar com sua inaptidão social?

O resultado final é que existem milhares de maneiras de abordar as tarefas de programação. Muitas coisas se resumem a preferências pessoais. Eu, por exemplo, odeio ler código com operadores de locação. Outros os amam. Eu acho que eles estão certos ou errados? ... na verdade, nenhum deles. É uma preferência pessoal, embora haja muitos debates acalorados sobre o assunto.

Se alguém censurar seu código porque você pegou 25 linhas em vez de 20, eu tenderia a ignorá-las, a menos que elas encontrassem uma falha real na lógica. Às vezes, no mundo real, precisamos apenas fazer as coisas (e quem realmente quer ouvir alguém baforando sobre o quão complicado ... err, elegante, eles conseguiram criar um código que deveria ter sido feito em 10 minutos) . Você pode aprender algo a partir de intermináveis ​​debates filosóficos sobre até que ponto as coisas abstratas? Claro ... mas há retornos obscuros em ser sugado pela elegância constante de 100%. Não é realista o tempo todo, tanto quanto gostaríamos de fingir que é. Alguns dos meus códigos menos elegantes que eu teria vergonha de compartilhar com qualquer pessoa (que escrevi no início da minha carreira) salvaram as pessoas semanas a semanas,

Há um ótimo post de Joel Spolsky chamado Duct Tape Programmer. É uma ótima leitura e a IMO coloca alguns de seus medos em perspectiva.

http://www.joelonsoftware.com/items/2009/09/23.html

Não estou dizendo para escrever código de porcaria e ignorar as melhores práticas, mas leve os programadores a sério com um pouco de sal.

b.
fonte
1

Pergunte a si mesmo por que realmente sente falta de confiança. Eu acho que é porque você se importa com o que seus colegas pensam, e isso é completamente compreensível. Mas, para ser verdadeiramente zen, é necessário esclarecer tais pensamentos e comparar-se a si mesmo com o tempo. Seja guiado pelo seu interesse, aprenda e trabalhe duro, e você se tornará um bom programador sem toda a graduação em psicologia.

Não é realmente a confiança que você precisa, é menos ruído no seu caminho de progresso.

Kevin Hsu
fonte