Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

This question already has an answer here:

I am hoping to transition into the IT/development field and am expecting to start classes this summer. I come from a teaching background, but have also done freelance web development as a hobby for a few years and really enjoyed it. I'm having trouble deciding which of two schools to attend (one focuses on general web development technologies and the other focuses on high-level programming/software engineering principles). I think my biggest trouble is that I'm somewhat aware of what it's like to develop websites, but I've never experienced what it's like to engineer software for a professional organization. The S.E. program sounds more rigorous and very interesting, but I'm not entirely sure if Software Engineering would be a better fit for me.

I've heard that there are a lot of similarities between web development and software engineering (some people say they are the same thing), but I am curious as to whether there are any general fundamental differences in the day to day activities/experiences between the two fields.

For instance:

  • Do web developers have to generally balance many projects whereas software engineers generally focus on one bigger software application?
  • Do engineers generally spend more time meeting, researching and planning for projects than web developers need to?
  • Are there differences in the typical sizes of each department/team and the number of people you have to interact with?
  • Is there more flexibility/opportunity for growth in one position than the other?

These are just examples of questions that I have that may distinguish one position from the other. If anyone could help provide information to help me identify if either option is a better fit for me (or even if there is a difference at all), I'd greatly appreciate it.

share|improve this question

marked as duplicate by gnat, jk., Ozz, thorsten müller, maple_shaft Apr 16 '13 at 13:27

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

2  
We've discussed similar topics before. It boils down to college classes being very different, but assigned work tasks being largely the same, although people with different degrees often take different approaches. –  Karl Bielefeldt Apr 16 '13 at 12:26
    
@gnat - I completely understand your comment. The post you mentioned offers great information about the roles and responsibilities of the two positions. Unfortunately, I don't have any lived experiences in this field (besides freelancing) and that information is hard for me to relate to. I'm hoping to get more insight into what each position might "feel" like on a typical day to see if one may be particularly better for me. –  Mr. Busy Apr 16 '13 at 12:47
    
@JavaJeff You might benefit after starting school to job shadow somebody for a few days and get a feel for what its like. Ultimately though your experience and your career progression will vary greatly depending on where you work and what jobs you decide to take throughout your career. Getting the degree is absolutely the simplest step, it all gets a lot more complicated and hard to predict after you graduate though. –  maple_shaft Apr 16 '13 at 13:03

2 Answers 2

  • Do web developers have to generally balance many projects whereas software engineers generally focus on one bigger software application?

It varies a lot according to what sort of projects you're working on. Large projects require in-depth focus, but many software engineers work on very small projects.

  • Do engineers generally spend more time meeting, researching and planning for projects than web developers need to?

Senior developers (whether labelled as web developers or software engineers) spend a lot more time meeting, researching and planning than junior developers. One of the key features of being a senior developer is a much greater focus on understanding what the customers really want and need, and that totally means more time spent not coding.

If you want to spend your days doing nothing but write code, stay a junior (and have much less control over what you do too).

  • Are there differences in the typical sizes of each department/team and the number of people you have to interact with?

I'd be very surprised if there was.

Some projects are very heavily based around web delivery and that's where a web developer would be absolutely central. Others have little to no web component, and there's a spectrum between the two extremes. This is disjoint from project size though, and project size is correlated pretty strongly with the size of teams involved. (I'm sure you can think of large web-driven systems and large non-web systems; there are plenty of all sorts of small project too.)

  • Is there more flexibility/opportunity for growth in one position than the other?

There's lots of flexibility in both. I would advise not worrying about it.

share|improve this answer

As far as school courses are considered and individual jobs and how companies view these two terms, it is not answerable here. This is highly dependent on the differences between schools and locales, and as far as companies also highly dependent on locale.

In general though, Web Developers are software developers focused on the creation, maintenance, and deployment of websites, web apps, and other web based technologies.

Software engineering in general is a field focused on the application of computer science principles in the architecture, design, implementation, and process of software development for all types of software systems. This field pretty much overlaps web development.

Professionally however this definition varies greatly and they are nothing more than a title. I have seen brilliant people with a title of web developer who single handedly designed and built large distributed software systems, and I have seen banks that hire Senior Software Engineers to run build scripts and be a glorified business analyst.

•Is there more flexibility/opportunity for growth in one position than the other?

Not necessarily and this highly depends on where you are at in the world. Where I live, all types of software developers are in such high demand that education is mostly ignored and practical experience is all that matters. In Bangalore, the next Martin Fowler could be unemployed because he didn't go to the right school. In general though, a software engineer encompasses a wider range of software types thus should by default be more qualified for more positions at any given time.

The answers to the rest of your questions are, It Depends.

share|improve this answer
1  
+1 I agree. The differences are theoretically quite large, but in practice, there can be a lot of overlap and in some cases, they may be the same job. –  Brandon Apr 16 '13 at 13:03
    
Web developers and software developers, depending on the language, generally have the same principles. My job involves developing software and Web based technologies such as RESTful APIs and Web sites / browser based software. I apply the same amount of thought when doing either, applying design patterns and data structures where necessary, unit testing. I work with 'pure' Web developers and 'pure' software developers, and the fundamental programming knowledge starts off the same but I find with experience both individually find the gotchas of whichever environment the develop for. –  Base33 Sep 12 at 17:40
    
Just to add, the reason I say depending on the language, is because languages can vary in flexibility and some languages can be very difficult, if not impossible to implement specific design patterns if the language doesn't support the necessary features. So really, depending on the language depends on how paradigmatic you can be. I hope that sounds English enough haha. –  Base33 Sep 12 at 18:51

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