In riferimento allo sviluppo e all'avvio di .NET [chiuso]

4

Non pubblicare una domanda di per sé, ma sono uno "sviluppatore .NET". Ho letto il seguente articolo sull'opinione del CEO di una startup sull'assunzione di sviluppatori esperti .NET. Ha alcuni commenti sul blog ma non molto di un formato di discussione come ciò che è possibile qui. Anche io non so nulla di quest'uomo, o sto promuovendo il suo blog in alcun modo, ma l'articolo mi ha buttato fuori alcuni, e mi piacerebbe sentire un feedback dagli sviluppatori.

Personalmente, vedo il suo punto perché è molto facile per alcune persone creare un sito Web ASP.NET di base o qualche altra soluzione automatizzata senza molta conoscenza di qualcosa oltre a questo, e quindi non li renderebbe buoni programmatori. Ma penso anche che in gran parte ignori la realtà che mentre molti pezzi del framework sono stati automatizzati e funzionano bene, puoi trovare delle soluzioni molto avanzate se hai davvero il know-how e la spinta per esplorare tutte le funzionalità di il quadro. Molti dei loro strumenti automatizzati sono "black box", ma non ho mai avuto un problema in cui se avessi avuto bisogno di ottenere più "basso livello" o estendere alcune classi base per darmi ciò di cui avevo veramente bisogno in un modo che non era già disponibile.

Quali sono le tue opinioni a favore o contro?

CEO Friday: Perché non lo facciamo assumere programmatori .NET

    
posta jaywon 27.03.2011 - 04:55
fonte

8 risposte

22

A parte le ovvie inesattezze nel post di quel CEO (.Net non è un linguaggio, è un runtime gestito, analogo alla JVM), ovviamente non ha passato molto tempo con .Net, e la sua conoscenza di esso sembra limitata a cosa avresti trovato in una pubblicità per Visual Studio circa 7 anni fa. È preciso quanto dire che PHP è la lingua migliore per creare un avvio web, dato che molti siti web lo usano. (Sì, per favore smettetelo, non voglio più ripulire da questo, vado a selezionare da solo le startup che scelgono PHP perché solo circa 1 su 50 negozi PHP hanno codice che vale la pena provare a mantenere).

Ho trascorso del tempo con quasi tutte le lingue e piattaforme mainstream, un discreto numero di no-così-mainstream e mi sono tagliato i denti sulla programmazione in linguaggio Basic, Logo e Assembly su un TI-99 / 4A e il Commodore 64/128. La ragione per cui l'ho fatto è che mi piace imparare queste cose.

L'unico punto valido e utile che il CEO fa nella sua sfuriata è che gli sviluppatori amano svilupparsi. Ho scelto di imparare .Net in parte perché ho lavorato per Microsoft alla fine degli anni '90, ma anche perché ne ho visto un valore e ho pensato che potesse migliorare la mia produttività. Ora è un ecosistema molto migliore rispetto a quando era ampiamente percepito come una tiepida risposta a Java; C # e F # sono molto più espressivi e produttivi delle lingue che Java sembra sperare di essere, e framework come Asp.Net MVC compensano la maggior parte delle frustrazioni che ho avuto con le forme VB di vecchia scuola ispirate alla funzionalità WebForm di Asp. Rete.

Ci sono alcuni problemi culturali che ho incontrato nel mondo .Net; un certo numero di sviluppatori Microsoft-stack di vecchia data erano relativamente lenti a scaldarsi con gli ORM, l'integrazione delle dipendenze, TDD, accoppiamento lento e tecniche simili, anche se gli sviluppatori Java longevi e sintatticamente frustrati avevano presunto che queste cose fossero solo ciò che fai (TM ). Ma ho incontrato il codice crap in ogni possibile stack tecnologico.

