Na minha opinião não tem como haver uma resposta correta pois ela pode mudar de acordo com o local ou projeto que se está trabalhando. Vai aqui algum pontos na minha opinião.

  1. Comunicação: Imagino ser a principal habilidade que se deve ter, uma boa comunicação é imprescindível para entender oque se espera de você e para expressar oque você pretende fazer.
  2. Conhecimento Técnico: Muito importante tem uma grande gama de soluções em sua mente. Esse conhecimento vai lhe ajudar a buscar a melhor abordagem para cada situação.
  3. Relação interpessoal: Essa habilidade vai lhe ajudar a trabalhar em equipe e somar forças para que possa ser atingido o objetivo final.
  4. Não ter Ego: Parece não set importante mas programadores costumam ter um ego ou preciosismo com o codigo próprio. Quando se está trabalhando em um time é preciso ter maturidade para entender o projeto não é seu.