• ,

Кувшин мотивации опустошен.

Друзья приветствую всех.
Несколько месяцев назад я начал программировать на Java с помощью этого ресурса.
Мотивации было хоть отбавляй, дошел до 10 уровня, мотивации стало еще больше. Стал замечать, что это даже стало входить в привычку(а это гораздо лучше мотивации). И вот теперь все пропало.
Немного расскажу свою историю, чтобы можно было поставить диагноз и назначить лечение.
Я очень неусидчивый, постоянно бросаю то, что начинаю на середине пути. Закончил ВУЗ в спб по инженерной специальности сейчас работаю по специальности, в хорошей компании ЗП на уровне 100 т.р., для сегодняшнего рынка это реально круто.
Сейчас мне 24 года. до этого времени я много раз начинал учить различные языки но все тщетно — я бросал.
Начал снова изучать джаву по нескольким причинам:
  1. Старый знакомый сказал, что было бы круто вместе что то запрогать. Вдвоем легче прогать
  2. У меня есть 3-4 идеи, которые могут выгореть и на них можно разбогатеть
  3. Я не хочу работать на дядю
  4. Кроме этого я увлекаюсь биржевым трейдингом и у меня это хорошо получается, но не достаточного капитала, а капитал можно опять же получить с помощью идеи
Сейчас я дошел до 20 уровня и задачи уже сложные, стало очень тяжело и я могу неделями сидеть над задачей, потом я захожу на хелп или инфо, и ищу правильное решение и вижу как люди легко и без проблем понимают условия задач и решают в пару строк некоторые задача, когда я сижу над этим неделю(например) и у меня возникает вопрос: «Может я не создан для проги?», если так тяжело и нудно. Причем реально тяжело)

К тому же знакомый который хотел вместе что то запрогать отвалился, он решил пока полностью не выучит всю java, то даже легкие идеи задачки программировать не будет, и теперь я один, нет доп. мотивации. — и это гложет.

Я не знаю, что делать я хочу как то облегчить это занятие, это обучение, но не получается, сейчас застрял на задачах 20 уровня и они прям не идут и могу часами сидеть и не понимать что надо сделать. Чтобы как то сдвинуться с места начинаю чертить схемы, как можно решить задачу, иногда это помогает, а иногда я «тупо туплю».

Самое интересное, друзья, я понимаю что это мне надо для жизни, потому что я хочу свой проект, своей дело и жизнь в удовольствие, а не с 9 до 6 на дядю.

Я не собираюсь идти прогать в компанию, я собираюсь сделать что то свое, но мотивации и сил уже нет, я готов сдастся.

Коллеги, друзья скажите как вернуть былое рвение и мотивацию, очень надеюсь что кто то мне поможет.
PS Извините за сумбур, но хочу выйти из ситуации победителем.