Dato il mio druthers, sceglierei sicuramente un negozio di Rails su un negozio di Asp.Net Webforms, ma è praticamente un lavaggio se dovessi scegliere tra Rails e Asp.Net MVC e FluentNhibernate e tutti gli strumenti che il denaro può acquistare. D'altra parte, non sceglierò mai più di lavorare in un negozio che decide di costruire la loro architettura in Perl o in PHP, a meno che il Perl non sia scritto da Brian D Foy, o almeno gli sviluppatori avevano il buon senso di costruire il loro PHP app in un quadro MVC decente, e tutto il resto della compagnia mi strofina nel modo giusto. (Full disclosure: Io sono, infatti, lavorando per una società che ha costruito la loro architettura in Perl e PHP. Ugh, ma stiamo cercando di sistemarlo.). La vita è breve; Voglio programmare qualcosa che mi rallegri.

Ma, soprattutto, non andrei mai a lavorare per un CEO che pensa che, poiché hai imparato qualcosa, sei meno prezioso di qualcuno che non lo ha imparato.

    
risposta data 27.03.2011 - 06:14
fonte
13

Le generalizzazioni radicali non sono mai utili o interessanti.

L'articolo è una perdita di tempo, perché l'autore non riesce a fare una sola affermazione specifica e falsificabile sullo sviluppo del software.

.NET is teaching the wrong things for startups.

Che cosa significa?

Every day spent learning a Microsoft kitchen takes TWO days to unlearn.

Cosa! Perché?

Se l'autore voleva essere rigoroso e convincente, avrebbe dovuto abbandonare l'uso pesante dell'analogia con gli scoiattoli e parlare di sviluppo del software.

    
risposta data 27.03.2011 - 05:22
fonte
2

Puoi creare app solide su una tonnellata di piattaforme diverse. Hanno varie caratteristiche e trade-off associati, ma ricorda che le soluzioni "gratuite" sono solo "gratuite" in quanto probabilmente non ti preoccuperai di acquistare supporto (come fanno alcune grandi aziende) per loro e dipende da una versione matura che funziona o ha già sviluppatori che sanno come funziona e / o possono risolvere i problemi con uno sforzo relativamente piccolo.

SE ottieni più produttività o scalabilità da un'offerta commerciale rispetto al denaro risparmiato nel costruire il prodotto, allora potrebbe essere utile pagare le tasse di licenza. Caso in questione: StackExchange esegue lo stack Microsoft. Dai post del blog sembra la loro architettura è molto efficiente dal punto di vista dell'hardware quindi ciò contribuirebbe a mitigare il costo delle licenze.

La chiave è un'architettura solida molto più della particolare scelta della piattaforma. Detto questo, alcune piattaforme ti aiutano più di altri nel fare le cose difficili.

    
risposta data 27.03.2011 - 05:49
fonte
2

Riesco a vedere il suo punto, ma direi che ogni lingua, paradigma, metodologia, ecc. ha sviluppatori di tutte le gamme che li utilizzano. Non so esattamente come stia definendo la startup, ma suppongo che si riferisca a una nuova società sostenuta da venture capital che sta cercando di crescere alla grande il più velocemente possibile. Se questa è davvero la definizione, allora vorrei discutere uno dei suoi punti principali (pochissime "startup" con Windows Server) con questo:

Lo stack tecnologico Microsoft è costoso . Molto costoso se si considera che l'alternativa principale può essere fornita gratuitamente. Potrebbe non influenzare le decisioni per alcune startup?

Sono d'accordo sul fatto che .Net abbassa il prezzo di ammissione per gli sviluppatori, e di conseguenza avremo molti programmatori .Net che non avanzano molto oltre le basi. L'argomento secondo il quale "non puoi" fare un patty da 1,7 once è abbastanza ridicolo; esperti programmatori .Net possono certamente fare quel patty da 1,7 once quando necessario, e potrebbero discutibilmente trarre beneficio dall'aumento della produttività di quei polpettoni da 1,6 once quando 1,6 polpette sono tutto ciò che è necessario per il problema in questione.

La linea di fondo è che troverai sviluppatori estremamente talentuosi in qualsiasi lingua.

    
risposta data 27.03.2011 - 05:35
fonte
1

Come altri hanno detto che il ragazzo che scrive quel post sul blog è sia ignorante che disinformato, e probabilmente ha scritto un post provocatorio semplicemente per attirare l'attenzione.

