views:

168

answers:

4

I consider myself to be a desktop application developer. My strengths are C/C++ (although I haven't used them in a while, so I'm a bit rusty), Java, and .NET (specifically C#, although I know a little VB and I'm learning F#). I'm familiar with SQL (using mostly MySQL and SQLite). I also know a little about HTML/CSS, Ruby on Rails, and I'm using PHP at work now.

How important is it that I become stronger in the skills needed for web development to remain marketable in the future? Especially as I see more and more things that I consider "desktop applications" moving toward the web.

Note that I don't think desktop apps are dead. But I do think that it will become more competitive and I don't want to be left in the dust by others who are much stronger web developers than I am.

+1  A: 

Given your current knowledge, I'd suggest you would benefit very little from learning about PHP, Python or Ruby and their associated web frameworks, unless you wish to move into website development. I'm in no way knocking these technologies, but they probably aren't for you.

There is likely to be a growth in Rich Internet Applications (RIAs) in the coming years though. As a desktop app developer, there'd be no harm in you learning about ASP.NET, Silverlight and/ or Flex. This would enable you to work in the web app field if it does take off in a big way.

David Arno
+2  A: 

With things like Silverlight (http://silverlight.net/) the worlds of desktop and web programming are converging. It sounds like you already know a bit about how web apps work. Just keep up to date reading about what technologies are out there.

I think if you can C++ and use the other languages you talk about, you've already got the skills to pick new things up and if you did want a web job, you've already got the required skills. You can pick up the details of a particular technology on the job, and read the relevant book in the evening of your first few weeks.

Scott Langham
A: 

it is absolutely critical to know how to develop web applications - half of the questions on SO are about web applications, so you're really slowing down your ability to earn rep by only knowing desktop apps

[yes this is a joke!]

Steven A. Lowe
That's one of my thoughts when composing this question. I know the underlying technology (C#, VB, Java) but I'm like "I don't know much about the web app concept, other than how to do a few simple things."
Thomas Owens
@[Thomas Owens]: learn what you need to earn, or for what you yearn.
Steven A. Lowe
A: 

Certainly you make yourself more marketable by knowing web development. It is getting harder and harder to get people to install software on their computers. Especially within companies where the desktops are locked down. Web applications are easier to deploy and get in front of users who are worried about security and spy ware getting on there computers.

I started out as a desktop developer and moved into the web. You will find that you are ahead of most people because you already have a deep knowledge of OOP, COM, Windows Services, how operating systems work, etc. These things still apply to web development on the server side.

And is sounds like you are doing the right thing by learning ASP.NET and Java. I am .Net developer and it didn't take me to long to get up to speed on the web side of things. .Net leverages server side code so you can leverage many of you skills that you already have. Just read a book or two on ASP.NET to understand the nuances with web development.

Ron Todosichuk