Quando você pode se considerar bom no idioma X?

30

Isso remonta a uma conversa que tive com minha namorada. Tentei dizer a ela que simplesmente não me sinto adequado o suficiente na minha linguagem de programação (C ++) para me considerar boa. Ela então me perguntou: "Bem, quando você se considera bom o suficiente?"

Essa é uma pergunta interessante. Eu não sabia o que dizer a ela. Então, eu estou perguntando a você.

Para qualquer linguagem de programação, estrutura ou similar, quando você chega a um ponto em que se senta, olha o que fez e diz: "Ei, sou realmente muito bom nisso". Como você define "bom" para poder dizer honestamente aos outros: "Sim, eu sou bom em X".

Além disso, você chega a essas conclusões comparando o que os outros podem fazer?

Informação adicional

Eu li o artigo canônico sobre como são necessárias dez mil horas antes de você ser um especialista em campo. (Props para qualquer pessoa que saiba como este artigo é chamado novamente)

Também li vários artigos da Coding Horror sobre entrevistar pessoas. Dizia-se que algumas pessoas "não podem funcionar fora de uma estrutura". Portanto, eles podem ser "bons" para essa estrutura, mas não de outra maneira na linguagem. Isso é verdade?

SoulBeaver
fonte
2
Até onde eu sei, toda a regra das 10.000 horas vem do livro 'Outliers'?
Jaco Pretorius
7
A regra das 10.000 horas foi pesquisada / apoiada principalmente no trabalho de K. Anders Ericsson, pioneiro na relativamente nova disciplina de psicologia "estudos do desempenho humano". Em particular, seu artigo de 1993 "O papel da prática deliberada na aquisição de desempenho especializado" é a referência de referência no campo. Veja a entrada do Google Scholar aqui: scholar.google.com/…
20/09/10

Respostas:

41

Você não pode se considerar bom em X. Somente outras pessoas podem.

P Shved
fonte
17
Embora apenas porque outros digam que você seja bom em X não garanta que você seja bom - apenas que você é melhor que eles. (A menos, claro, essas outras pessoas provaram a credibilidade em relação X.)
Peter Boughton
Eu discordo, então eu -1. Só porque eu discordo e acho que o voto positivo é alto.
3
Receio que isso realmente não resolva o problema em questão: uma autoavaliação precisa é imperativa para o nosso campo e isso não oferece ajuda nesse sentido.
Cwallenpoole
@cwallenpoole: Não se esqueça do efeito Dunning – Kruger . Além disso, você não fica mais impressionado quando muitas pessoas dizem "X é realmente bom em Y", em vez de quando X afirma que é competente?
Jonathan Merlet
38

Já existem algumas boas respostas para isso, então contribuirei com isso:

texto alternativo

Fishtoaster
fonte
15
Não tenho certeza se é realmente seguro substituir o seu antigo eu, é? ... talvez eu devesse perguntar sobre timetravel.stackexchange.com
John MacIntyre
9
@ John MacIntyre - Esse link faz com que a mensagem de erro padrão "Não encontrado" pareça profética: "O site de perguntas e respostas schedravel.stackexchange.com ainda não existe ...".
Nicole
3
Matar o seu eu passado não faria você desaparecer desde que você é do futuro?
Terence Ponce
3
Substituir o seu eu antigo por um novo eu causaria um comportamento indefinido . ;-)
P Enviado em
2
Gostaria de parar no dia 14611, beber a poção invertida da idade e não passar pelo aborrecimento de viajar de volta no tempo e correr o risco de desaparecer.
chiurox
10

Só é bom em alguma coisa quando eles podem dizer com confiança e corretamente que podem fazê-lo.

Se você quer dizer que é bom em C ++, por exemplo, deve poder dizer, com confiança e justificativa, que, dado um problema geral usando C ++, você pode resolvê-lo.

Isso fornece uma distinção de ser arrogante , o que seria dizer com confiança que você pode fazer algo sem justificativa suficiente; e experiente , o que seria dizer que você pode fazer algo porque já fez isso no passado.

user8
fonte
6

Em uma nota relacionada, embora eu ache que o movimento Software Craftsmanship é uma excelente idéia para ajudar os padrões a melhorar nossa disciplina, eu vi muitas pessoas se descrevendo como especialistas em software, o que me parece um pouco arrogante na maioria dos casos.

Cabe a seus colegas decidir se você é bom ou não em alguma coisa (ou em um artesão); Tenho certeza de que Einstein e Feynman não andaram no início de suas carreiras dizendo "olhe para mim, sou um gênio!" Da mesma forma, cabe a seus colegas decidir se você é bom ou não.

O Stackoverflow é uma ferramenta útil para decidir se você é competente. Escolha algumas perguntas em sua área de suposta experiência. Responda-as (ou, se já tiverem sido respondidas, responda-as na sua cabeça sem espiar as respostas postadas). Você achou a melhor resposta? Perdeu alguma coisa? Você estava completamente errado?

Paddyslacker
fonte
De qualquer maneira, os engenheiros de software escreveriam montadores, compiladores, linkers e carregadores.
Chris
3

