Советую читать только англоязычные ресурсы.
1. Между делом поднимешь свой уровень английского. Это важнее, чем знать конкретный язык программирования.
2. Избежишь курсов Попова.
Еще раз: учи английский. К примеру этот "Тостер" это унылый аналог stackoverflow.com . Учись искать английскими фразами и качество найденных ответов резко возрастет.
У меня опыт небольшой. Python, Django, Flask, и по большей части - на oDesk. По моему мнению, самое что ни на есть важное - это: 1) выбор адекватных заказчиков, способных точно объяснить, что им надо, и желательно - технически компетентных; 2) Грамотное общение с ними. На всякое предложение о работе подписывается много людей. Чтобы выделиться среди этой толпы, необходимо потратить определённое время и силы. Внимательно прочесть предложение, подумать над ним и сформулировать в ответном письме вкратце:
- Ваш опыт, пусть и кратко, относительно данного проекта.
- Ваше представление о том, как следует реализовать этот проект (вкратце; но можно двумя словами, но желательно - обоснованно, упомянуть о том, что вот такую-то фичу вы реализуете с помощью MongoDB для пущей скорости). Пустословия и популизма не надо.
- Предполагаемые сроки. Я их обычно завышаю раза в два. Это позволяет решить задачу с запасом и устранить возможные баги, глюки и т.п. Гораздо лучше, чем обнаружить потом, что времени катастрофически не хватает.
Очень хорошо, если Вы сразу напишете ещё и некоторые рацпредложения. Вежливо и корректно, конечно.
Короче говоря, необходимо 1) найти те проекты, в которые стоит вникать и разбираться; 2) вникнуть и разобраться так, чтобы заказчик понял: Вы - компетентный специалист, работаете на совесть, сделаете обещанное и качественно. По крайней мере, очень постараетесь. Если с самого начала тон общения построен именно так, если Вы задали уровень и поддерживаете его, то в случае возможных проблем, неувязок, нестыковок, как правило, люди относятся с пониманием.
>1) Без каких знаний и личных качеств вы не захотите связываться с джуниором-падаваном даже бесплатно?
Стиль кода, это, по моему главное, если человек не может писать так, чтобы его код читался с одного просмотра, речь даже не идет о комментировании, а даже банальные отступы и Сишные 80 символов( если без этого никак ), то я бы такого взял не раздумывая, другой вопрос, что если человек хоть и пишет хорошо, но постоянно затягивает сроки, тоже не вариант, это тоже надо уметь.
> 2) Каким знаниям и навыкам должен обучиться джуниор через полгода работы под вашим началом, чтобы вы не захотели с ним расставаться и готовы были предложить ему работу на ставку полноценного разработчика?
Умение искать нужную информацию. Это единственное что ему надо, чтобы хорошо работать, ну и то что выше конечно. Все остальное придет со временем
> 3) Как вы считаете, может ли менторство подобного рода быть эффективным при удалённом сотрудничестве? Взяли бы вы джуниора на удалёнку?
По мне так самый удачный вариант работы, но только чтобы он не боялся общаться в голос по скайпу и не терялся на недели...