Мотивационый топик об очередной истории успеха.

    Одним чудесным вечером, заступив на очередную ночную смену я задумался о дальнейшей своей жизни. Кем я буду через 5, 10, 15 лет? Кем я вообще хочу быть? На дворе была весна 2015. Кризис в разгаре. З/п, которая была очень даже неплохой для моего региона стала вдруг недостаточной для меня. Кроме того я не видел для себя прогресса на этом предприятии. Работал я тогда инженером-программистом с обязанностями эникейщика на средней руки заводе. От программирования в моей работе было только то, что моя деятельность была завязана на корректировку некоторых параметров в рабочей среде. Не добавляли позитива как перманентный пофигизм руководства на чаяния сотрудников, так и задержка з/п этим же руководством. Одним словом, я понял, что нужно что-то менять. И я сказал себе, что через год меня на этом предприятии не будет. После этого я начал активно искать применение своей неуемной жажде перемен. Собственно, с выбором дальнейшей профессии вопросов не возникло. Я хотел быть программистом. Но была проблема. Я не знал ни одного языка на хоть каком-нибудь приемлемом уровне. Нужны были курсы, и курсы онлайн, поскольку моя работа не позволяла мне записаться на какое-либо живое обучение. Выбор пал на Javarush. Я просто набрал в гугле «обучение java» и где-то в самом верху была ссылка на этот ресурс. Ну что же, Javarush так Javarush, сказал я и принялся постигать основы.
    Тут нужно сказать, что в школе, да и в университете я никогда не был успешен в программировании. Мне были непонятны концепции этого предмета и я не сильно горел желанием в них разбираться, хотя я окончил довольно успешно математическую школу и технический ВУЗ. Но получилось так, что некоторое время назад у меня был опыт любительского программирования на php, в ходе которого у меня в мозгу словно тумблер щелкнул. Раз — и я понимаю, что могу программировать. Тогда я почерпнул все базовые понятия, такие как циклы, массивы, переменные и т.п.
    И вот я прошел все первые 10 уровней дней за пять. Настало время двигаться дальше. Препятствие в виде платной подписки было успешно преодолено при помощи очередных скидок. Оформил я себе тогда продвинутую подписку с возможностью стажировки, которая, если забежать вперед, мне не понадобилась. Проходя свой путь к вершине, я часто ругал составителей задач, неясные и нечеткие формулировки, свою криворукость. Набрел на непонятный тогда для меня github и подсматривал там решения, когда уже становилось совсем уж тяжело и непонятно, что же не нравится валидатору. Но со временем приходила уверенность в своих силах. И даже когда речь заходила о достаточно тяжелых для понимания вещах, таких как многопоточность, я чувствовал в себе силы для взятия и этих вершин. И вот прошло несколько месяцев. Я достиг 26 уровня. И тут мне на глаза попадается информация от одной довольно известной IT компании о наборе на внутренние курсы по специализации java developer, по окончании которых меня могли взять на должность джуниора. Это был мой шанс. Я связался с рекрутером компании и меня пригласили на собеседование. Надо отметить, что брали на курсы только тех, кто обладал уже довольно большим багажом знаний о базовых принципах java и количество мест было ограничено, поэтому собеседование проходило в 2 этапа.
    Первый этап я прошел достаточно легко, показав, что ООП для меня не просто три буквы, а нечто большее. Второй этап был несравненно сложнее. Меня собеседовала группа опытных девелоперов в течение часа. Я не буду углубляться в то, какие вопросы мне задавали, но скажу, что знание основ ООП — must have, причем знание на уровне автоматизма. Мне сказали что результат будет известен через несколько недель и не дали никаких комментариев по моему уровню знаний. Я вышел из офиса на ватных ногах и с мыслью, что все пропало.
    Прошло 2 или 3 недели и у меня зазвонил телефон. В трубке раздался голос рекрутера компании, который сказал: «Мужик, ты принят, приходи завтра с документами». Я тот час же понесся на работу… увольняться.
    По обучению на курсах, могу отметить только то, что практически всю необходимую информацию для джуниора можно получить на javarush.
    И вот я — junior java developer, сижу в кресле перед столом с 2мя мониторами. На одном мониторе я пишу этот пост, а на другом, как показатель моего первого успешного шага в профессии, висит консольное окно с выполняющимся скриптом по сборке проекта, а на заднем фоне темно-серое окно Intellij Idea.

P.S.
    Если вам говорят, что вы в ваши 27 лет уже слишком стары, чтобы начинать свой путь в программировании, шлите таких советчиков далеко и надолго. Мне уже за 30. Многие лиды в компании младше меня. Но все это неважно. Я считаю, что лучше стать сеньором к 40 годам, чем не стать им вовсе. Если вам нравится этот путь, идите по нему. Читайте, изучайте, пишите код. Все в ваших руках!

P.P.S.
    Спасибо javarush, за то, что дали мне площадку для старта в моей карьере программиста.
  • ,

Как я нашел работу, благодаря JavaRush!

