Quando puoi definirti bravo nella lingua X?


30

Questo risale a una conversazione che ho avuto con la mia ragazza. Ho cercato di dirle che semplicemente non mi sento abbastanza adeguato nel mio linguaggio di programmazione (C ++) da definirmi buono. Poi mi ha chiesto: "Beh, quando ti consideri abbastanza bravo?"

Questa è una domanda interessante. Non sapevo cosa dirle. Quindi te lo sto chiedendo.

Per qualsiasi linguaggio di programmazione, framework o simili, quando raggiungi un punto in cui ti sei seduto, guarda cosa hai fatto e dici "Ehi, in realtà sono abbastanza bravo in questo". Come definisci "buono" in modo da poter dire agli altri, onestamente, "Sì, sono bravo in X".

Inoltre, raggiungi queste conclusioni confrontando ciò che gli altri possono fare?

Informazioni addizionali

Ho letto l'articolo canonico su come sono necessarie diecimila ore prima che tu sia un esperto del settore. (Propone a chiunque sappia come si chiama di nuovo questo documento)

Ho anche letto vari articoli di Coding Horror sull'intervista a persone. Alcune persone, si diceva, "Impossibile funzionare al di fuori di un framework". Quindi potrebbero essere "buoni" per quel quadro, ma non altrimenti nella lingua. È vero?


2
Per quanto ne so, l'intera regola delle 10.000 ore proviene dal libro "Valori anomali"?
Jaco Pretorius,

7
La regola delle 10.000 ore è stata studiata / supportata principalmente nel lavoro di K. Anders Ericsson, un pioniere nella relativamente nuova disciplina psicologica "studi sulla performance umana". In particolare, il suo articolo del 1993 "Il ruolo della pratica deliberata nell'acquisizione della performance di esperti" è il riferimento di riferimento nel settore. Vedi la voce di Google Scholar qui: scholar.google.com/…
limist

Risposte:


41

Non puoi definirti bravo in X. Solo altre persone possono.


17
Anche se solo perché gli altri dicono che sei bravo in X non ti garantisce che tu sia bravo - solo che sei migliore di loro. (A meno che ovviamente quelle altre persone non abbiano dimostrato credibilità riguardo a X.)
Peter Boughton,

Non sono d'accordo, quindi -1. Solo perché non sono d'accordo e penso che il voto sia troppo alto.

3
Temo che questo in realtà non affronti il ​​problema in questione: un'autovalutazione accurata è indispensabile per il nostro campo e questo non offre aiuto in tal senso.
cwallenpoole,

@cwallenpoole: non dimenticare l' effetto Dunning – Kruger . Inoltre, non sei più impressionato quando molte persone dicono "X è davvero bravo a Y" piuttosto che quando X afferma di essere competente?
Jonathan Merlet,

38

Ci sono già alcune buone risposte a questo, quindi ti darò solo un contributo:

testo alternativo


15
Non sono sicuro che sia davvero sicuro sostituire il tuo sé precedente, vero? ... forse dovrei chiedere su timetravel.stackexchange.com
John MacIntyre

9
@John MacIntyre - Questo link rende profetico il messaggio di errore "Non trovato": "Il sito di domande e risposte timetravel.stackexchange.com non esiste ... ancora."
Nicole,

3
Uccidere il tuo sé passato non ti farebbe svanire dal momento che sei dal futuro?
Terence Ponce,

3
Sostituire il tuo sé più vecchio con un nuovo sé causerebbe un comportamento indefinito . ;-)
P Shved

2
Mi fermerei semplicemente al giorno 14611, berrei la pozione di inversione dell'età e non passerei la seccatura di viaggiare indietro nel tempo e rischiare di scomparire.
Chiurox,

10

Uno è bravo in qualcosa solo quando può dire con fiducia e correttamente di poterlo fare.

Se vuoi dire che sei bravo in C ++, per esempio, dovresti essere in grado di dire, con fiducia e giustificazione, che dato un problema generale usando C ++, puoi risolverlo.

Ciò fornisce una distinzione dall'essere arroganti , che sarebbe dire con sicurezza che puoi fare qualcosa senza una giustificazione sufficiente; ed esperto , il che significherebbe che puoi fare qualcosa perché l'hai fatto in passato.


6

In una nota correlata, mentre penso che il movimento Software Craftsrafts sia un'ottima idea per aiutare gli standard a migliorare la nostra disciplina, ho visto molte persone descriversi come artigiani del software, che nella maggior parte dei casi mi sembra un po 'arrogante.

Sta ai tuoi coetanei decidere se sei bravo o meno in qualcosa (o un artigiano); Sono sicuro che Einstein e Feynman non si sono aggirati presto nelle loro carriere dicendo "guardami, sono un genio!" Allo stesso modo, sta ai tuoi colleghi decidere se sei bravo o no.

