This is the current editable portion of the FAQ (feel free to use as a template for suggested improvements).
Programmers - Stack Exchange is for expert programmers who are interested in conceptual questions on software development.
This can include topics such as:
- Software engineering
- Developer testing
- Algorithm and data structure concepts
- Design patterns
- Development methodologies
- Quality assurance
- Software licensing
- Freelancing and business concerns
If your question is about programming tools, please ask on Stack Overflow instead.
While subjective questions are allowed, subjective does not mean “anything goes”. Please keep it professional at all times. If this is a question you'd be uncomfortable discussing with your colleagues in a work environment, it's probably not appropriate here, either.
All subjective questions are expected to be constructive. How do we define that? Constructive subjective questions …
- inspire answers that explain “why” and “how”.
- tend to have long, not short, answers.
- have a constructive, fair, and impartial tone.
- invite sharing experiences over opinions.
- insist that opinion be backed up with facts and references.
- are more than just mindless social fun.
Questions that do not meet enough of these six guidelines will be closed as "not constructive." Please see the Good Subjective, Bad Subjective blog post for more details and examples.
Can I ask career advice questions?
No, unless your question is specifically about software development and requires the unique insights of a programmer. Most career advice questions run the risk of being closed: try to make yours a good subjective question.
Please make sure your question has the proper scope. If your question can also be applied to other jobs then it's not really something that uniquely applies to software development.
Please also be aware that we will not delete your career advice question after you receive answers if you change your mind about having asked it. Think carefully before you post a question full of personal or otherwise sensitive information. If you don't want something to be publicly revealed, consider not posting it on Stack Exchange.
What about other programming related questions?
Please note that the following subjects are considered off-topic here:
- What language should I learn next? (Unless you have a specific requirement and don't know which language meets that requirement.)
- What salary/wage should I ask for/expect? (Too localized to your place and time)
- Which technology is better? (e.g Java/C#, Eclipse/Netbeans, iPhone/Android)
- Please critique my resumé. (Unless you have a specific question about a software development part of your resumé. Questions about resumé formatting and style are always off-topic.)
- What project should I choose for fun/college/course/thesis/practice? (Too localized, inviting a list of equally valid answers, and usually not meeting the guidelines for good subjective questions.)
For more discussion on these subject see the question where these topics were discussed on our Meta site.
Can I use comments to discuss the topic of a post?
Comments are useful for getting clarifications, but extended discussions detract from the question and its answers. If you'd like to discuss anything related to programming with other expert programmers, please use our chat room.