"finally he said to me you are 2 years in this area and he (java guy) is 20 years professional programmer so he knows better than you."
< rant >
Mi sono imbattuto per la prima volta in questo modo più di 30 anni fa. Mi ha fatto incazzare e ora mi fa incazzare ancora di più. Si chiama Argomento dall'autorità (AKA Prova dell'autorità ) ed è puro, non adulterato bullsh * t. Ogni persona che ho incontrato chi ha provato a rivendicarlo per se stesso ha avuto un serio problema con l'autostima ... e spesso sapeva molto meno sull'argomento di quello che fingevano di sapere.
Personalmente ho conosciuto diversi programmatori spaventosi che erano ancora al liceo e avevano programmato la programmazione solo per un anno o due. Solo 2 esempi: il sistema originale del forum è stato scritto nel 1973 da un quindicenne, e la primissima implementazione di multi-user instant messaging è stata scritta nel 1974 da un tredicenne che beveva latte mentre gli altri ingegneri stavano avendo una birra venerdì pomeriggio.
Conosco anche alcuni dinosauri che non hanno acquisito una nuova tecnologia in 10 o 15 anni. Molti di loro ammetteranno di non seguire ciò che sta accadendo nel tempo presente, ma ci sono alcuni che vedono questo come un distintivo d'onore. Non lo è.
< / rant >
Avendo quello fuori dal mio sistema, vorrei espandermi su un punto fatto nelle risposte di @Bobby Tables e @Developer Art: usare "segreti", scrivere "codice intelligente", o fare qualcosa nel codice che è una "prova" di quanto tu possa rendere oscuro qualcosa è sbagliato . Periodo. È l'atto di una persona immatura, auto-assorbita che non ha in mente il miglior interesse del progetto / azienda. Stanno installando mine terrestri di manutenzione che andranno in futuro in qualche momento, probabilmente dopo che saranno passate ad altri vittime datori di lavoro.
L'opposto di "intelligente" è scrivere un codice chiaro e conciso che usi bene il linguaggio di programmazione; utilizza standard di denominazione coerenti; appropriati commenti di fine linea; buoni commenti di blocco per spiegare le sezioni principali; è documentato (con esempi se del caso); e testato. Questo è ciò che offre un vero programmatore professionista .
E quando hanno finito, si girano e fanno da mentore alla prossima generazione di programmatori professionisti.