StackOverflow = Programming (code, algorithms, languages, etc)
Programmers.SE = Programmers (people, techniques, etc)
Here's the relevant parts from the two FAQs (emhpasis added):
Stack Overflow is for professional and enthusiast programmers, people who write code because they love it. We feel the best Stack Overflow questions have a bit of source code in them, but if your question generally covers...
...then you're in the right place to ask your question!
- a specific programming problem
- a software algorithm
- software tools commonly used by programmers
- matters that are unique to the programming profession
Programmers - Stack Exchange is for expert programmers who are interested in subjective discussions on software development.
This can include topics such as:
Subjective does not mean "anything goes".
- Software engineering
- Developer testing
- Developer tools and techniques
- Practical algorithms and data structures
- Design patterns
- Development methodologies
- Quality assurance
- Software law
- Code golf & programming puzzles
- Freelancing and business concerns
Stack Overflow is typically for problems that involve code. So you'll have a piece of code that doesn't work. You've debugged the problem, searched the internet but still haven't worked out what's going wrong. You'll strip the problem down to the minimum amount of code and post that.
Software Engineering is for problems that affect programmers that don't involve code. This covers things like "How do I retrofit automated tests into legacy code?", "How do I go about designing a system to do X?".
However, I should point out that there is a grey area which includes questions like "Which algorithm should I use to do this?" and "Which language is most appropriate for this problem?". Though you should have a specific problem in mind when you post these.
What Software Engineering is not for is "What language should I learn next?", "What chair should I have?", "Should I take this particular job I've been offered?".