Привет!
Приоритетным направлением для себя выбрал язык JAVA, который усиленно сейчас изучаю. Есть скромный опыт работы веб-дизайнером (HTML, CSS), в наличии познания в Ассемблере и С/С++.
То, что определился - это хорошо. На собеседовании у студентов я спрашиваю что интересно и дальше мы общаемся на интересные студенту темы. Если я вижу, что человеку действительно интересно, я готов вкладывать время в его развитие. Есть очень положительные примеры, когда из студентов вырастали очень значимые разработчики. Но было и когда человек через год говорит, что не "вставляет" и уходит в вообще другую область. Со зрелыми разработчиками такое случается реже. Так что, понимание того, что тебе интересно и блеск в глазах при разговоре на тему - это твой основной козырь.
[*]Задрачивать Jav'у и базы данных, стараться устроиться по специальности в конторы моего города
Хороший вариант. Недостаток - тебя скорее всего посадят клепать малозначащий код, научиться на котором можно, но не очень быстро и не очень многому. В свое время, тоже на 2м курсе, я просто взял и стал обзванивать Oracle, Cisco и смых больших интеграторов, рассказывать им про то, что я хочу и просился на стажировку. Так я получил свою вторую работу, которая и стала стартом в карьере.
[*]Идти нарабатывать опыт в фриланс, браться за все заказы, которые потяну
Заметно хуже. Такая ситуация, что на фриланс отдают некритичные участки кода, более значимые отдают своим разработчикам. Если код критичен, но у компании нет профильных специалистов, то ищут компанию-аутсорсер в этом направлении. Был темный период жизни фриланса - куча мелких проектов и разных областей и копейки денег. При собеседовании фрилансеров опыт, скорее, негативный - много знают, но по верхам, вывести такого человека на проект, где нужно немного компетенций, но глубоких, страшно.
[*]Писать с одногруппниками программы на Андроид, в надежде, что они выстрелят
Сам это воспринимал всегда, как забаву. Хотя Microsoft проводит Imagine Cup и там могут дать денег на развитие проекта, какая-то поддержка для стартапов... Смотри что за проект, насколько люди серьезно им занимаются и насколько они сами крепки, насколько тебе этот проект нравится и насколько ты в него веришь.
изучать тонкости профессии дальше, так как пока я никакой пользы принести не могу
Это книжки читать? Если так, то бессмысленно. Есть вариант Open Source. Сейчас пригли в голову Hadoop - это горячая фишка Java (Big Data), активно развивается и его активно пользуют. К слову, Mail.Ru недавно искал в отдел поиска спецов, которые готовы подтачивать Hadoop. Года ковыряния в коде и активного участия в Open Source может быть достаточно, чтобы отлично разобраться в проекте. Наверное, есть и другие горячие фишки Java, например, из мобильных платформ, но я в них ориентируюсь слабо.
на что мне стоит обратить внимание при подготовке к собеседованиям,
Зависит от профиля и самой компании. Просто перед собеседованием набери в поисковике "собеседование в XXX". Для XXX = "Яндекс" или "Гугл" будет очень много результатов.
в какие компании лучше подаваться - крупные или маленькие,
Я бы сказал, в самые маленькие, стартапы :) В стартапе можно быстрее рости, но и риски сильно выше. В гигантах (IBM, Касперский, Google, Deutsche Bank) - очень много бюрократии и всем пофиг. А средние компании - они и есть средние. Но со стартапами нужно внимательно смотреть чем они занимаются. Мне довелось поработать в одном стартапе с человеком, кто в 16 лет, когда я еще не родился, втроем с еще двумя студентами колледжа, написал первый комерческий Unix. В этой компании я очень многому научился, но попал я туда уже с приличным опытом.
стоит ли учавствовать безвозмездно в опен-сорс проектах для наработки опыта?
Обычно людям это кажется странным, но Open Source может приносить хорошие деньги. Пример - Monty Program, Percona, Codership.
Приоритетным для меня будет вариант "наработка опыта с зарабатыванием каких-то копеек в 200-300 у.е." на данном этапе обучения. Всем спасибо за ответы.
Просто стучись в разные двери, разговаривай с людьми и анализируй где у тебя какие будут шансы.