Где найти опыт работы для новичка в программировании на Java?
Хотелось бы узнать подробнее про то, где находить опыт работы. Полазил по интернетам вашим и выделил некоторые варианты.
1) Open Source. Так как я новичок, то просто вбил в гугле "опен сорс проекты java". Получил много ссылочек, но очень старых. А по сортировке "за последнюю неделю" тоже ничего. Возможно я глуповат. Но также слышал, что новичкам не надо лезть сюда, так как Open Source не для новичков
2) Создать свой проект, который будет полезен людям и который будет приносить деньги.
Может у меня скудная фантазия, но я ничего подобного не могу придумать. Ощущение, что либо это уже было, либо это слишком просто, либо не нужно. Можете хотя бы привести пример того, что можно сделать своими руками новичку, чтобы это было полезно. Хотелось бы хотя бы представлять масштабы работы. Месяц, полгода, год (про неделю не стал писать, так как для такого, что нужно будет людям, ощущение, что это слишком малое время)...
3) Идти на стажировку. В принципе я не против. Но вакансий на стажировку слишком уж мало да и зачастую там еще параллельно надо знать Python, Ruby и еще целую гору всего (Санкт-Петербург на сайте hh). Я блин готов за бесплатно работать, лишь бы опыт шел. И готов учить и другие языки, но если бы это уже было на уровне хотя бы Junior. (про гору всего не относится к js html css spring и пр. что требуется от java разработчика и так практически везде. это все надо знать, я в курсе. но вот Ruby...)
Если следовать логике, что нужен опыт разработки, то, теоретически, подошла бы любая программа, если бы я в ней использовал паттерны и различные технологии, чтобы показать, что я что-то понимаю. Но вокруг слышу только одно - программа твоя должна быть нужна.
P.S. реально вспотел, пока придумывал суть вопроса, которая заканчивается на знак вопроса.
else66: в ос проектах могут принимать участие любые разработчики не зависимо от расы и возраста - если есть желание работа найдется в сем , так что я думаю не корректно делить на зарубежные и не зарубежные - если у вас проблема с понимание английского , то рано или поздно его придется выучить
Из "российских" проектов могу только вспомнить jtalks.org
Да, слышал про епам. Что-то как-то забыл о нем. По поводу него хотел спросить. Там просто не написано. А если после прохождения курса не взяли на работу, то что делать?)) Ну я к тому, что если это не считается за опыт работы, то хотя бы должны быть какие-то плюсы при прохождении интервью в других компаниях?
Все сложности описать будет проблематично, но плюсы будут полюбому. Я в своем резюме указал "Java Developer Intern" 7 месяцев. Добавил информацию о проектах, которые делал и в которых принимал участие, и чему я на них научился. Думаю это помогло мне заинтересовать HR'ов
Обучение, по крайней мере у нас в офисе, проходили так. Сперва 2-3 месяца нам читали лекции и практические занятия. Как результат наших занятий мы должны были разработать веб-приложение. Затем шла защита диплома. Можно сказать как собеседование, гоняли по теории, паттернам и т.д. + смотрели код приложения и обсуждали его. После этого, если все прошло успешно, вам предложат пройти внутреннюю стажировку. Именно на ней я и был 7 месяцев (У нас в офисе было туго с проектами, много разрабов сидели без проектов). Вы напишите HR она вам расскажет подробнее. Может процесс в СПБ будет отличаться.
Но с уверенностью могу сказать, что в EPAM'e большая база знаний и много специалистов, у которых вы можете научиться. У нас 3х студентов переманил Luxoft. Их тоже долго не могли посадить на проект и они ушли.
Если прям совсем новичок, то проходишь курсы на каком-нибудь stepik.org по джаве (базовый и углубленный), учишь git, sql, с базами разбираешься, и ищи стажировку или джуниор-вакансию на 30к.
Если в программировании не новичок, просто с джавой не работал, то проделываешь то, что выше описал, + hibernate, junit, mockito, и можешь смело идти искать вакансию джуна на 60-80к.
Чтобы продемонстрировать свои навыки достаточно сделать простой проект, типа соцсеть, либо то, что в углубленном курсе на stepik.org, только усовершенствованное.
Если теорию будешь хорошо знать и проект какой-то будет, то обязательно куда-нибудь возьмут)
else66: да какая разница востребован проект или нет. Если б он был востребован, то тебе и работу не надо было искать. Бери готовую идею и делай. Работодателю нужен человек, способный выполнять работу, а не "востребованные" продукты придумывать (хотя это много где и поощряется, но необязательно).
silentproger: Ну вот согласен. Просто некоторые говорят, типа если проект никому не нужен, то за опыт не считается. Я вот тоже думаю, что главное показать, что я знаю язык и технологии. И умею с ними работать.
git и sql уже более менее знаю. Надо наверное посмотреть еще JDBC с mysql каким-нибудь. (кстати тут тоже много вопросов по тому, что учить - mysql или postgresql).
А так, спасибо за ответ))
Воу воу. Идеи посыпались прямо. Ну когда стало понятно, что востребованность продукта на рынке - не обязательный фактор, то настроение конечно поднялось)) Правда с магазином сложнее. Я же ничего не продаю. Могу конечно чисто смоделировать такой сайт и типа поместить туда все, вплоть до оформления заказа и чтобы этот заказ приходил, скажем, на почту. Можно, почему нет) Правда я еще не в курсе про jsp. Мне еще много надо изучить)
"опыт работы для новичка"
"Создать свой проект, который будет приносить деньги."
Взаимоисключающие параграфы. Новичок и приносить деньги? Вы реально считаете, что можете написать проект, который будет приносить деньги лучше, чем опытные программисты? Особенно что "где найти опыт" вы задаете на тостере, а не догадались самостоятельно, есть большие сомнения, что вы можете придумать реальный проект, который вам по силам.
Забейте на деньги. Хотите деньги - устройтесь на работу или пробуйте фриланс. Сложно и тяжело - значит вы не новичок, а еще только желающий им стать - учитесь.
Активные opensource проекты можно поискать не в гугле а сразу в github - там ссылки более релевантные.
По поводу последней части вашего вопроса - все так и есть. Сейчас никому не нужны люди, которые знают java или ruby или С++ или С# и только его. Есть сотни разных технологий и инструментов, и все они нужны, все нужно учить.
Я наверное не очень верно выразился про свой полезный проект, хотя написал, что готов работать и бесплатно, лишь бы капал опыт. Я это вычитал на этом же сайте Где находить open source проект Java для новичка?
Вот тут. Пользователь VZVZ ответил, что "адекватному работодателю вы понравитесь гораздо лучше в том случае, если у вас будет небольшой, но зато свой проект, и не такой, который нужен только даром, а который приносит такую пользу людям, чтобы они вам платили."
И тут я как бы немного, не скрою, испугался, так как если я тупо новичок, то как я смогу сделать что-то полезное?
Если вы хотите устроиться на работу, то нужно понимать - на работе от вас требуется выполнение работы.
Я не понимаю, почему у молодежи, с работой ассоциируется какое-то "саморазвитие", "опытный ментор и учитель", "команда, которая подскажет и научит".
ИТ - область с высоким входом, это означает что учить нужно много, долго, трудно. Поэтому да, до того как устроиться нужно изучить достаточно, чтобы работать, и никогда не будет такого что граница видна ясно, типа вот я 99 часов отучился, сейчас я еще нуб, а через час уже буду спецом. Все относительно.
Хотите понять, можете ли вы делать полезное - полно фриланс бирж - идете, читаете задачи, находите такие, где в описании вам все понятно - и их можно выполнять и для себя, не связываясь с клиентом. Сможете выполнить - связываетесь с клиентом и выполняете. Получилось - значит вы уже начали работать.
Во всем, чем бы вы ни занимались, для того, чтобы что-нибудь знать, может быть достаточно почитать хороших книжек. Но чтобы выполнять именно работу - нужен практический опыт. То есть много работаешь - много опыта. Практический опыт важнее теоретического в разы. Поэтому когда звучат вопросы, что люди не то, что имеют мало опыта, а не знают как его найти - это звонок, что мотивации у человека крайне мало.
Потому что найти себе задачу - это ОЧЕНЬ легко. Это просто вопрос сесть и минуту пошевелить мозгами. Если сложно даже это - что ж говорить о самой работе?
Возможно полезный кому-нибудь проект делается не за 5 минут, и включает в себя много нудной рутины, что отпугивает тех, кто никогда не работал? Не знаю. В любой, даже самой интересной работы всегда будет нудная рутина и с этим нужно что-то делать, в первую очередь с собой.
Если вы играете в какие-нибудь игры - сделайте маленький проект для этой игры. Какой-нить онлайн калькулятор - для популярных игр это может быть даже востребовано. Какой-нибудь простенький онлайн-инструмент для трансляции чего-либо во что-либо.
Польза должна быть в первую очередь понятна вам, а уже потом, с опытом, будете искать что интересно потенциальным клиентам