1. Опытный программист всегда лучше. Тут вам нужно взвесить готовность тратить свое время против готовности тратить свои деньги. Иногда заказать готовое выходит дешевле.
Первым делом вам нужно поставить перед собой задачу и решить ее на языке программирования.
Лучше брать простой и очевидный язык (например, PHP, причем без "Web-морды", то есть консольный).
Ставьте простейшие задачи, например, постройка дерева. у вас есть MSSQL таблица
<УникальныйНомерЗаписи><НомерЗаписиРодителя><Именование>
Где НомерЗаписиРодителя если 0, то значит пункт является корневым
Составьте из этого списка дерево, отобразите его в виде дерева (чтобы была понятна вложенность), сделайте веб-морду, сделайте красиво, чтобы разворачивалось по клику мышки (js), добавьте возможность добавлять и удалять пункты (и целые деревья), добавьте возможность одной записи иметь несколько родителей, добавьте поиск, забудьте про поиск и сделайте поиск на нормальном движке (например, Sphinx)
Постепенно вы будете составлять алгоритмы и искать в интернете методы реализации их (как что-то вывести на экран, как получить данные из MSSQL, какие возможности есть у JQuery, как мне использовать это, как то, и т.д.)
Ну и "самглавное", по началу привязывайтесь к тому, с чем планируете работать. Если вы хотите Web-Разработку, то не стоит начинать с не-web-ориентированных языков. Даже с "не-только-web-ориентированных" тоже начинать не стоит (это я про всякие asp.net и вебморды на cgi\c#)