Хэй!
Хочу начать не с познавательной, а скорее, с мотивирующей записи. Самое основное о том, как я пришел к тому, что сейчас у меня есть. Под этим я подразумеваю уровень развития, как программиста. Он не высок, могло быть и лучше, это так, но за последние пол года произошло довольно много различных событий. Еще пол года назад я многократно перечитывал статью о способах сортировки массива и думал: «Как же это чертовски непонятно и сложно!». Сейчас это воспоминание вызывает улыбку и я надеюсь, что еще через пол года я буду так же улыбаться, вспоминая себя нынешнего.
Итак, мой путь программиста начался на javarush.ru
Конечно у него есть некоторые косяки, которые порой жутко бесят. Думаю, вы тоже сдавали задачу не с первого раза, а с 15го, только потому, что не написали какую-то мелочь, которую так хотел компилятор?) Но это мелочи, по сравнению с отличной структуризацией данных, которую дает курс.
Придя туда, я знал только про существование массивов и переменных. Не более. Можно сказать был абсолютным нулем. Та атмосфера, которую получилось сделать у создателей этого ресурса, просто фантастическая! По началу именно она помогала мне не бросить начатое дело. У меня действительно складывалось впечатление, что я делаю что-то по-настоящему серьезное, а не просто вывожу строку в консоль. Я стал тратить всё свободное от пар в вузе время на чтение лекций и решение задач. Тогдашнему упорству и усидчивости сейчас я могу только позавидовать. Если не получалось решить задачу, зарывался в теорию на несколько часов, перечитывая одни и те же строки снова и снова, пока не приходило озарение. Именно так это и бывает. Как барьер между вашим мозгом и нужной информацией. Вы повторяете ее раз за разом, до тех пор, пока барьер не рухнет и осознание прочитанного не прольется, как луч света. По крайней мере я ощущаю что-то подобное.
Помимо лекций и задач, я много времени смотрел ролики на ютубе, серьезно, мне они очень помогали на первых парах. Особенно выделю два канала, они просто шикарные: www.youtube.com/channel/UCuIctN7x71qam9K_ZxS1W2A
и www.youtube.com/user/devcolibri Я вам безмерно благодарен за ваши труды.
Ближе к 10му уровню я начал пробовать помогать другим JavaRash'овцам на форуме. Это зачастую скучно и сложновато, но неимоверно полезно. А еще очень приятно, когда ваш ответ помогает другому, а вам капает рейтинг. Но самое главное вы читаете чужой код. Повторяю банальное наставление, но оно очень важное: читайте чужой, и самое главное, хороший код. Новички этим пренебрегают, желая писать самим, что понятно, это всегда приятнее, но на работе, 90% времени тратится на прочтение чужих рукописей. И чем лучше вы будете это делать, тем легче вам будет в дальнейшем.
Часто возникают вопросы по поводу чтения книг. Я читал философию Java, Брюса Эккеля, и знаете, на первых парах это давалось тяжело. Книга бесспорно хорошая, но много ли толку, когда вы вталкиваете в себя страничку за страничкой? Я думаю нет. Пока у вас не выстроиться общая картина того, как устроен язык, не стремитесь зарываться в книги, в которых описываются детали и тонкости. Это будет только отталкивать вас от программирования и пугать. Например, мне за полгода так и не понадобились побитовые операции, хотя я несколько раз перечитывал главу о них, в надежде разобраться что к чему.
Следующие три месяца пролетели в чтении различных лекций, постов на форумах, просмотре видеокурсов, решении задач. Очень насыщенное и продуктивное время. Практически каждый день что-то новенькое! Но в целом я еще не мог абсолютно ничего. Это первое и самое жестокое разочарование в программировании. Вы приходите с большими надеждами, что позанимаетесь как следует пару месяцев и начнете делать крутые игры и сайты, но хорошенько обламываетесь. Спустя какое-то время появляется мысль: «Так, чувак, ты занимаешься уже n-месяцев, может быть ты сможешь сделать что-нибудь годное?» И оказывается, что нет. Появляется осознание, что в читал про эту штуку, делал вон ту штуку, знаешь об этой штуке тоже, но а толку то?
В этот переломный момент нужно побороть свое разочарование, сжать кулаки и просто продолжить заниматься, как раньше. Именно в подобных ситуациях, очень много людей опускают руки, и очень зря. В масштабах программирования, вы прошли лишь пару шагов, но зато каких!
За эти три месяца я подобрался к 20му уровню и начал подумывать о том, что всё-таки я уже на что-то способен, к тому же приближалось лето и в голове возникла бешеная идея: «найти стажировку». А вдруг? Я просто зашел на хэдхантер или ему подобный сайт, создал объявление, мол смотрите, я очень классный джава-стажер, и стал дальше спокойно, как обычно, ходить на пары залипать в задачки на джавараше. За все время пару раз написали с вопросами оценить себя, и могу посоветовать даже не отвечать на такие сообщения. Это все шлак. Что значит оценить себя? Напишу, что выше высокого, суперский java-lead, звали в гугл, не пошел, что с того? Такие вопросы просто бред и нормальные работодатели не занимаются подобной фигней, аля, писать в личку на авито или том же хэдхантере. Но к моему огромному удивлению, через какое-то время мне позвонили, спросили на каком языке я занимаюсь и просто позвали пройти тестирование в конкретный срок. Я опешил, но конечно же согласился. Это было правда неожиданно, и хоть никто бы меня там палкой не избивал, но я чувствовал сильное волнение, как перед важнейшим экзаменом. А по сути, это он и был.
У меня было два дня и я стал кропотливо перечитывать лекции, серьезно, вот прям с 3-5 и до той, на которой находился в тот момент. Время пролетело крайне быстро и пришел день Хэ. Я приехал в офис, меня он поразил. Светлый, яркий, вокруг только молодые и веселые люди. Ни одного старика. «Вот оно, IT! Как же круто» — думал я в тот момент. Меня встретили, отвели в переговорку. Там уже сидели какие-то ребята, внешне — просоленные кодеры. С усиками, хвостами, прям типичные программисты. Они болтали между собой о том, какие они крутые, а я молчал, потому что и сказать было нечего. Не скажу же я, что вчера перешел на 19й уровень, правда?
В итоге, всем раздали задания, по 5 задач и как же я был рад, когда, ожидая чего-то неизвестного и жуткого, я увидел вполне человеческие, клёвые задачки. Вроде, одна на рекурсию, две на итерации цикла, еще одна на поиск ошибки в небольшом, простом куске кода и еще какая-то… забыл. Тут натаскивание джавараша сыграло колосальную роль. Он просто с лихвой окупил потраченные на подписку деньги. Я сдал задачи и пошел домой, успокаивая себя мыслями, что получил полезный опыт и кругом одни плюсы, но в глубине души понимал, что я чертовски хочу пройти дальше. И через неделю мне перезвонили! Сообщили что я решил 4 задачи из 5 и позвали на стажировку. Счастью в тот момент не было предела. Перспектива того, что летом я буду два месяца находиться среди профессионалов, перенимать у них опыт и делать что-то реально крутое, просто сводила меня с ума. И по факту, все благодаря джаварашу и тем усилиям, которые были потрачены никак не зря.
В итоге, все оказалось немного не так, как я ожидал в своих розовых мечтах, но опыт я получил колоссальный. Объем информации, ее сложность и уровень возросли там на порядок. Мысли постоянно были разные: от «как же я теперь крут, я узнал, как использовать ajax!», до «твою мать, что это за неведомая сложная х***а?!» Но главное продолжать изучать это, не бросать, даже если вы абсолютно ничего не понимаете. Помните про барьер? Рушьте его всеми силами! На стажировке я почти перестал смотреть ролики на ютубе, они перестали быть информативными. Стал больше читать хабр и даже понимать, о чем там пишут! Вот так.
С java я пересел на C#. Не хочу их сравнивать, скажу только, что перейти было крайне легко, они очень похожи. А в конце мне предложили работу! Я был на седьмом небе и не мог поверить, что это действительно происходит. То есть я вот пару месяцев назад еле научился создавать методы и использовать их, понял, чем класс отличается от его объекта, а сейчас могу работать? Честно, я до сих пор твердо уверен, что мне жутко повезло, но это заставляет меня еще сильнее работать над собой, чтобы доказать, что выбрали меня, а не кого-то еще, не просто так. Сейчас я так и остался на 25 уровне курса, но очень надеюсь, что когда-нибудь закончу его.
Вкратце, написал всё, что хотел. Спасибо, что прочитали мой поток сознания. Огромное спасибо сообществу JavaRash и его создателям, вы действительно сделали крутейший проект! А если есть какие-то вопросы, пишите в личку вк, ссылка есть в профиле. Всем приятного и продуктивного обучения!
©Mispon
  • ,

