По результатам беглого прочтения этой темы складывается впечатление, что автор не совсем понимает, что же именно он хочет.
В ответ на: Почитав статьи в инете понял, что начальный уровень - это кодер.
Да нету такого разделения и в помине. Просто иногда "кодерами" именуют программистов, которые знают синтаксис языка и могут писать код как таковой. Но вот составить какой-то интересный алгоритм, придумать оптимальную классовую структуру, или же улучшить чужой код - всё это оказывается для них непосильной задачей, потому как они толком и не
понимают, что же происходит при работе их программы.
А так, иерархия весьма проста и понятна: программист-стажёр, программист-разработчик, ведущий разработчик, менеджер проекта... Ну или "junior developer, senior developer, team leader" - кому как удобнее. У кого на что фантазии хватает

Что же касается автора - то, на мой взгляд, программистом он и не стал бы. Прежде всего, необходим технический, то бишь "математический" склад ума - который есть далеко не у всех. Хотя и какая-то творческая жилка тоже должна присутствовать, ведь программист - это одна из немногих по-настоящему творческих профессий среди технических. Есть ли всё это у автора? По его сообщениячм, такое впечатление не складывается.
При всём этом, большинство программистов - это самоучки. Во многом это происходит оттого, что в большинстве наших ВУЗ'ов максимум того, что дают будущим "программистам" - это умение расставлять кнопочки в Делфи, вызывать для них события, ну и прописывать какой-то код внутрь их обработчиков (таская полученный результат в глобальных переменных, ага). И обучившийся этому человек реально думает, что умеет программировать! И когда он приходит к потенциальному работодателю - то выясняется, что нужно-то
совсем другое. Лично я, к счастью, соскочил с этого "пути" ещё на младших курсах.
И уж что совсем неправильно - это начинать обучение на C#. Шарп - безусловно, очень приятная штука: хорошая IDE, лёгкое визуальное проектирование (по сути, мышкой), сборщик мусора... Беда в том, что если обучаться "с нуля", используя эти вещи - то такой "кодер" не будет понимать, как же реализуется работа его программы как таковая. Что все "кнопочки" - это потомки какого-то изначального класса, а реакции на действия с ними - это WinAPI-хуки. Что любая переменная занимает какой-то участок памяти, что умение работать с указателями - это едва ли не важнейший из навыков программиста...
Если уж кто-то реально захочет в возрасте 20-25 лет стать программером "с нуля" - пусть начинает с какого-то простого языка, лучше всего - Паскаля (недаром его в школах учат). Хотя слово "простого" тут неудачное, правильней будет слово "понятного". А потом пусть переходит на чистый С. Научится управлять указателями, работать с потоками в консольках, узнает про ввод/вывод... Ну а уже потом - структуры, классы, шаблоны, STL и прочие бусты
