Sto sviluppando per SharePoint 2007 (MOSS) da circa 4 anni circa con quasi tutto il tempo in codice personalizzato (non spellatura, non creazione di liste ma piuttosto scrittura di web part personalizzate, flussi di lavoro, modelli di elenchi con ricevitori di eventi , lavori con timer, ecc.) Non ho ancora avuto molte opportunità di lavorare con il 2010, ma da quello che ho visto, è più o meno lo stesso in termini di parti e pezzi da personalizzare, anche se il contenuto effettivo del codice può essere più complesso data la presenza di soluzioni sandbox, ecc.
In generale, questo è ciò di cui avevo bisogno per avere successo:
- Pazienza.
- tenacia.
- Comfort con strumenti riflettenti come Red Gate Reflector o ILSpy.
- Strong OOP [ricevitori di eventi e funzioni, lavori timer, flussi di lavoro, riflessione]
- strong sviluppo di Web Form ASP.NET [Web part, pagine ASPX personalizzate, ecc.]
- Buona conoscenza dell'XML [caratteristiche, tipi di contenuto, definizioni dei campi]
- Buono JavaScript [jQuery SPServices, Tipi di campi personalizzati, ecc.]
- Disponibilità a cercare e seguire le migliori pratiche
Lo sviluppo di SharePoint è, nel migliore dei casi, frustrante. La documentazione MSDN è spesso errata o fuorviante per quanto riguarda le strutture XML per la creazione di campi, tipi di contenuto, ecc. Io uso uno strumento di CodePlex chiamato WSP Builder che aiuta ma è esso stesso afflitto da cose che non sono corrette. Dall'esperienza ho imparato dove sono nascoste le mine e posso rapidamente girarle intorno ma guardo una nuova persona dopo che una nuova persona è esplosa. SharePoint non è un sistema molto facile da utilizzare e da scaricare in pochi giorni. Più sei a tuo agio con concetti come OOP leggendo il codice di altre persone più velocemente riuscirai a prenderlo ma è ancora una battaglia in salita.
D'altra parte, l'amministrazione di SharePoint è un po 'più semplice se non c'è bisogno di soluzioni complesse. Creazione di elenchi, impostazione di avvisi, utilizzo di shudder di SharePoint Designer per eseguire alcune modifiche al layout e all'aspetto delle pagine, attivando i flussi di lavoro di base: sono molto più semplici e possono essere raccolti da alcune classi. Ogni ambiente SharePoint ha bisogno di queste persone, non tutti gli ambienti vogliono sviluppatori come me. Mentre posso scrivere un codice più adatto a un bisogno interno, significa che ora c'è più codice che deve essere supportato dal personale piuttosto che dai prodotti COTS che hanno il loro supporto.
Parlare come una persona che intervista le proiezioni tecniche dei candidati, qualcuno con conoscenza di SharePoint ma nessun background di sviluppo o esperienza non passerà. È molto più importante avere le conoscenze e l'esperienza con i concetti di sviluppo rispetto a SharePoint in particolare. È possibile cogliere le peculiarità di SharePoint mentre si lavora con esso - non è possibile acquisire pratiche di sviluppo mature allo stesso modo. In breve, non vorrei lavorare con un'azienda che avrebbe sviluppato un sviluppatore non sviluppatore per SharePoint.