Você sabe quem eles são. Eles são as estrelas do rock da programação:
Eles codificam 10X mais rápido.
O código deles simplesmente funciona.
Eles não apenas conhecem o idioma principal por dentro e por fora, mas também sabem como funciona sob o capô.
Eles sabem a resposta para quase todas as perguntas antes que você faça.
Alguns deles inventaram os princípios de programação que todos usamos.
E eles tendem a ser estranhamente humildes também.
O que há com essas pessoas? Existe algo no processo de pensamento que é fundamentalmente diferente do programador acima da média? Ou eles são simplesmente pessoas muito talentosas que trabalham duro?
Em outras palavras: como posso ser como eles? Sei o que acho que preciso aprender para ser tão bom, mas parece que levarei os próximos dez anos para aprendê-lo, e então meu conhecimento ficará obsoleto.
fonte
try
.Respostas:
Humilde: Um programador excepcional nunca afirma que seu código é o melhor, na verdade ele estará sempre procurando um caminho melhor (todas as chances que tiverem) .
Paciente: Um programador excepcional terá paciência ilimitada (Isso não significa que eles perderão dias com um problema. Consulte: Solução de problemas) .
Solucionador de problemas: Um programador excepcional poderá resolver um problema em minutos que podem levar dias para o programador médio.
Curioso: Um programador excepcional não conseguirá resistir a tentar descobrir por que algo ocorre.
Engenheiro: Um programador excepcional projetará sistemas em vez de manchar uma mistura de estruturas (isso não significa que elas não usarão estruturas) .
fonte
Você acertou muito no seu último ponto:
"E eles tendem a ser estranhamente humildes também."
Eu acho que é uma combinação de humildade - não apenas externamente, mas também dentro de suas mentes. Eles aceitam estar errados, cometer um erro e se virar rapidamente de frustração. Muitos programadores tentam alguma coisa, falham e, em seguida, desenvolvem-se muito emocionalmente rapidamente, um estado que é anátema para escrever um bom código. Você precisa aceitar que não é perfeito e que vai estragar (com frequência!), E que a melhor coisa a fazer é aprender a se recuperar rapidamente quando estragar. É uma confiança humilde , como "Eu sei que vou estragar tudo, mas também sei que, se continuar tentando, chegarei lá eventualmente".
Há um ditado na PNL: "Não há falha, apenas feedback". Para ser um programador de estrelas do rock, acho que você precisa abraçar isso. Não há nada que você não possa codificar. Você pode ser lento no começo, mas se você continuar tentando e se recusar a parar quando você falhar ou estragar alguma coisa, você cumprirá. E nesse processo, você aprenderá todos os truques mentais que precisa para se tornar um dos melhores.
É claro que o conselho é tão bom quanto a sua fonte, então ... tudo é apenas a minha opinião.
fonte
Eles se preocupam profundamente com seu código.
fonte
Pessoalmente, os melhores programadores que conheço / conheciam entenderam o básico e NÃO eram os especialistas em qualquer idioma. Eles simplesmente tinham experiência suficiente em quase tudo. O canônico "Valete de Todos os Negócios".
É mais do que ciência fundamental, existe um valor significativo na experiência em operações reais. Exemplos, aqueles que entendem a filosofia do Unix e, portanto, podem resolver problemas desconhecidos com várias ferramentas fornecidas (IOW, eles sabiam onde procurar) valorizam muito mais o especialista em Java que codificou uma solução encadeada e paralela.
Os programadores de destaque também respeitam aqueles que vieram antes deles. Eles não odeiam modelos de dados relacionais ou se encolhem quando veem o SQL como uma API formal, nem se opõem ao FORTRAN em matemática. Eles sabem que o OO não é o fim de tudo e, acima de tudo, entendem que a programação é uma ART, não uma ciência.
fonte
grep
,awk
,sort
, euniq
pode responder um monte de perguntas. Se você tiverperl
também, ainda mais!Quando comecei, estava trabalhando com esse cara que achei absolutamente brilhante em tudo o que ele fez em termos de programação. Ele provavelmente ainda é, mas mudou-se para ser o diretor de uma empresa no sudeste da Ásia agora.
De qualquer forma, ele manteve as coisas simples, e as coisas simples funcionam. Nunca querendo escrever mais linhas de código do que o necessário, tudo o que ele fez funcionou. Eu estava brincando durante um ano só para chegar perto do nível dele. A outra coisa, porém, é o tempo. Ele estava fazendo as coisas há muito mais tempo do que eu fazia na época, e ele teve a chance de fazer essas perguntas exatas várias vezes, até que ele soube (aparentemente) todas as respostas.
Ele também não tinha medo de fazer perguntas. Eu acho que é a maior coisa.
fonte
Matriz de Competências para Programadores
Muitos tópicos para ajudar a identificar qual é o seu nível em tópicos de programação.
fonte
Aprendi a resposta a essa pergunta em um livro sobre o poker do Texas Hold'em, mas isso se aplica a todos os esforços frustrantes. Os melhores codificadores nunca ficam inclinados. Continuar no Tilt é o momento em que algo não funciona como o esperado e você responde de uma maneira que cria erros exponenciais no aplicativo em geral. No torneio de poker, você faz apostas ruins e é eliminado.
Na programação, a inclinação faz com que você arranque os cabelos e escreva patches ridículos de código que só funcionam em determinadas instâncias do seu aplicativo. O Tilt faz com que os programadores ignorem as necessidades do projeto como um todo, buscando gratificação instantânea para resolver o problema imediato agora. Muitas vezes, o problema é resolvido hoje, mas o aplicativo sofre amanhã.
Os melhores codificadores adotam o conceito de inclinação e o gerenciam de uma maneira que lhes permita analisar sempre os problemas de uma perspectiva externa. Se isso falhar, beba um pouco de cafeína.
fonte
Programadores excepcionais:
Duas coisas sobre o fator "10x":
fonte
a maioria deles parece reservada e nada de especial. alguns deles são super-inteligentes. eles preferem verificar / depurar as coisas duas vezes de todos os pontos de vista possíveis; o software deles é o mais sem erros do mundo: p IMO alguns programadores podem ser mais lentos, mas a qualidade é melhor, mesmo as pessoas comuns podem entender como o software funciona!
Eu tenho um amigo que escreveu seu primeiro programa ASM aos 10 anos, agora ele tem 24 anos, não terminou a universidade, mas isso não o impediu de criar sua própria empresa, ganhar milhões :), mas pelo que eu vejo ele é hábil em tudo :)
programadores excepcionais provavelmente diriam que esse código pode ser codificado de outra maneira - melhor do que dizer que é totalmente errado e menor a reputação de outros programadores :)
"O que há com essas pessoas? Existe algo no processo de pensamento que é fundamentalmente diferente do programador acima da média? Ou eles são simplesmente pessoas muito talentosas que trabalham duro?"
acho que nascem assim, está dentro do DNA: pi não sabe sobre o processo de pensamento, mas o melhor programador que já conheci teve epilepsia
fonte
Poucas coisas diferenciam um excepcional de um típico.
Excepcional:
Altamente apaixonado por seu trabalho e se esforça para entregar uma obra-prima.
Desempenho e qualidade são a imagem geral em sua mente, mesmo antes do início da codificação.
Eles pensam em melhoria contínua após cada lançamento.
Eles mantêm vigilância rigorosa sobre as alternativas e são os primeiros a adotar.
Seu tema na vida profissional é: "Escreva menos, transmita mais".
Eles continuam pensando em perspectivas lógicas, mesmo quando não estão codificando.
Típica
Às vezes, um pouco apaixonada, mas se esforça para entregar porque, afinal, é um trabalho. Se não for uma obra-prima, tudo bem. Pelo menos entregue no prazo.
Pensará no desempenho mais tarde, de qualquer maneira, os PCs são rápidos o suficiente nos dias de hoje.
Melhorar apenas quando não houver opção para salvar um trabalho.
Não há tempo para explorar outras tecnologias. Atenha-se ao que seu trabalho exige agora. Aprenderá outras coisas quando surgir a necessidade.
Seu tema é: "Faça o que é pedido e chegue a casa a tempo".
fonte
Programadores excepcionais aplicam os princípios espartanos .
Imagem que chama a atenção:
Este artigo: http://willcode4beer.com/design.jsp?set=codeReduction
E esta citação:
fonte
Auto-promoção , e quero dizer isso da melhor maneira possível. Ter um trabalho como programação, especialmente em equipe, significa que não é imediatamente óbvio onde sua contribuição pessoal se encaixa no cenário geral ou quem foi responsável por qual parte. As pessoas de quem ouvimos falar e aprendemos como "grandes programadores" são da OMI aquelas que dominaram a arte de divulgar suas contribuições sem parecer egoístas ou egocêntricas. Em muitos casos, isso ocorre ao criar as ferramentas, bibliotecas e software nos quais confiamos para ganhar nosso pão diário.
fonte
1º - Eles sabem o que é cortado quando enfrentam o prazo final.
fonte
Artigo muito bom: The Free Electron (de randsinrepose.com)
Peço desculpas por não resumir o artigo aqui, mas os pontos não são facilmente separados da prosa.
fonte
Eles programam puramente por intuição. Não há necessidade de pensar que apenas flui .
fonte
Codificadores excepcionais influenciam um projeto além do escopo de seu próprio código e identificam problemas antes que eles ocorram devido à sua experiência. Eles melhoram todos os membros da equipe e salvam seus projetos de mau design e gerenciamento.
Eles realmente criaram algo que é excepcional.
fonte
Será. Você já estabeleceu que esses caras são 10 vezes mais rápidos, e é por isso que eles aprendem em 1 ano e isso leva 10. Para a parte mais séria da resposta, eu acho que eles já são super inteligentes qualquer coisa), eles adoram codificação e, por algum motivo, têm (ou encontram) uma abundância de tempo livre para praticar a codificação ou trabalhar em projetos pessoais.
Se você está fazendo essa pergunta aqui, provavelmente não tem o que é preciso (não se preocupe, estou respondendo aqui, então provavelmente também não). Não se preocupe, você ainda pode ficar louco, se você gosta de codificação.
fonte
Há muitos posts bem-intencionados aqui sobre Humildade, Engenharia, Paixão, Paciente, Resolução de problemas. OMI são todos necessários. No entanto, eles descrevem os 30% principais dos programadores.
Acho que você está perguntando sobre os programadores verdadeiramente excepcionais, o 1% superior.
Uma das coisas que invejo sobre os talentos muito raros ocasionais com os quais trabalho é a capacidade deles de manter uma quantidade muito grande de detalhes sobre um sistema complexo em mente por vez e de poder recuperá-lo rapidamente. Acho que posso fazer isso ocasionalmente, talvez uma vez por mês, quando estou realmente na zona. Esse sentimento é maravilhoso. O desenvolvedor que estou pensando parece poder estar nessa zona a maior parte do tempo .
É essa característica, IMO, além das habilidades de humildade, curiosidade, engenharia, paixão, paciência e solução de problemas que as tornam verdadeiramente excepcionais.
fonte
Ter a qualidade da auto-motivação e da autodeterminação, além de ter a disposição de entrar em um abismo do desconhecido e de se sentir confortável em estar absolutamente confuso como parte do processo, é enorme. Não se trata tanto de inteligência inicial como você pensaria, porque o cérebro se torna muito melhor nas coisas que está sempre fazendo e pensando. Eu vim do nada na faculdade e depois fiquei muito bem apenas por pura persistência, nunca desistindo, sendo aquele cara que mantinha um problema quando todos os outros se cansavam de tentar descobrir. Após esse tipo de persistência, os problemas se tornaram cada vez mais fáceis e passaram de ser o noob na faculdade e colocar a maioria deles envergonhados neste momento. Puro talento não é suficiente e às vezes pode levar a descansar nos louros.
Além disso, para Robert Harvey, você continua revisando minhas postagens quando menciono qualquer coisa relacionada ao meu CMS que escrevi do zero. Você vê vários outros listando links que eles podem ou não ter escrito. Você está empurrando pessoas que são motivadas por si mesmas, o que é irônico porque você postou isso. Você é "o homem" neste pequeno universo e não está lendo as coisas por mérito delas, apenas cochilando e apagando ao seu capricho. Você também gosta muito de Star Wars e provavelmente acena com a mão nas portas de abertura automática do supermercado, acreditando que você tem a força.
fonte