Как стать Java программистом, не сойти с ума от кучи информации, полюбить программирование и жить нормальной счастливой жизнью?

Всем привет, меня зовут Лена, и я хочу стать программистом Java. Это решение я приняла в декабре 2015. Я ничего не знала о программировании, даже, как переменную объявить хоть в каком-нибудь языке программирования. У меня не было знакомых программистов, я не работала в ИТ компании, в общем ничего, что могло бы хоть как-то мне помочь. Это не история успеха, где в конце концов я устроилась на работу младшим программистом с прекрасными перспективами, нет. Я до сих пор учусь, и далеко не всё получается гладко. В интернете полно вдохновляющих постов – «программировать может каждый», «старики за год становились прекрасными программистами» и т.д. Всё легко, весело и приятно. Я не знаю, кто пишет эти посты, но они меня, наивную женщину, вдохновили. Я решила, что всё будет действительно просто и безболезненно. Тем более мне всего 25 лет, не преклонный возраст для программирования.

На волне оптимизма я купила курсы мобильного разработчика на Geekbrains и начала проходить 1 курс Java для новичков. Этот курс состоит из 8 вебинаров (2 раза в неделю) и маленьких домашних заданий после каждого. Затем идет 2 курс. В общей сложности обучение длится 2-3 месяца, и, вуаля! – ты программист. Но тут происходит столкновение с реальностью.

Перед курсом тебя не предупреждают, что больше половины из сказанного преподавателем ты не поймешь, и это непонятности будут расти снежным комом. Тебе не говорят, что для того, чтобы понять суть следующего урока, тебе нужно прочитать всё, что ты найдешь по теме, посмотреть все видео и поспрашивать знатоков. А еще тебе не говорят, что вместе с тобой на курсе будут учиться далеко не новички в программировании, люди с высшим образованием, с реальным опытом, которые буду активно участвовать в общении на вебинаре и задавать умные вопросы, а ты их даже не поймешь. В общем, ты начинаешь думать, что с тобой что-то не так, программирование не для тебя, у тебя ничего не выйдет, ты тупой и неспособный. Хотя, по сути дело лишь в разнице часов, потраченных на изучение. Кому-то нужно больше времени, кому-то меньше. Но, если честно, то это и не важно. Если ты хочешь программировать, никто не сможет тебя остановить! Конечно, от курсов я получила пользу: мой нулевой уровень в программировании стал выше, но не так сильно, как я рассчитывала.

После двух курсов я решила почитать книги по программированию. Все рекомендовали Шилдта и Эккеля, но я начала читать, и мне стало невыносимо скучно. Я решила попробовать Java Rush, тем более, что первые 10 уровней там бесплатные. Меня подкупило то, что они делают акцент на реальные задачи. Наконец, хоть что-то приближенное к тому, что нужно будет делать на работе!!! Мне понравился их подход – не нудно, шутки какие-то шутили по ходу дела, в начале каждого уровня мотивирующая лекция о том, как круто быть программистом. Курс прямо учит наслаждаться программированием. Я активно занималась по нему, но так как я работаю, всё равно получалось слишком медленно. Затем я нашла новые рекомендации по книгам – Хорстманн и Head First Java. Это очень крутые книжки!!! Хорстманн пишет довольно ясно, а Head First Java я просто обожаю – она веселая, понятно написанная, с использованием разных подходов, например, картинок, для лучшего усвоения информации. Её можно читать даже просто так, для поднятия настроения + она написана на довольно простом английском, а значит можно еще и язык подтянуть, что немаловажно!

