23
votes

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 software in VB.Net, Java, C++, etc.

Which path has more scope and better future? What's your view?

4
  • 3
    How exactly are those two professions? o_O Commented Nov 15, 2010 at 8:12
  • 2
    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
    Commented Nov 15, 2010 at 18:40
  • 1
    I didn't know there was a difference between software engineer and Web Developer. The things you learn. :)
    – Tony
    Commented Dec 29, 2010 at 14:40
  • 5
    I think you mean 'software developer'
    – Ross
    Commented Dec 29, 2010 at 14:45

10 Answers 10

24
votes

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!

4
  • 2
    +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.
    – user131
    Commented Nov 15, 2010 at 9:07
  • 1
    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. Commented Nov 15, 2010 at 23:10
  • 1
    Exactly! Software Engineering is much more encompassing than just desktop development. It's the whole SDLC!
    – LeWoody
    Commented Dec 3, 2010 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. Commented Dec 3, 2010 at 13:09
26
votes

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.

1
  • 1
    I 100% agree with you, but unfortunately, not everyone does.
    – Sobiaholic
    Commented Feb 15, 2015 at 11:32
4
votes

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.

1
  • 2
    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. Commented Aug 29, 2012 at 15:44
3
votes

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?

2
  • 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
    Commented Nov 15, 2010 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. Commented Nov 15, 2010 at 23:05
2
votes

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.

0
votes

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.

2
  • 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. Commented Nov 15, 2010 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. Commented Nov 15, 2010 at 23:28
0
votes

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.

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

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.

1
  • 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. Commented Nov 15, 2010 at 22:57
0
votes

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.

0
votes

penispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenis

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