Como não há um teste de programação padronizado que você possa fazer que permita que todos concordem que você é um bom programador, cabe a você determinar se você se considera assim ou não.

Acho que isso tem a ver com o seu nível de confiança. Se você sente que é bom em alguma coisa, deve poder dizer isso. Em algum momento, você concluirá um projeto que o impulsionou e esse sentimento mudará de 'ainda não' para 'eu sou'.

Walter
fonte
2

Eu sei que esta é uma pergunta bastante difícil. Eu fiz dois assuntos com os quais eu principalmente programava em C ++ e obtive altas distinções em ambos. Eu não me consideraria bom em C ++. De fato, se eu estivesse me candidatando a um emprego, deixaria de fora do meu currículo e simplesmente escreveria C. A língua toda não é da minha conta.

Casebash
fonte
2

Eu acho que você pode se considerar bom em algo quando desenvolver o conhecimento necessário para poder se olhar como se fosse da perspectiva de outra pessoa e depois determinar se você é bom. Em outras palavras, você deve ter fortes habilidades "meta".

Por exemplo, sou um escritor amador e, ao olhar para minha própria escrita, posso dizer:

  • quais aspectos são bons e por que
  • quais aspectos são ruins e por que
  • o que eu preciso fazer para melhorar os ruins e por que
  • quais aspectos ruins são específicos da peça escrita e quais são os sintomas de minhas habilidades
  • quais são os elementos que outras pessoas podem criticar e por que
  • quais críticas não são relevantes para minha peça específica, mesmo que outras pessoas possam expressá-las, e por que

etc. etc. Por isso, sinto que estou qualificado para decidir se sou bom em escrever ou não. O mesmo se aplica ao X.

EpsilonVector
fonte
1

Como o bem é muito subjetivo, eu diria que você é bom exatamente quando está confiante de que é ótimo.

Brian R. Bondy
fonte
1

Você pode alegar que é "bom" em algo depois de fazer isso por tempo suficiente para esquecer há muito tempo como fazer qualquer outra coisa.

Dan Moulding
fonte
1

O único momento em que você pode ter certeza se é bom em alguma coisa é quando tem certeza de que é ruim nisso.

John Cleese falou sobre isso: Às 9:00 http://www.youtube.com/watch?v=zGt3-fxOvug

Jethro Larson
fonte
1

Toda vez que eu pensava que era bom em programar em uma linguagem específica, seis meses depois eu estava convencido de que naquele momento eu era péssima e agora eu era boa nisso. Então eu acho que é um termo relativo. Talvez seja melhor se chamar de "bom o suficiente para fazer Y", onde Y é um projeto específico nesse idioma.

RationalGeek
fonte
1

Quando você pode olhar o código fonte de algo como boost (em c ++. Ou boost equivalente em outro idioma) e NÃO TEM medo disso.

user2528
fonte
1

Quando você começa a imaginar como um software que você estava procurando foi escrito nesse idioma.

aredkid
fonte
1

Você sabe que é bom nisso quando gosta do que está fazendo (e não é apenas uma tarefa trivial) .

Você sabe que ainda é ruim quando continua xingando aleatoriamente enquanto codifica.

Camilo Martin
fonte
2
Estou tentado a -1 neste. Eu trabalhei com sistemas tão mal organizados que quase poderiam ser considerados não determinísticos. Você já tentou criar uma interface do usuário em uma linguagem não determinística? Inspira maldições.
cwallenpoole
@ Christopher bem, passo a maior parte do tempo amaldiçoando coisas novas, mas gradualmente me acostumo a isso ou codifico algo para me ajudar. Se você odeia o que está fazendo, talvez possa codificar sua saída e sentir o cara mais inteligente do prédio, não é? :)
Camilo Martin
0

Costumo não dizer que sou bom em X, mas sim que sou um aprendiz rápido e um paraíso em potencial para ser bom em X.

Moshe
fonte
0

Não tenho certeza sobre "bom", mas digo que "conheço" um idioma quando não é meu conhecimento do idioma, mas minha compreensão do problema (ou domínio do problema), que me impede de implementar um software para resolvê-lo. problema.

mipadi
fonte
0

Acho que o artigo que você estava procurando foi ensinar-se programar em 10 anos por Peter Norvig se refere a exigir cerca de 10.000 horas para se tornar bom em alguma coisa. Além disso, eu já vi isso aparecer em outros lugares, como "The Element", de Ken Robinson, e em um blog do Lifehacker, falando sobre reduzir o número de hobbies que você tem.

Jeremy
fonte
0

Vou fazer parte desta pergunta para perguntar "quais são alguns critérios para avaliar minha competência em uma linguagem de programação"

Eu descobri que essa matriz é bastante útil nesse sentido. A maioria dos itens é mais sobre ser um programador competente em geral, mas depois que você desce os títulos de Programação, Experiência ou Conhecimento, verá alguns que dependem do idioma usado.

Obviamente, como em qualquer divisão um tanto arbitrária em categorias, isso não é perfeito. Mas acho que é bastante útil, no entanto. Pode lhe dar pelo menos uma idéia de onde você está e para onde deve ir.

Nick Knowlson
fonte