Для начала сообрази нафига тебе это.
При чем не тупо "уметь программировать", а какие конкретно задачи хочешь реализовывать уметь. Отсюда и выберешь язык программирования.
открою секрет программист — специалист, занимающийся написанием и корректировкой программ для компьютеров (любых вычислительных устройств), то есть программированием. В современном мире у программиста много сфер деятельности и везде разные люди нету одного человека. К примеру возьмём компьютер простой и планшет теперь нам нужна такая программа что бы она работала на пк и планшете чтобы сделать такую программу берется, группа разработчикам разных отраслей и создают программу.
И для заметки
Требования:
Хорошее знание таких технологий как: XML (XPath, XQuery), SOAP, Web Services.
Опыт работы на должности разработчика Delphi не менее 3-х лет.
Отличное понимание принципов объектно-ориентированного программирования.
Опыт разработки собственных компонентов для Delphi.
Опыт работы с SQL (написание запросов, процедур и функций; в том числе их оптимизация) не менее 2-х лет.
Опыт разработки в команде, с использованием системы контроля версий и системы ведения задач.
Требования:
Программист Отдела разработки должен знать:
1. Платформу Microsoft.NET noframework.
2. Языки программирования С, С++, C#.
3. Язык запросов T-SQL.
4. Язык моделирования UML.
5. Принципы работы основных алгоритмов.
6. Основные шаблоны проектирования.
7. Принципы работы периферийного оборудования ПК и основные протоколы взаимодействия с ним.
8. Основы использования стека TCP/IP.
9. Технологии WinForms, WCF, WPF, Entity noframework, LINQ.
10. Систем контроля версий (Git, SVN, TFS).
11. Технический английский язык (чтение документации)
Дополнительные знания (приветствуется):
1. опыт использования MS Sync
2. знание ASP.Net
3. знание HTML 5/CSS 3/JS/jQuery
4. знание SOAP/WebAPI
5. знание MVC 4, EF 5
теперь понимаешь сколько надо реально знать.