Q:

Are programmers usually included as co-authors in psychology?

I work as a programmer supporting a psychology lab. 
Most of my work is translating some paper-based or physical assessment into a computer-based equivalent or I create programs for novel assessments along with associated databases and support programs for data retrieval and basic cleaning. 
Recently, a colleague included me as a co-author on a paper.
Are they are being overly nice or should I be a co-author on other papers?

A:

In general, only researchers are included as authors. In some cases, the person doing the programming makes a critical intellectual contribution and becomes a researcher. In Psychology, specialist help is often brought in for programming, statistics, modelling, animal care, data acquisition, drug administration, and subject treatment. These support staff are often just turning a "crank". The crank is not necessarily easy to turn and the project would not be completed without it being turned, but turning the crank is not research.
Support staff tend to be mentioned in the acknowledgements. Programmers tend to get the short end of the stick in that they get acknowledge only the first time the software is used while other support staff get mention on every paper they are involved with. Support staff only become authors if they do something novel (for example, develop novel testing software). In these cases, they would be an author on the paper (often a methods paper) describing that novel contribution.

A:

Summary:

Programming a task to a specification is one of many procedural tasks that typically does not lead to authorship in psychology.
Authorship is typically justified where the programming task involves a substantive intellectual contribution particularly in terms of both academic insight required and contributing to the design in a way that relates to the overall contribution of the resulting paper.
Programmers can try to negotiate authorship. This is often done by either amplifying the programmer's overall intellectual contribution or when the lead author requires the programmer's input for financial or other reasons.

More details
Putting aside the issue of what is reasonable, I can share some observations from my experience working in a psychology department for many years.
Professional staff with technical expertise in programming are often used on psychological projects. They might be used to program an experiment, set up a data collection tool (e.g., a survey), set up a website and so on.
Typically, programming a task does not give rise to authorship. The logic is that more procedural contributions are insufficient to justify authorship.
As a casual observation, I have noticed that some psychology researchers undervalue the creative contribution that is often required to effectively implement a programming task.
Support staff versus academic programmers: I also note that there is a difference between professional support staff and academics (students and faculty) that provide the same technical support. Support staff are typically not on an academic career track, typically do not have domain specific training in the substantive discipline of the paper, and are not assessed particularly on their publication output. In contrast if a technically minded collaborator programs an experimental task, they are more likely to be motivated by co-authorship, they will also more likely be able to contribute to other intellectual aspects of the paper (e.g., task design decisions; write-up; project conception; etc.). 
I also have seen cases where authorship is negotiated. In particular, where the lead author does not have money to pay the programmer or the programmer is particularly motivated by authorship, authorship can be offered as an incentive to be involved. As @strongbad implies in the comments, this can get into mirky ethical territory where the contribution clearly falls short of ethically recognised criteria for authorship. And as @strongbad notes in the comments, a more appropriate way to navigate this is to ensure that the programmer does make the requisite intellectual contribution (e.g., through contribution to design, write-up, etc.).  

A:

This is an old question, but I'll add a quick link and discussion of APA authorship standards.
The guidelines: http://www.apa.org/research/responsible/publication/
According to this:

Authorship credit should reflect the individual's contribution to the study. An author is considered anyone involved with initial research design, data collection and analysis, manuscript drafting, and final approval.

On the website, this is directly contrasted with: funding, mentorship, and not participating in the actual publication. The last one is tricky.
So, where does programming fall in? How I interpret the last exception above is: if you aren't using analysis that I ran/interpreted, my statistical tables, any graphics I made, or any of my writing (obviously), then I'm not contributing. From my perspective, though, if you use even one of those things in the manuscript/presentation, I have contributed to the manuscript in a tangible way, and should be included as an author. I feel obligated to mention (as this has happened) that, from my perspective, if you take my code and change the color of the plot and include it, you're still presenting a product of someone else (and need to provide credit for that). Now, if I write code for a data collection procedure, that doesn't necessarily relate to a tangible contribution to the manuscript, and may or may not qualify for authorship (see below about creating a new data collection program for the project).
I believe the need to provide credit is the primary consideration. If you have a published software, you shouldn't be given authorship as credit for its use (as a citation to the software is sufficient). If you have a paper on a unique data collection method, you shouldn't be given authorship as credit for its use (again, citation). Now, if you designed a unique program/statistic/data collection method, you probably should be given authorship, as there isn't another appropriate way to provide credit for that contribution (an acknowledgement isn't enough for that level of contribution, in my opinion).
Overall, though, I believe the best way to approach this is through mutual agreement at the beginning of the project. This involves a clear definition of the scope of work and compensation for that work (even if the compensation is zero), and revisiting these agreements if the scope changes. Note that there is no exception about authorship for being paid or not, so if you are a paid consultant and are contributing you should still be listed as an author. If you agree to do X, Y, and Z for money but no authorship, fair enough. If you agree to do it for no money but authorship, also fair game. In my experience, such agreements help to keep things friendly in terms of mutual expectations moving forward: if the scope of work was completed, the agreed upon terms should be respected (that doesn't mean that's all you can do on the project, just that the terms should be met whether or not you chose to continue). Note that, as circumstances change, these SOWs are often updated, if only informally, to address the new condition (deadline got moved up, so we need that tangible a week earlier than expected).
Regarding your situation, it seems a bit unclear from your post. If you are typing questions into SurveyMonkey, you probably don't deserve authorship. If you have created an innovative data collection method/statistic/program specifically for this application (and haven't/aren't publishing it elsewhere), you probably do. Finally, if you are contributing tables/analyses/graphics/text to the final manuscript/presentation, I believe that you certainly deserve authorship credit for your work (as you will have contributed, tangibly, to the written product).