И вот начинаются просветы, когда сложную задачу ты смог решить с первого раза или когда плагин к IDEA установил (я всё-таки девочка, и с установкой программ у меня проблемы). Когда до тебя, наконец, доходит, как создавать и использовать объекты. Это прекрасное время подъема. Но ты идешь дальше по Java Rush и постепенно читаешь литературу по теме, смотришь видео. Когда где-то тормозишь, то начинаешь смотреть Info JavaRush, даже регистрируешься там, чтобы когда-нибудь задать умный или не очень вопрос. С каждым разом темы становятся сложнее. HashMap вообще меня убил – я 4 дня не могла понять как работает итератор, со static мы долго находили общий язык, а StackTrace – это вообще одна большая радость! Мотивация падает, а ты продолжаешь один в этом всем вариться. На работу или даже на стажировку тебя никто не возьмет, ведь нужно знать как минимум Java Core, а до его знания ой как далеко. Я не имею понятия, как работать с входящими и исходящими потоками. Я не знаю, что такое сериализация, многопоточность, вывод на консоль. До сих пор не понимаю, что такое интерфейс. О фреймворках и Java EE вообще молчу, хотя эти знания будут вообще не лишними на собеседовании. И еще периодически бывают такие моменты, когда ты думаешь, что хоть что-то знаешь, например, как инициализировать строку в Java. Вроде это уже пройденный этап, но потом неожиданно узнаешь, что у String есть очень много полезных методов, например, toCharArray(), toUpperCase(), compareTo(). И тут приходит понимание: ты знаешь только верхушку айсберга, а не знаешь гораздо больше.

К чему я это всё пишу? Поделитесь, всё действительно так? Нужно просто заткнуться и усиленно день и ночь учить Java, смотреть видео, читать книги, решать задачи, сколько влезет. И после нескольких месяцев такого отшельничества жизнь войдет в нормальное русло: ты устроишься на работу, опять начнешь общаться с другими людьми, будешь больше практиковаться, а не изучать абсолютно новые темы каждый день, появится уверенность в своих мозгах и так далее. Или есть какой-то вариант жить по-человечески уже сейчас, когда твоих знаний еще не хватает, чтобы решить хоть сколько-нибудь отвечающую требованиям реального мира задачу?

У меня куплена годовая подписка на Java Rush и курс мобильного разработчика на GeekBrains, но это разные направления. Java Rush потом может предложить платную стажировку, но это вэб. GeekBrains — это android, objective c, swift. Чтобы дойти до стажировки на Java Rush нужен 30 уровень, а у меня как бы 10! Набор начнется только в ноябре, так как август я уже пропускаю! На стажировке будет отлично – там другие люди, сроки, наставник, когда я вместе с кем-то занимаюсь, у меня больше мотивации и соревновательного духа что ли. Но это значит, что 20 уровней нужно пройти самостоятельно и еще 4 месяца тусить одной! На GeekBrains я могу начать изучать тот же Android в августе, но я не уверена, что это моё. Меня больше тянет к вэб, но всё таки думаю над этим вариантом (это старт через месяц и там люди).

Напишите, кто на опыте, что бы вы сделали на моем месте? Спасибо!

Программирование – тяжёлая работа или лёгкий способ срубить денег?

Хорошая мотивирующая (или наоборот?) статья.
Выложил, что бы побольше людей ее прочитало. Автор не против. :)


! Статья про enterprise :) Не android.

Как стать Java разработчиком?

1. Нужно ли это Мне?

Видимо, самый важный пункт. В связи с экономическим кризисом, многие люди пытаются найти способ обеспечить себя финансово. А тут появляется “IT”, в котором все получают много денег за то, что могут написать 10 строк кода. К тому же, “программирование – это легко”.

К сожалению, это не так. Как бы не пытались основатели различных курсов объяснить, что любой может стать разработчиком за 3 месяца, это не так.

В первую очередь, необходимо помнить, что разработчик программного обеспечения – это инженер. Поэтому и требования соответствующие.

Во-вторых нужно понимать, что именно представляет из себя работа программиста? Прежде всего – это перманентное решение проблем. У Вас не будет момента, когда все проблемы будут решены. Это процесс постоянный. Во-вторых – это огромное количество рутинной работы, выполнять которую по 3-4 часа в день без любви к делу, если не невожможно, то уж точно требует огромного усилия над собой.

Итак, если Вы чувствуете, что разработка программного обеспечения – это то, чем бы вы хотели заниматься более 40% времени своей жизни, то идём дальше.

