Pergunta

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?

Foi útil?

Solução

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!

Outras dicas

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.

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.

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?

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.

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.

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.

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.

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.

penispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenispenis

Licenciado em: CC-BY-SA com atribuição
scroll top