From your comments, it sounds like you are looking for something like this:
library(ggplot2)
ggplot(interviews_plotting, aes(x = respondent_wall_type, fill = village)) +
  geom_bar(position = position_dodge()) +
  geom_text(stat = 'count', 
            aes(y = stat(count)/2, label = village, group = village), 
            position = position_dodge(width = 1), angle = 90) +
  guides(fill = guide_none())

Or, if you want to get a bit more sophisticated with your label placement and theme choices:
library(ggplot2)
ggplot(interviews_plotting, aes(x = respondent_wall_type, fill = village)) +
  geom_bar(position = position_dodge(width = 0.9), width = 0.8) +
  geom_text(stat = 'count', size = 6,
            aes(y = ifelse(stat(count) > 2, stat(count)/2, stat(count)),
                label = village, group = village, 
                hjust = ifelse(stat(count) > 2, 0.5, -0.2)), 
            position = position_dodge(width = 0.9), angle = 90) +
  labs(x = 'Wall type', y = 'Count') +
  theme_minimal(base_size = 16) +
  scale_fill_brewer(palette = 'Set2', guide = 'none')

Data used
interviews_plotting <- read.csv(paste0("https://raw.githubusercontent.com/",
                                       "humburg/r-ggplot-project/master/",
                                       "data_output/interviews_plotting.csv"))