2. Что именно необходимо для того, чтобы называться Java-разработчиком?

Для того, чтобы Вы с гордостью могли назвать Себя Java Developer с больше буквы “J” необходимо иметь, хотя бы, общее понимание следующих вещей:

Синтаксис языка, а именно – Java Core;
Основы Объекто-ориентированного программирования;
Основы баз данных (SQL);
JDBC;
Servlets + JSP;
ORM (например, Hibernate);
Любой популярный Web – Framework (например, Spring);
HTML, CSS, JavaScript;
VCS (GIT, SVM или подобное).
Теперь, пройдёмся по пунктам:


Java Core

Сюда входит знание и понимание иерархии классов в Java, методы класса Object и, конечно Collection Framework. Какие интерфейсы, кто и кого имплементирует и т.д.

Вот эту картинку, java-разработчик должен нарисовать в 3 утра под арт-обстрелом:



В изучении Java Core помогут такие книги, как:

Java 8. Полное руководство (Шилтд)
Философия Java (Эккель)
И конечно же, никуда не деться от

Java Platform API Specification

Здесь материала крайне много, поэтому лучше не прыгать между книгами, а взяться за одну и “долбить” её “до посинения”.

ООП

От новичка не требуется больше, чем знание и понимание трёх принципов ООП (некоторые считают, что их 4, но тут уж как попадёте и это не так существенно).

Умение на практическом примере объяснить каждый из них.

Основы баз данных и SQL

MySQL 5.0 (Виктор Гольцман)

Эта книга легко и доступно объясняет базовые понятия с илюстрацей примеров и пошаговыми инструкциями.

JDBC

Кроме понимания того, что такое база данных, необходимо понимать, как Ваше Java приложение с ней взаимодейтсвует.

JDBC 4.1 Specification наиболее полно раскрывает все особенности работы JDBC.

Servlets + JSP

В книгах по Шилтда и Эккель Servlet-ы описываются “вскольз”, для более глубокого понимания, что же это такое необходимо изучить что-то по-серьёзнее.

Java Servlet Specification
и
JavaServer Pages Specification
Эти две спецификации дают исчерпывающее понимание тих технологий.

Как JDBC, так и Servlets используются разработчиками в повседневной работе только в редких случаях. Но они лежат в основе всех популярных Framework-ов и понимание того, как эти framework-и утроены “внутри” поможет Вам избежать очень многих глупых ошибок, которые допускают те, кто изучал только framework-и.

Hibernate

Книга, которая является гордостью мира Java – это Java Persistence with Hibernate.

Многие разработчики, которые используют другие технологии (в частности C#), читают эту книгу для того, чтобы глубже понять что такое ORM и какие проблемы оно решает.

Если Вы умеете созлать отношения one-to-one, one-to-many и many-to-one и написать простой запрос на HQL – ваших знаний хватит для уровня новичка.

Web – Framework (например, Spring)

После того, как освоено всё, что есть выше можно уже замахнуться на Spring. Для начала написать простое CRUD приложение, а потом узнать, что такое Spring Pet Clinic. Теперь Ваших знаний будет достаточно для того, чтобы с пониманием происходящего создавать более-менее пристойное приложение, которое ходит в базу данных, что-то там делает и т.д. и т.п.

Поздравляю, теперь Вы можете написать то, что можно уже и “потрогать” и показать.

Через 5-6 месяцев, Вы захотите удалить этот код и сделать так, чтобы никто не знал, что именно Вы его автор, но пока это хорошо :)

HTML, CSS, JavaScript

Здесь всё просто и не интересно. Обычная вёрстка, которая для back-end разработчика не представляет особго интереса. Это хлеб front-end-щиков.

Но базовое понимание всего этого быть должно.

HTML Academy

HTML Book

Основы JavaScript

Этого Вам хватит с головой.

VCS

Любой проект, в котором работает больше 0 разработчиков не делается без СКВ (системы контроля версий). GIT – наиболее удобная и часто применяемая, конкурирует с ней SVN. Будете знать одну из них – и будет Вам счастье.

По итогу модно сказать, что порого входа в Java крайне высок. Количество необходимых знаний для того, чтобы устроиться на работу или начать писать более-менее солидные приложения просто огромно. Но на выходе получаете просто невероятные перспективы.

Важно понимать, что спрос на новичков крайне низкий, несмотря на все попытки показать, что программистов не хватает. Не хватает высококвалифицированных разработчиков с опытом работы от 3-х лет, а новичков с избытком.

Для того, чтобы зацепиться и “войти в IT” Вам поможет адский труд в течение от 6 месяцев до 1 года. Но если это Ваше и Вы готовы для этого вложить такое количество усилий, то дерзайте.

Удачи Вам!

От себя хотел бы добавить, что реально для изучения java core ничего лучше javarush, по-крайней мере в рунете — нет. ИМХО.

Всем удачи еще раз.