Stackoverflow è uno strumento utile per decidere se sei competente. Scegli alcune domande nella tua area di presunta competenza. Rispondi loro (o se hanno già ricevuto risposta, rispondi nella tua testa senza dare un'occhiata alle risposte postate). Hai pensato alla migliore risposta? Ti sei perso qualcosa? Avevi semplicemente sbagliato?


A mio avviso, gli artigiani del software sarebbero quelli che scrivono assemblatori, compilatori, linker e caricatori.
Chris,

3

Dal momento che non esiste un test di programmazione standardizzato che è possibile eseguire che consentirà a tutti di concordare sul fatto di essere un buon programmatore, spetta a te determinare se lo chiami o meno.

Trovo che abbia a che fare con il tuo livello di fiducia. Se SENTI che sei bravo in qualcosa allora dovresti essere in grado di dirlo. Ad un certo punto completerai un progetto che ti ha spinto e quella sensazione cambierà da "non ancora" a "Io sono".


2

So che questa è una domanda piuttosto difficile. Ho fatto due materie con le quali ho programmato principalmente in C ++ e ho ottenuto distinzioni elevate in entrambe. Non mi considererei bravo in C ++. In effetti, se stavo facendo domanda per un lavoro, lo lascerei fuori dal mio curriculum e scrivo invece C. L'intera lingua non è la mia cosa.


2

Penso che puoi definirti bravo in qualcosa quando sviluppi le conoscenze richieste per essere in grado di guardarti come dalla prospettiva di un'altra persona, e quindi determinare se sei bravo. In altre parole, dovresti avere forti abilità "meta".

Ad esempio, sono uno scrittore hobbista e, guardando i miei scritti, posso dire:

  • quali aspetti sono positivi e perché
  • quali aspetti sono cattivi e perché
  • cosa devo fare per migliorare quelli cattivi e perché
  • quali aspetti negativi sono specifici del pezzo scritto e quali sono un sintomo delle mie capacità
  • quali sono gli elementi che altre persone possono criticare e perché
  • quali critiche non sono rilevanti per il mio pezzo specifico, anche se altri possono darle voce, e perché

ecc. ecc. Per questo motivo mi sento qualificato per decidere se sono bravo a scrivere o meno. Lo stesso vale per X.


1

Dal momento che il bene è molto soggettivo, direi che sei bravo esattamente quando sei sicuro di essere grande.


1

Puoi affermare di essere "bravo" in qualcosa dopo averlo fatto abbastanza a lungo da dimenticare da tempo come fare qualsiasi altra cosa.



1

Ogni volta che pensavo di essere bravo a programmare in un determinato linguaggio, sei mesi dopo ero convinto che a quel tempo ne facessi schifo, e ora ero bravo a farlo. Quindi immagino sia un termine relativo. Forse sarebbe meglio definirti "abbastanza bravo da fare Y" dove Y è un progetto particolare in quella lingua.


1

Quando puoi guardare il codice sorgente di qualcosa come boost (in c ++. O boost equivalente in un'altra lingua) e NON averne paura .


1

Quando inizi a immaginare come è stato scritto un software in quella lingua.


1

Sai che sei bravo quando ti piace quello che stai facendo (e non è solo un compito banale) .

Sai di essere cattivo (ancora) quando continui a imprecare a caso mentre scrivi il codice.


2
Sono tentato di -1 questo. Ho lavorato con sistemi messi così male insieme che quasi avrebbero potuto essere considerati non deterministici. Hai mai provato a costruire un'interfaccia utente in un linguaggio non deterministico? Ispira maledizioni.
cwallenpoole,

@Christopher bene, passo gran parte del mio tempo a maledire nuove cose, ma gradualmente mi ci abituo o codice qualcosa per aiutarmi. Se odi quello che stai facendo, forse puoi programmare la tua via d'uscita e sentire il ragazzo più intelligente nell'edificio, eh? :)
Camilo Martin,

0

Spesso non dico di essere bravo con X, ma piuttosto che sono uno studente veloce e non ho il potenziale per essere bravo con X.


0

Non sono sicuro di "buono", ma dico che "conosco" una lingua quando non è la mia conoscenza della lingua, ma piuttosto la mia comprensione del problema (o dominio del problema), che mi impedisce di implementare un software per risolverlo problema.


0

Penso che l'articolo che stavi cercando fosse Teach Yourself Programming in 10 anni di Peter Norvig, che si riferisce al richiedere circa 10.000 ore per diventare bravo in qualcosa. Inoltre l'ho visto apparire in altri posti come "The Element" di Ken Robinson e su un blog lifehacker che parla della riduzione del numero di hobby che hai.


0

Prenderò parte a questa domanda chiedendomi "quali sono alcuni criteri per valutare la mia competenza in un linguaggio di programmazione"

Ho trovato questa matrice molto utile al riguardo. La maggior parte delle voci riguarda in realtà l'essere un programmatore competente in generale, ma una volta che si scendono le intestazioni di Programmazione, Esperienza o Conoscenza, ne vedrai alcune che dipendono dal linguaggio utilizzato.

Naturalmente, come con qualsiasi divisione in qualche modo arbitraria in categorie, non è perfetto. Penso comunque che sia piuttosto utile. Può darti almeno un'idea di dove sei e dove dovresti andare.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.