Today I went to silverlight code camp DC. It was a wonderful overview to this technology that is totally new to me.
On my way back, I started thinking about all the new technologies coming out. Just think of all the releases/betas/previews/etc. available: silverlight 1.1, SQL server 2008, WPF, LINQ, powershell, F#, etc.
I started to think that things are moving very fast in different directions that it is become increasingly hard to stay on top of all the new technologies.
I think that in a few years, Software development will have specializations. We already have now: Database administrators vs. Graphics designers vs. software developers. I think that in a few years: saying “I am a software developer” will be just like saying “I am a physician”. Just like in medicine, since the sheer magnitude knowledge have exploded, We have physician specializing in very detailed cases. Just a quick look at the different branches of medicine today will give you an idea ( here)
Reading about scientists up to may the 18th century, it was normal to read that someone was a poet/chemist/physician/mathematician/inventor/etc. Today, It is hard enough to keep up to date with all the advances in just one specific branch of each of the sciences mentioned.
I think software development is going in this direction. It may be just a few years away that we start seeing jobs with titles like ( Software Unit test engineer – Mock specialist) , (.NET Business components developer ), (Data Access developer/MS-SQL), (UI developer – Animation specialist) or (software developer specializing in File system access). Just like we find lawyers specializing in labor laws, civil rights, or even just in first amendment cases.
I know this may sound odd now, but I really think that with the speed things are moving, this will be case. I don’t see why Software development as a profession, as it evolves will be any different than medicine, Pharmaceuticals, engineering, journalism, etc.
I also think this will considerably affect development methodologies. For people working in “behind the scenes stuff” like data access or business rules, estimation could be easier as work is more predicatble. Whereas for people working in UI or animation or graphics, they have to adapt a wayt to respond to constant feedback from customer.
All I can say is, hopefully I don’t have to go back and do a PhD in F# to get a job in the field though.
Whenever I think of how fast new technologies are coming up these days I get scared, I feel that one day I will fail to catch up with all these new technologies, farmeworks, foundations and applications and will end up working as a secretary.
I totally agree with you that Software specializations will get narrower and narrower, in the near future I guess I will find a job ad that says “Senior Data Acess Layer specialist required” or “WCF Services consultant is needed urgently”.
To kwiksand,
I think that is a good point also. Since specialization is going so detailed, it seems that that implicitly means the skill level needed will rise sharply. It may no longer be acceptable to “just read a couple of articles to get started”.
Yeah I do agree, software is getting more and more specialized. I personally see it in the game industry. If you look at the job titles wanted, you will be shocked. Things like Senior Effects Programmer, Audio programmer, Game play programmer, Game engine programmer. They might not be asking for different technologies as Emad stated above, but they are asking for specialized professionals in one field ie. Game Development.
It is scary, but it really depends what type of work you do. If you develop systems then you are fixed in one or 2 technologies and languages and there is no way to change from them. But if you develop application and solutions, then one needs to be updated with new technologies or else we will be obsolete. But think about it, its those system programmers who are doing the new technologies so better to work back there. Its more like tom and jerry running around I think. Aside that its more of a competition really since Adobe has the Flash, then Microsoft needs to have something as well and so on.
Its all cooperate discussions I think that affect only us programmers.
Do you simply mean that the future of SE wil getting darker? LOL, damnit! I just decided to take my foundation of Computing tomorrow.
Anyone can help me in this? I want to be a software engineer. But do this software engineer brings a bright future for me?
I personally think that SE might get a great job with great payment in the next decades. Since the world now is requiring CIT.
Anyway, I’m Joshua(bigfreeze_11@hotmail.com), 17. 😛
God Bless Me
Joshua,
I am not saying it is getting darker. It is just getting more specialized.
No longer you will be required to know everything about everything in SE. you just need to focus:)