Статья: proselyte.net/how-to-become-java-developer/
Автор: proselyte.net/faq/

Как себя мотивировать

Уже несколько раз сталкивался с низкой мотивацией у джаварашевцев. Чем выше уровень, тем сложнее и ничего не понятно.Задачи начинают выдавать самый хардкор, а гугл не разжевывает как надо. Говоря проще, КПД = null, а из-за невозможности решить задачу пару-тройку дней падает дух. Черт возьми, у меня такое не единожды было! Все таки не спекся)
Поэтому предлагаю несколько интересных методов, которые помогут мотивировать себя.

0. Моделирование будущего.
Наверное самый известный метод, ибо без него никак. Все это благодаря нашей префронтальной коре головного мозга — даже не особо акцентируя на том внимание, мы думаем о том, что будет дальше. Я уверен, что все уже видели себя в качестве программиста, тим-лида, да хоть робототехника или сотрудника NASA. Этот метод, если использовать только его, подходит лишь на начальных стадиях, до столкновения с трудностями. Как только на нашем пути препятствия, так вера в наше будущее начинает потихоньку улетучиваться.
В общем, как бы яро вы не заменяли кусочки реальности на смоделированное будущее, этого мало, даже если вы думаете об оцифровке мозга и отправки коннектома в другие галлактики.

1. Самодисциплинирование.
Вставать в шесть утра всегда ассоциируется не с самыми приятными действиями: пойти в школу, в ВУЗ или на работу. Делать зарядку или бегать сутра — удел немногих. Лучше сутра кофейку выпить чашку другую и настроение лучше станет.
На деле же это все важно. Необходим режим, утренний подъем, зарядка, потом завтрак. Разминка от компа каждые два часа. Чай или кофе по расписанию. Это придает уверенности и усидчивости, так вы можете контролировать желания своего мозга пойти съесть кекс или посмотреть порнуху. А вот проспав десять часов вряд ли от лени можно будет избавиться. С графиком и самодисциплиной сказав:«Сегодня я решаю задачи с десяти до часу», — никаких проблем с усидчивостью не возникнет.

2. Хвастовство.
Чем больше людей знает, что вы программист, занимаетесь в самом лучшем онлайн ресурсе в мире, что вы компьютерный гигант — тем и лучше. Этот метод помогает верить в себя. Почти моделирование будущего, только больше похоже на его проекцию в настоящее или чуть преукрашенное настоящее. А ваши соседи уже знают, что вы решили очередную задачу? Но не увлекайтесь, чтобы написать саморазвивающийся искусственный интеллект еще надо дорости.

3. Поддержка.
Еще о вере в себя. Поддержка ваших близких это лучшее, что может случиться. Когда вы сломленны, уже кричите, что не бывать вам джуном, к вам подходит любимая | любимый | мама | папа | бабушка | дедушка | другие обнимает и говорит: «У тебя все получится». Это окрыляет. И вправду, у вас все получится.

4. Спорт.
Эта графа здесь не потому, что программист много сидит. Спорт помогает думать. Это банальный факт, если тело в тонусе, то и мозг в тонусе, а значит настроение лучше и задачи решать хочется. Одной зарядкой тут не обойдешься. Не бегаете по утрам, самое время начать. А если не хочется бегать? Есть много альтернатив. Как вариант купить уницикл на барахолке и научиться на нем кататься.

5. Скука.
Если нет настроения или не хочется решать задачи, а может и мотивация = null — тогда заставляйте себя скучать. Нет ничего хуже, чем скука. Для меня подобным оказалось чтение всеми известной книги «Философия Java», не мог я читать вне контекста решаемой задачи и за час чтения просто взрывался от рвения заниматься на JavaRush. Может для вас будет лучшим способом просто стоять посреди комнаты и ничего не делать.

6. Мультипоточность или переключение внимания.
Кто сказал, что вы должны все время думать о Java? Философия? Религия? Осторожно, это может замылить на некоторое время разум, а может и вовсе привести к ментальному параличу! Один из лучших способов обучения не уставая и не впадая в уныние это переключение внимания. Так что хобби вперед! Складываем оригами, катаемся на скейте, рисуем, играем на саксофоне, клеим обои — кому что по душе.

7. Отдых.
Исходя из предыдущего пункта, отдых напрашивается сам собой. Бывают дни, когда работа, учеба, задачи и прочее уже в печени сидит. Чтобы не доводить себя до депрессии можно немного расслабиться, выключить будильник, забыть на денек про задачки и просто пожевать чипсы да посмотреть мультики. Правда после такого расслабона немнго тяжеловато вернуться в строй. Однако, голова свежая будет.

8. Реклама.
Сидите в соцсетях? Исключаем из новостей всех, кроме пабликов о программировании и главное оставить JavaRush. Какая у вас стартовая страница браузера? У меня JavaRush. Преобрели уже чашку с логотипом Java? А футболку? Такая реклама изучаемого является неотъемлемым фактором мотивации, эти символы, пусть даже самую малость, заставят вас думать о программировании и в состояние «я это бросаю» будет просто невозможно впасть.

