German nouns (including job titles) have a grammatical gender.
A programmer for example would either be "Programmierer" (male version) or "Programmiererin" (female version). It has been common usage to take the male form when you mean both genders, but in recent years, feminism and European gender equality guidelines implemented as German laws (not saying that's a bad thing) have made it mandatory to make clear you mean both genders. So there are a few options in German:
(m/w) is for "männlich/weiblich" which means "male/female"
Programmierer oder Programmiererin
Long form, just imagine that with a multi word title like director of operations or something
Abbreviation of long form.
Another possible abbreviation of long form.
For IT jobs, Germany tends to use English names more often. Software Engineer for example. Now, appending something like (m/f) would be wrong, because Sotfware Engineer does not have a gender in English. However, once you use it in a German sentence, it will have to have a gender because that is how the German language works. Software Engineer for example will be male according to German grammar rules. Now to be safe, people append (m/w), or the English (m/f) to be consistent, because those 5 letters that can save you from a discrimination lawsuit.
Theoretically, there have been attempts to implement more fairness for those that feel they are neither male nor female, but it has not caught on. Maybe because biologically, it's quite hard to be neither and for those that are, a German law based on a European guideline that regulates job title grammatical genders is not actually on their most pressing problems list.
Updating for the latest developments:
As of October 10th 2017 the highest German court ruled that another gender identifier than just male and/or female must be allowed and people must not discriminate based on that just as they are not allowed to discriminate against people identifying as male or female.
Although the ruling does not specifically concern job ads, companies have picked it up and are now advertising as (m/f/x) or (m/f/d) or it's longer version longer (m/f/divers).