@NCNecros Попробуйте Django. Запускаете сервер прямо из IDE. Разберетесь с основами. Попробуйте перенаследовать модели, представления под свои нужды, сделать их общими (Common) для админки и сайта. Потом можно попробовать написать свое приложение по загрузке фото и прикрутить его как модуль, использовать его и в админке и на сайте. Чуть-чуть поймете, как писать отдельные модули. Потом можете разобрать как внутри работает все. Mezzanie поковырять CMS. Сейчас Django очень хорошо востребован. На Java в основном пишут сложный Backend с очень нагруженной математикой, логикой. Имхо. Я вот сам сейчас с Django разбираюсь, сделать на нем простой сайт можно быстро и особо не вникая в особенности работы с БД.
@NCNecros Я не испытывал проблем с Java, когда первый раз написал приложение. Сразу как-то понятно все было. А вот с Python, не было удивлением, что все объекты. А вот как эти объекты в памяти хранятся и как работает в языке сборщик мусора - Доставило не мало проблем. И сейчас постоянно захожу в документацию, смотрю какие свойства у объектов, мета классы, куча способов наследования и прочее иногда взрывают мозг :)
@killla Мотивировал меня на долгие ответы :) Кстати по поводу модности, вот я Python модным не нахожу, очень тяжелый язык - если профессионально с ним работать. Модным назову ruby, так как из него вытекает стремление все переделать под рельсы (HTML, CSS, JS). Удивлен, что свой JSON они еще не изобрели.
@NCNecros Не правильно понял. Пиши код - ЭТО РЕАЛИЗАЦИЯ. Почитай книги по методологиям разработки ПО. Там столько всего, сколько не каждый программист в целом делает и знает. К примеру напиши морской бой на Python. Когда вам не понравиться реализация и работа игры, в помощь (Линейная алгебра, теория вероятности). Вернетесь на 20ый раз к проектированию. Напишите дельный морской бой. Я прошел этот этап и к прикладному применению линейную алгебру закрепил. AI захотите умный, придется machine learning и много прочего почитать... Захотите драйвер для Linux написать опять-же потребуется знание работы операционной системы, устройства. От проектирования до реализации много шагов...
@NCNecros Вы определитесь сколько времени хотите тратить на свое хобби. С ходу писать программы с большим количеством модулей, может только ярый программист. Я к примеру тоже подумал недавно, что я Python знаю, когда попробовал Django разобрать в исходниках, много нового узнал о ООП в Pythone. Потратив недели 2. После этого я смог преобразить стандартную админку на уровне CMS. (За счет опыта программирования разумеется). А новичок может не понять эту высоко-уровненную абстракцию вообще и забьет в итоге на все. Решите для себя какие у вас утверждения, хобби - удовольствие. Профессионализм - работа и сколько усилий вы можете потратить на достижение определенной цели.
Не советую вообще на oDesk идти, тогда проще грузчиком пойти реально. Представьте себе индуса работающего за 3.5$ в час, который пишет C++ на уровне специалиста microsoft. Захотите вы с ним мериться? Если для вас деньги не вопрос, дерзайте.
Главный совет, запомните каждый программист по своему мыслит. (от образования, от опыта, от прикладной сферы). Слушайте себя, запомните первая программа - всегда гамно. 1000-я программа - в первой реализации почти гамно. Естественно, что реализация тысячной программы опытного программиста для вас будет магический лес.
P.S.: На своем личном опыте скажу так, я программирую 3 года. Чем больше я понимаю, тем больше утверждаюсь в том, что не *** не понимаю. Залез в IT в 2008ом. Сейчас бы рад вылезти, но заработал и опыт работы и представление и зарплату не Junior уровня. Но поднадоело, романтику ушла, анализирую кучу новой информации постоянно, сложность и простата кода в тоже время растет. Уйти из сферы не могу, не позволяет гордыня пойти грузчиком работать или дворником (утрирую конечно, но понимаю, что если пойду по образованию работать - мне придется 3-4 года въезжать в специфику, только после этого я достигну сегодняшней зарплаты, но в другой специфике).
А что есть искра программиста? Увлеченно кодить - для хорошего специалиста обычно 20% времени. Надо спроектировать набор действий, классы, алгоритмы, дизайн архитектуры, бд. Только после этого писать реализацию, а если по умному - то писать ее в базовом COMMON виде, после делать рефакторинг. А вот кодить как раз - это не показатель, что код у вас будет хороший. Отсутствует логика у вас в утверждении "Грузчик может стать профессионалом". Перекладывая коробки и научившись носить 20 на голове и держать равновесие, этого человека можно будет назвать профессионалом? Скорее тут наверное дальнейший шаг (Логистика, правильное расходование места на складе, оптимизация работы с бумагами и поставками). - Опять-же очень много похожего взятого из того же программирования, только с точки зрения логики. Без знаний, грузчик останется грузчиком.
Только в данном случае тут не боязнь чистого листа, а отсутствие представления и знаний. (Когда можно помочь). А вот если у человека не получается разобрать задачу на составляющие и наоборот собрать из мелких деталей общую картину. - то остается только работа грузчиком.