The social context of software design sounds like some pretentious and esoteric concept, but it is far from it. As software developers, we are responsible for every aspect of the design process and should be aware of the impact of our decisions.
First, developers need to consider ergonomics. Ergonomics is the study of the working environment and how we work in it Therefore there aer two considerations - the Office layout, which this presentation does not consider, and software layout, which it does.
A quick aside here for what BAD ergonomic design looks like. This video is part of a series of videos I made to teach the basics of MS Access. One of the tools I like to use to help navigation is the Switcboard manager, but by default, it is mostly disabled. To properly enable it, it is a good idea to turn on trusted locations in Access.
This videos show how to do that task. Note the number of mouse clicks required, how the mouse moves all over the screen and there is no consistent workflow. It is a good example of bad ergonomic design.
Inclusivity is a concept where developers try to make their applications accessible and available to everyone, regardless of:
Gender
Cultural or socioeconomic background
Belief systems
Disability status
The presetation and videos below go in to more detail
For software developers, considering the ergonomics within their workspace is necessary when working for long periods of time. The principle of ergonomics within your workspace depends on many facets including your sitting position and monitor position. Where the user must have their backs at a 90-degree angle, the keyboard placed perpendicular to your forearm and your elbows and knees at a 90-degree angle. Furthermore, the monitor should be placed at around arm's length of the user's face with a 10-15 degree angle from the eyes. Finally, the feet should be firmly placed on the floor either on a footrest on flat on the floor.
Ergonomics also take into consideration the software's usability and user-friendly design where an ergonomically designed software application allows the end-user to be able to quickly navigate through different sections without going through multiple menus, have compact and concise button placement that makes it non-intrusive for the user to operate. Typically when using a software application, ergonomic designs usually tend to make the end-user have a better experience with the software and is one of the main reasons and end-user would use your software application instead of someone else's that has an ergonomically poorer software application.
It is increasingly paramount for Software Developers to ensure that they are inclusive to all demographics, and do not exclude anyone based upon their; cultural background, economical status, gender, disability, race, etc.
This factors into both a Software Developer's workforce and their products, as the hiring process for a job as a Software Developer, should be purely skill-based. An individual should be hired because of the fact that their skill or compatibility with the job required is increased in comparison with their competition, not because they are of a specific demographic.
Software Designers also should take these factors into consideration when developing a product, being careful to ensure that they are not discriminating against or appropriating any demographics. Another factor that should be considered is representation in media-based projects, as it is wise to include a diverse cast of characters to apply to as wide of a demographic as possible.