IMO il problema è uno dei costi di licenza; costa praticamente niente oltre al prezzo di un nome di dominio e di hosting del server, e possibilmente un account di elaborazione CC per avviare un'azienda utilizzando la tecnologia open source. Con .NET hai costi di licenza molto costosi; anche con il programma Bizspark ottieni solo diritti di utilizzo per tre anni, e poi devi pagare il naso per continuare a usarlo - mentre tre anni sono un sacco di tempo per ottenere denaro se la tua startup ha qualche valore, è comunque un turnoff perché quei soldi possono essere usati per il marketing e altre cose che porteranno il tuo nome là fuori e faranno affari.

Parlo per esperienza come sono / ero nel processo di provare la mia mano ad una startup e ho dovuto scegliere tra open source e .NET (e il mio lavoro diurno è uno sviluppatore .NET). Alla fine ho scelto l'open source anche se sono un membro di Bizspark perché a lungo termine IMO il percorso open-source è più stabile, e di solito c'è una community molto più ampia e coinvolta.

    
risposta data 08.04.2011 - 21:49
fonte
0

Sembra che l'autore del blog stia cercando alcuni tipi di persone per unirsi al suo team (giovane, alla moda e con un Mac). Penso che un'alta percentuale di sviluppatori .NET provenga dal mondo aziendale o l'abbia imparato al college. Stanno cercando imprenditori nativi naturali, quindi se non avevi il più alto numero di limonate quando eri un bambino o hai lavorato a un progetto open source mentre salivi le Ande, non applicare.

Un altro commento sulla loro pagina di pubblicazione del lavoro è:

You can switch on a dime between C++, PHP, Bash, Cron, HTML, CSS, JavaScript, jQuery, Dwoo, SQL — not because you know them all, but because you're the sort of person who can just pick it up and figure it out.

Una sorta di buon punto, ma quando reclami di assumere il meglio, dovrebbero sapere le cose correnti e riprendere le novità (ho appena scoperto di aver acquistato un'azienda che utilizza Salesforce e potrei aver bisogno di fare qualche integrazione. ). Non può battere sulla formazione professionale, ma le start-up possono permetterselo?

    
risposta data 27.03.2011 - 18:06
fonte
0

Non sono un professionista (ho 17 anni) ma una frase ha attirato la mia attenzione:

It is full of amazing tools that automate absolutely everything.

Ho iniziato con C (da solo), poi ho imparato il montaggio (ancora da solo) e ora, a scuola, C #. Quello che ho notato è che C # (e .NET) ti permette di dimenticare così tante cose ed essere ancora in grado di fare cose fantastiche. È troppo facile Potrebbe essere ok per i bravi programmatori, ma quelli di livello più alto devono sapere cosa succede dietro le quinte. Ecco perché quel tipo non vuole programmatori .NET, potrebbero non sapere esattamente cosa stanno facendo, e questo non va bene per

hiring the best programmers in the world.

    
risposta data 27.03.2011 - 19:27
fonte
0

Ogni volta che ho lavorato su un progetto Windows, mi sono sempre chiesto come automatizzare tutte le cose che sono abituato ad automatizzare su Unix. Ad esempio, come automatizzo la creazione di un'area di lavoro di uno studio visivo quando un nuovo sviluppatore si unisce al team? (Lo so, Eclipse non è migliore).

In generale, ho visto sviluppatori Windows che eseguivano ripetutamente procedure multi-passo con alcune GUI, quando uno sviluppatore Unix avrebbe scritto uno script la seconda volta. Gli sviluppatori Unix creano costantemente piccoli strumenti, ma non ho visto gli sviluppatori di Windows fare lo stesso.

Sono passati diversi anni da quando ho sviluppato .NET, quindi forse le cose sono migliorate notevolmente. Eppure, penso che questo sia un fattore nella cattiva opinione di Mr. Barret degli sviluppatori che hanno lavorato solo nell'ambiente Microsoft.

    
risposta data 08.04.2011 - 21:15
fonte

Leggi altre domande sui tag