Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

A question that I have been asking myself and really confused which path to take. So I need your guys help as to the pros and cons of these 2 professions in today's world. I love web applications development as the Web is the best thing to happen in this age and nearly everyone gets by on the World Wide Web. And also tend to keep learning about new technologies and about web services.

On the other hand I like software engineering also for the desktop applications as I have had experience with development small scale softwares in VB.Net, Java, C++, etc.

Which path has more scope and better future? Whats your view?

share|improve this question

closed as not constructive by ChrisF Sep 21 '12 at 23:21

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

How exactly are those two professions? o_O – dr Hannibal Lecter Nov 15 '10 at 8:12
I'm facing the exact same decision... but web development keeps sucking me in because it's so easy to get contracts, even without looking. – mpen Nov 15 '10 at 18:40
I didn't know there was a difference between software engineer and Web Developer. The things you learn. :) – Tony Dec 29 '10 at 14:40
I think you mean 'software developer' – Ross Dec 29 '10 at 14:45
up vote 24 down vote accepted

Strictly speaking, software engineering is about designing software systems correctly - regardless of what platform (web, desktop, mobile, etc) they live on - how various subsystems of the solution interact with each other and external systems, etc.

I'd suggest getting some experience with desktop and enterprise applications, like web applications - they can be done just as badly for the novice and just as well for the expert. Being able to tell a prospective employer that you've got more extensive experience than 90% of the 'popularist' web dev crowd always helps!

share|improve this answer
+1 I also recommend plenty of exposure to systems programming. You don't need to be able to write a kernel, but you need to understand how one works. I run into many web developers who have literally no comprehension of how the underlying OS actually manages memory and I/O. – Tim Post Nov 15 '10 at 9:07
I have done systems programming but not much in detail. Here employers don't need this knowledge and want to know only whether you are proficient enough in the programming languages that they need to hire you for. – Bat_Programmer Nov 15 '10 at 23:10
Exactly! Software Engineering is much more encompassing than just desktop development. It's the whole SDLC! – LWoodyiii Dec 3 '10 at 4:50
@Tim Post - I don't really agree.. whereas exposure always helps, it is not necessary to be a good web developer. That's the whole point of having layers of abstraction to work on. After all, its better to know something in great detail than to know a lot superficially. – Roopesh Shenoy Dec 3 '10 at 13:09

Stop separating the two - Web development is a subset of software engineering, like a specialization. And there's nothing wrong with having specializations.

Do you use good software engineering practices like using version control, writing specs, code refactoring, writing unit tests wherever necessary, having a formal test phase with proper testers, etc? If yes then congratulations, you are already a software engineer. If no, then these are the things you can apply even in web development and become much more productive/professional as a developer.

share|improve this answer
I 100% agree with you, but unfortunately, not everyone does. – Sobiaholic Feb 15 '15 at 11:32

The people that claim that one must know the mechanics of the underlying OS and that one can do both desktop and web are most likely desktop developers.

In reality you must specialize. Knowing css, a dozen of javascript libraries, html, a handful of serverside languages and frameworks as well as databases can take a really long time.

I think the reason so many developers here are saying this is because they really don't understand what it takes to build a good web-application and how different it is from the desktop world.

share|improve this answer
Agreed. Having a diverse skill set will help you get a job, but being a true specialized expert will help you get a bigger paycheck. Whether it's app or web dev, it will take years to become a true Senior level expert at either one. Being an expert in ones doesn't make you an expert in the other. – GoatBreeder Aug 29 '12 at 15:44

I'm assuming you mean application developer and web developer. Why not do both? I, for instance, work both web side and app side for an iPad development company. I do things like synchronization, IAP, etc. At a large company you will pretty much be stuck in your position, but if you take a job at a small company, offer to learn PHP and help out with the site once in a while. See which you prefer! No one can answer that for you :)

As for scope and future, neither is going anywhere any time soon. Web development will continue to grow into a more fluid, state filled environment, al la HTML 5, and applications will continue to grow more robust and fill more niches. The question is where would you be happy?

share|improve this answer
There are already mobile developers who are developing code for mobile phones and many other hand-held devices. I agree with Ginamin. Your core developing area can be either of them but keep the options open. – PradeepGB Nov 15 '10 at 17:29
I would love to do both but most companies here have separate departments and separate jobs for app developer and web developer. Thus we have to make a choice between the two. – Bat_Programmer Nov 15 '10 at 23:05

Well, I personally would say that you should go for the web Developing fruit which lets you up to a new world of innovation and your innovative ideas would reach the world wide sites.

With the broad inclusion of Javascript, Ajax, Flash, ActionScript and many other options make your bain to create truely specified standard Sites.

share|improve this answer

I think a steady long-term career arc might be specializing in custom enterprise internal applications for the web in C# and Java.

Not my preferred cup of coffee, but I think it'll be a great bill-paying job.

share|improve this answer
well im well versed with Java but there is not much future of Java in the area where Im living. They demand ASP.Net and PHP for web. – Bat_Programmer Nov 15 '10 at 23:04
@Deepesh: Then you learn ASP.NET/PHP and then consider where things will be in 5 years. Also consider other technology stacks. If you seek it, you can work towards being in management, where you can determine what tech will be employed for your company. – Paul Nathan Nov 15 '10 at 23:28

I imagine you should scan the job ads for a few weeks and see what comes up regularly. I find here the biggest languages are C# and Java. My geographical area has a strong mobile development culture because of RIM, so that's a strong element I consider as well. Further, I don't particularly love doing graphics design, whereas I love CSS, JavaScript and the various libraries, PHP, and ASP.

You don't mention too much about your existing knowledge and background. Build a well-rounded foundation, find a project, and get coding. Having coding experience and general knowledge of programming regardless of language specifics is useful.

share|improve this answer
Most of the jobs in my area involve php, css, html, javascript, and coldfusion in the field for web development. And for applications developer it's mostly c# and I know all of this languages but web development seems more appealing to me. – Bat_Programmer Nov 15 '10 at 22:58
There are still jobs in coldfusion? – q303 Dec 2 '10 at 7:13

My personal opinion is that the line between these will blur more over time if it hasn't already. Consider Adobe's Integrated Run-time that allows internet applications to run outside of the browser as an example here where the web skills of some developers can now be used to make desktop applications. This is ignoring a few other realms of development like mobile applications and embedded systems.

share|improve this answer
Thanks for giving me idea on this. I believe League of Legends was developed using Adobe AIR and it is prevalent through its great success. – Bat_Programmer Nov 15 '10 at 22:57

If you really like web development go for that, but as someone already said you will also know something about desktop programming, since the interface design and patterns are almost the same.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.