Microsoft-ontwikkelaars kunnen kiezen uit zoveel verschillende platformen en talen dat ontwikkelaars door de bomen het bos niet meer zien. Ze kunnen geen specialist zijn in alles. Daarom moeten ze kiezen of ze generalist of specialist willen worden.
Een Microsoft-ontwikkelaar heeft zoveel verschillende opties dat hij niet meer weet waar hij zich op moet focussen. Dat bleek tijdens de DevDays 2008, de gebruikersdagen voor Microsoft-ontwikkelaars. "Er is een explosie aan nieuwe techniek", merkt Maarten Legtenberg, architect bij Seven stars.
Microsoft probeert met de komst van het Silverlight platform weer een nieuwe groep ontwikkelaars aan te spreken. Maar ondertussen zijn er ook nog een hoop andere platformen en talen. Ontwikkelaar Philip Partridge werkzaam bij TimeGrip kan het allemaal niet meer bijhouden. "Je vraagt je af of je met je keuze een gat voor jezelf aan het graven bent." Hij denkt dat het voor ontwikkelaars bij een groot bedrijf makkelijker is omdat ze zich met veel verschillende dingen bezig kunnen houden. Bij een kleiner bedrijf moet je vaak kiezen tussen het één of het ander.
Legtenberg denkt dat ontwikkelaars moeten gaan kiezen of ze zich willen gaan specialiseren of dat ze generalist worden. "Het is zoveel. Je kunt niet van alles wat weten en nog specialist zijn. Een ontwikkelaar moet niet allebei willen."
Dit is toch bekend, en niet puur Microsoft gerelateerd? Een ontwikkelaar kan kiezen uit Mainframe, midrange en PC’s (meer opties mogelijk natuurlijk), kiezen voor Cobol, pascal, python, Java, C, C , ….. wat is hier nieuw aan?
Een ontwikkelaar moet inderdaad kiezen of hij/zij zich richt op een omgeving en taal, of kiest voor een minder platformgebonden taal en/of meerdere platforms. Generalist of specialist, dit speelt al jaren in de automatiseringswereld.
Correct me if i’m wrong maar…
– Wanneer je voor SAP kiest kies je voor 1 of meerdere modules waarin je programmeerd in ABAB (maar meestal doe je of of)
– Wanneer je kiest voor JAVA heb je alweer iets meer keuzes
– Wanneer je kiest voor Oracle kies je (op enig moment) voor ADF (en dus JAVA) of voor Oracle Apps
– Wanneer je kiest voor Microsoft kies je voor:
Windevelopment
ASP.Net
in c# of vb.net
daarnaast wordt er eigenlijk verwacht dat je kennis hebt van de laatste .net versie en visual studio en dus ook van :
WCF
WPF
WWF
en van LINQ.
Trouwens, kennis van SQL Server 2005 en 2008 is ook wel handig. Laten we trouwens niet vergeten dat Sharepoint (WSS en MOSS) ook heel erg belangrijk aan het worden is…en er wordt niet alleen verwacht dat je weet wanneer je wat moet toepassen er wordt ook verwacht dat je exact weet hoe je het technisch moet implementeren.
Bijblijven is al een prestatie op zich.
@grover
Bevestig je daarmee mijn uitspraak en is er altijd al sprake geweest van een “gedwongen” keus tussen specialist of generalist of juist niet?
Ja Grovert, wat bedoel je nou precies..??
Mijn opmerkingen waren vooral gericht op de technologie�n. Als ontwikkelaar kun je niet meer je verdiepen in alle MS-technologie�n. Je kunt niet alles weten van C#, CRM, SQL2005, BizTalk, SharePoint, Silverlight, WF, WCF, etc. Je moet als ‘gewone’ ontwikkelaar je steeds meer specialiseren in een product/technologie.
Natuurlijk moet je wel op de hoogte blijven van de breedte van de producten, maar diepgaande kennis van alles, dat gaat niet meer.
Ik denk dat ik Grover wel begrijp: de MS-producten hangen zo nauw met elkaar samen dat je van steeds meer MS producten verstand moet hebben om een simpel systeempje te kunnen bouwen. “Eenvoud is voor mietjes”, lijken ze te denken in Redmond.
Specialiseren lukt eigenlijk alleen nog maar als je samen met heel veel verschillende specialisten langdurig kunt samenwerken binnen een project. En bij het volgende project kun je weer van voren af aan beginnen, want dan lig je alweer 3 versies achter op MS.
De praktijk is dat de doorsnee MS-developer van de belangrijkste MS producten voldoende kennis probeert te verzamelen om met een beetje succes een systeem bijelkaar te kunnen googelen.
Ik zou me dolgraag specialiseren, maar de praktijk is dat je van het ene naar het andere project zwerft en dat de opdrachtgever er geen begrip voor heeft dat je voortdurend tegen zaken aanloopt waar je geen specialist in bent.
Ik zie het probleem niet echt. De keuzes zijn vrij makkelijk te maken:
– Silverlight voor RIA
– ASP.NET Ajax voor Web
– WinForms voor Windows
– WPF voor Rich Windows
– Sharepoint voor portals
– WCF voor communicatie binnen applicaties (Extensie op bovenstaande)
– WF voor workflow binnen applicaties (Extensie op bovenstaande)
etc.. Het heeft allemaal een eigen doel (Frapant dat mensen WF, WCF en Silverlight/ASP.NET op 1 lijn zetten, met de eerste 2 kun je niet eens op zichzelf staande applicaties bouwen). Je kunt er wel enige overlap in hebben, maar ze hebben echt allemaal een eigen doel. En je hoeft echt niet van alles wat te weten, dat is in geen enkel IT vakgebied het geval. Je moet weten wat het is, vervolgens zorgt het internet en overige documentatie voor de rest.
Ik ben het dan ook met bovenstaande reacties volledig oneens. Je kunt je wel degelijk specialiseren en je hoeft niet alles te weten. De DevDays zijn dan ook niet interessant om diepgaande kennis op te doen, maar om informatie te vergaren over in welke situaties je de technieken kan gebruiken.
Je moet weten wanneer je iets dient te/kunt gebruiken en dat is voor veel mensen het echte probleem! Die willen namelijk alles weten en kunnen en daar is de IT tegenwoordig uberhaubt te complex voor.
Los van de inhoudelijke keuze is het bij ICT dienstverleners natuurlijk ook zo dat je moet letten op je marktwaarde: wat is een klant bereid te betalen voor je diensten? De manier waarop onze sector in het verleden consultants trainden (breed en ondiep) is niet meer voldoende om een goed tarief te verdienen. Onze markt is van een vraagmarkt een een aanbodmarkt geworden. Er wordt woest op prijs geconcureerd in de generieke functies. Ik ben er inmiddels van overtuig dat indien je toegevoegde waarde wilt hebben voor de klant specialisatie een must is. En hoe sneller hoe beter. Pas als je je wenstarief waarmaakt, kun je nadenken over verbreding (dus: nog een specialisme erbij 😉
Waarin zou je dan moeten specialiseren?
Nou, ik adviseer mijn Microsoft collega’s vaak om zich te specialiseren op integratie met SharePoint en BizTalk. Dit zijn expertisegebieden waar je relatief snel een goed tarief in de markt kunt vragen en waarmee je carriere lekker snel op gang kan komen en (heel belangrijk) lang door kan gaan. Gezien de moeite die Mirosoft doet om onze klanten van deze strategie te doordingen is het ook nog eens een ‘save bet’ 🙂
Volgens mij gaat het allemaal om conceptueel denken en analytisch denkvermogen. Methoden, technieken en tools zijn zo te leren. Het gaat er niet om of je de diepte of breedte in gaat, maar het gaat erom wat je met je kennis/kunde wilt doen als ontwikkelaar. Een wil graag in de techniek blijven, laat hem specialist worden of een architect. De ander wil uiteindelijk techniek loslaten en zich meer richten op Business en processen. Hij/zij kan dan zich lekker volgooien met allerlei technische kennis zodat hij/zij deze kan gebruiken in vervolg carri?re. Er is zeker een wildgroei in automatisering. Daar kan je niets aan doen zolang er markt voor is. In plaats van klagen dat er te veel keuzes zijn, kunnen wij blij zijn dat wij mogen en kunnen kiezen.