9. Изощренные алгоритмы.
Зачастую проблема состоит не в знаниии материала, а в алгоритме, который не достоин владыки Ада. Самое время открыть Хабр и почухать репу задавая занимательный вопрос: «А как это работает?».
  • ,

Помогите, нужна мотивация!

Друзья, нужна мотивация!


Я сейчас на 17 уровне и после начала многонитиевости у меня пошли большие проблемы с учебой. Задания стали не только сложные, но и некоторые вообще не понятные для меня. Читаю комментарии, пишут что дальше будет еще сложнее. И как-то становится страшно…

Вот и я хочу узнать рецепт как сэтим справляться)
Может читать больше дополнитльной литературы, может как-то правильно уделять время.
Дело в том, что я занимаюсь по 4 часа в день с понедельника по пятницу. и Иногда читаю Шилдта. Раньше этого хватало, чтобы уверенно идти к завершению курса, но сейчас все поменялось.
Теорию я по смыслу понимаю, а вот когда дело доходит до задач по этой теме — начинаются проблемы. у меня уже «висит» пару десятков задач не решенных и смотря на другие я понимаю, что список пополниться и ими.

подскажите что мне делать)



См. также мои другие статьи:
История успеха спустя 1.5 года от начала обучения
Технические вопросы на собеседовании.
Как найти работу? Рассылка резюме
Профессиональное выгорание. Как устоять?
Английский для IT и для собеседования
Паттерн Command своими словами.
Паттерн Singleton своими словами.
Как создать исполняемый jar в Intellij IDEA / how to create jar in IDEA
Помогите, нужна мотивация!

Мои опросы:
На каком уровне устроились на первую работу?

Подписывайтесь на мой блог Паттерны Проектирования пишите в нем статьи!
  • ,

Очнись, вставай!

«… И пока нам есть, что сказать, мы в кулак сжимая ладонь
Не молчим и будем кричать, разжигая в сердце огонь...»



«Займись делом.» — сколько раз за день ты сам себе говоришь это? Много наверное, правда? Но все равно ты выбираешь не то, что стоит у тебя перед глазами каждую ночь, а то чем ты занимаешься уже не первый месяц — тебе приносит это мнимое удовольствие и комфорт, но когда ты остаешься один без всей этой псевдосоциальной чепухи осознание приходит к тебе. «Ты сможешь» — говорит тебе рассудок, «Вот ведь оно счастье» — твоё сердце горит, «А всего то нужно...» — размышления в голове… Однако день за днем, неделя за неделей ты живешь все так же — твоя зона комфорта не пускает тебя дальше, твой разум возводит всё в автомат, жизнь проходит мимо утоляя временные потребности твоего жаждущего жизни организма.



Стоп! Я кричу этому поезду стоп, хватит. Твой разум велит тебе продолжить читать? Не смей этого делать если это не приведет тебя к цели! Вспомни зачем ты здесь — одумайся, оглянись, куда ты попал? Ты правда хочешь этого? Зачем ты сложил руки, если можешь взять и заняться чем то по-настоящему стоящим, тем, что разожжет твой костер и сотрет все рамки вокруг! Зачем ты сидишь? Ты должен сгорать за своим делом — делать его так, будто от этого зависит всё твоё будущее, да вообще всё вокруг! В нашем мире спокойно и комфортно лишь в одном месте — нам всем туда дорога, НО сейчас мы здесь, движение — это жизнь, так не сиди на месте! Хочешь легкого пути? «Больше денег» — твой девиз по жизни? Такого пути достойны бесспорно многие. Неужели ты такой же как и все — видишь только себя и то, что находится в метровой видимости? Деньги никогда не дадут тебе столько, сколько может дать поистине стоящая идея, твоё желание — то, что важнее всего вокруг; то, на что ты готов потратить все свое время; то, что приносит тебе счастье… В этом мире помнят и чтут людей не за их миллионы у.е., а за идеи и приверженность им — вспомни этих людей, ведь почти все из них помешанные на своей цели глупцы, но они не сдавались бродя своими путями. Так что мешает тебе встать и начать работать над собой, добиваться целей и исполнять мечты? Задумайся куда ты идешь.

  • ,

Непонятные условия и лень!

Многие из учеников часто жалуются на неконкретно поставленные условия задач, на них непонятность, на их некорректность. Часто эти жалобы ни чем не обоснованы и теряют свою актуальность после
  • ,

Учусь медленно (

Постоянно что-то мешает… осенняя сонливость одолевает по вечерам — приходится бороться всеми доступными методами…
Помимо джавы есть еще куча рутинных дел, от которых никуда не деться. Вот и остается 2-3 часа в день. А по выходным случается страшное — желание расслабиться и отдохнуть.
Но это все отмазки и если им предаться, то можно уже начинать захватывающую карьеру разносчика пиццы…