Comme d'autres ont répondu, vous n'avez pas besoin d'un diplôme pour écrire des logiciels. Cependant, je pense que vous avez besoin d'une expérience universitaire pour être un ingénieur logiciel. Un diplôme universitaire en informatique vous apprendra bien plus que la programmation et vous permettra, je l'espère, de mieux comprendre ce que signifie résoudre un problème du début à la fin, en utilisant la programmation informatique comme outil.
À moins que vous ne soyez extrêmement autodiscipliné, l'université est la voie à suivre pour acquérir ces compétences.
Si les dépenses, ou d'autres facteurs, vous empêchent d'obtenir un diplôme universitaire, il existe une troisième option. Des sites comme Coursera (et quelques autres) proposent des cours d'informatique de grandes universités gratuitement (ou pour une somme modique dans certains cas). Si vous avez assez de discipline pour y rester, vous pouvez obtenir l'éducation nécessaire à votre propre rythme.
Comme d'autres réponses l'ont dit cependant, l'expérience est la clé pour le marché du travail. Et un CV qui dit que vous avez reçu votre éducation de Coursera pourrait soulever quelques sourcils. Donc, assurez-vous de coupler tout diplôme d'ingénierie logicielle avec un travail pratique. Vous pouvez commencer par contribuer à des projets open source ou à de petits emplois en freelance, ou faire un stage dans une société de logiciels, etc. le moment venu.