Java junior что должен уметь – Java разработчик: кто это такой, как стать Java программистом, сколько они зарабатывают

Как стать Junior-разработчиком и устроиться на работу за 4 месяца

Как стать Junior-разработчиком за 4 месяца? Эта статья содержит план обучения и советы, которые помогут начинающим веб-разработчикам.

Перевод статьи Sam Williams — How to Get Your First Developer Job in 4 Months

Изучаем основы

Чтобы стать Junior-разработчиком, очевидно, нужно знать основы. С учётом того, что мне никогда прежде не приходилось заниматься программированием, я начал с HTML и CSS.

Мне посчастливилось найти freeCodeCamp. Это потрясающий сайт, с помощью которого вы можете бесплатно научиться веб-разработке, выполняя небольшие задания по программированию. Задания касаются практически всех областей веб-разработки. Самыми лучшими разделами я считаю “Algorithm Scripting” и “Projects”. Вы практикуетесь в изученном материале, создавая реальные веб-страницы. Я прошёл весь курс front-end разработчика.

Проекты в этом курсе хороши, ведь благодаря им вы можете показать свои приобретенные навыки, создав портфолио. Они также хороши тем, что могут добавить вам дополнительные очки на собеседовании. Например, когда я проходил собеседование, работодатели обсуждали мой проект “JavaScript Calculator”.

Изучаем Git и GitHub

Я начал использовать Git и GitHub, поэтому смог работать над своими проектами во время обеденного перерыва на работе. Знание того, что он делает, и как его использовать, значительно упрощает программистам жизнь.

Я бы порекомендовал начать использовать Git сразу же, как только вы создадите свой первый проект. Вам нужно знать только основы, чтобы продвигать его в GitHub. Наличие вашего кода онлайн позволит будущим работодателям оценить ваши знания и кодстайл.

Как только вы заканчиваете проект, кидайте его на GitHub. Когда кто-то видит GitHub профиль с регулярной поддержкой/созданием проектов, он понимает, что вы целеустремлённый и хороший разработчик.

Также, GitHub может хранить ваше портфолио у себя на сервере. Ссылка имеет следующий вид: https://<your username>.github.io

. Это довольно удобно.

Портфолио

Ваше портфолио — одна из важнейших вещей при трудоустройстве или получении заказов. Чаще всего, это первая вещь, которую будет рассматривать работодатель в резюме.

Когда вы в первый раз создаёте своё портфолио, сделайте так, чтобы оно работало и выглядело хорошо. Не тратьте слишком много времени, разрабатывая его.

Я переделывал своё портфолио 4 раза перед тем, как устроился на работу. Если вы считаете, что изучили многое, чтобы улучшить своё портфолио, сделайте это. Вы не только показываете, что вы знаете, но также отрабатываете свои навыки. Хотя, потратив слишком много времени на совершенствование стилей или анимации, вы начнёте изучать следующие вещи гораздо позже.

Расширяем наши знания

Использовать JavaScript для создания веб-страниц — одно дело, понимать, а как это работает — совсем другое. Я искал в интернете лучшие книги для более глубокого изучения JavaScript и остановился на серии книг You Don’t Know JS. Они находятся в открытом доступе и совершенно бесплатны.

Серия этих книг освещает наиболее важные аспекты в JavaScript, объясняя, как всё работает. Для первой работы вам достаточно будет прочитать и понять Up & Going и Scope & Closures. Остальные книги из серии лучше всего читать, уже будучи Junior-разработчиком. Некоторые темы трудно понять, не встретив их на практике.

В некоторых фрагментах книг вам будет необходимо решить несколько задач. Это делается для того, чтобы повысить уровень понимания материала. Таких фрагментов будет довольно много, особенно в Scope & Closures.

Чтобы усовершенствовать свои навыки, можете изучить новую область в веб-разработке, например, популярную библиотеку или фреймворк. Существует множество обучающих программ для создания проектов с использованием новых технологий. Постарайтесь связывать эти технологии с HTML, CSS и JavaScript.

Практикуемся в изученном

Это одна из самых важных вещей для получения работы. Лучший способ практиковаться — использовать изученные вещи в реальных проектах. Например, если вы изучили адаптивный дизайн, сделайте простой адаптивный веб-сайт. Необязательно, чтобы у сайта был какой-то смысл. Практика с использованием новых знаний — важная вещь.

Чтобы практиковаться в JavaScript, выполняйте алгоритмические задания на freeCodeCamp. Когда закончите, попробуйте Code Wars и Coding Game. Это отличные сайты, на которых есть задачи для любого уровня знаний.

Начинаем подавать резюме

Как только вы закончите со среднеуровневыми проектами на freeCodeCamp, у вас будет достаточно опыта, чтобы стать Junor-разработчиком. Начните подавать заявки на эту должность. Взгляните на своё портфолио и решите, хотите ли вы его обновить или переделать. У вас должно быть намного больше опыта с тех пор, как вы его создали.

Подавайте заявки на вакансии, которые вас интересуют. Сначала попробуйте крупные сайты по поиску работы, затем сайты поменьше. Я получил несколько запросов, потому что разместил своё резюме и портфолио в Интернете. Один из телефонных звонков превратился в собеседование, а затем в приглашение на работу. Рекрутеры заинтересованы в человеке, который хочет стать Junior-разработчиком или уже является им.

Когда я начал подавать заявки, думал о том, что не был достаточно хорош, или о том, что никто не захочет меня брать. Огромное количество людей думает точно так же, когда подают своё резюме на первую работу. Но даже несмотря на отказ, вам просто стоит продолжить учиться и приобретать новые навыки. Другая ситуация может возникнуть, когда вас пригласили на собеседование, но не взяли на работу. Это отличная возможность спросить работодателя о том, какие навыки стоит развить. Большинство будут рады помочь и указать на необходимые требования. Третья ситуация возникает тогда, когда вы оказываетесь лучше, чем вы думали, и вас берут на работу.

У меня было огромное количество негативных ответов, в которых работодатели писали, что им нужен человек с X-летним опытом. Несколько сообщений было примерно следующего характера: рекрутеру понравилось моё резюме и портфолио, но работодателю хотелось взять человека помладше. В конце концов, мне позвонили, пригласили на собеседование, а затем дали работу.

Подготовка к собеседованию

Знайте основы. Практикуйте основы.

Это всё, что действительно необходимо, чтобы стать Junior-разработчиком. Также, имея недавно законченный проект, вам будет о чём поговорить с интервьюером. Если вы прекрасно разбираетесь в собственном коде и сможете объяснить тот или иной момент, это покажет вас с лучшей стороны.

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

Итак, это то, чем я руководствовался при устройстве на работу. Теперь перейдём к вещам, которые я бы сделал по-другому, будь у меня такая возможность. Также я расскажу о том, что узнал, когда помогал нанимать на работу кого-то.

Что бы я сделал по-другому

Если бы я проходил это ещё раз, некоторые вещи определённо сделал по-другому.

Я бы меньше читал блоги про программирование. Несмотря на то, что они довольно интересны и информативны, вы, постоянно читая их, отнимаете у себя время, вместо того, чтобы становиться Junior-разработчиком. Я немного разбираюсь в других языках программирования, фреймворках, но не использовал ничего из этого ни разу.

Я бы меньше выполнял Daily CSS Challenge. Я нашёл Daily CSS Challenge и проводил час или два в день, создавая CSS картинки. Это было довольно забавно, но у меня не было цели становиться дизайнером, т. к. я хотел быть разработчиком. Лучше бы потратил это время на разработку проекта или изучение чего-то нового, что пригодилось бы в моей работе.

Не тратьте много сил на то, чтобы ваши проекты выглядели великолепно. Я потратил около 15 часов на прорабатывание своего второго портфолио. Я перепробовал около 3 или 4 различных цветовых палитр, вариаций дизайна, чтобы сделать портфолио идеальным. Спустя 2 месяца я удалил его и создал портфолио намного лучше прежнего. Я мог бы потратить то время, к примеру, на изучение нужного фреймворка.

Я бы задавал вопросы. Как только мне встречалась проблема в проекте, я часами сидел и искал решение. Иногда у меня это получалось, а иногда я просто ходил кругами по нескольку часов. Я бы решал эти проблемы быстрее и эффективнее, спрашивая людей, у которых есть опыт. Форум freeCodeCamp — потрясающее место, полное опытных и умных людей, которые всегда рады помочь.

Что я узнал «по другую сторону стола»

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

Многие кандидаты, которые проходили собеседование, не знали и не понимали основ. Как бы они смогли создавать компоненты Angular, если они не понимали замыкания?

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

Другой претендент имел поразительное портфолио. Многие проекты были действительно продвинутыми и хорошо сочетались. Он был первым кандидатом на должность. Однако впечатление о нём поменялось во время собеседования. Говоря с ним, было очевидно, что он не понимал большую часть кода в своих проектах. После собеседования, я, погулив, обнаружил, что все его проекты — это step-by-step гайды.

Если вы включаете такой проект в своё портфолио, вы должны быть уверены в том, что разбираетесь в написанном коде и можете его объяснить. Лучше всего просто сделать проект, в котором используются ваши знания, полученные из подобного гайда.

Чтобы стать Junior-разработчиком за 4 месяца и устроиться на работу, вам нужно:

  • Изучить основы. freeCodeCamp вам в этом поможет.
  • Использовать Git и GitHub для хранения и демонстрации вашей работы.
  • Сделать портфолио, которое определяет ваши навыки и показывает их.
  • Расширить знания в языке.
  • Практиковаться в изученном.
  • Подавать резюме, не боясь отказов. Зачем ждать?

Статьи по теме:

Как стать Junior Java Developer за 6 месяцев УЦ-ITVDN

Учимся учить Java

 

В статье содержатся краткие советы о том, как стать Junior Java Developer за 6 месяцев. Данный материал будет полезен не только тем, кто хочет выучить Java, но и все новичкам в IT. Статья поможет вам упорядочить информацию и узнать секреты успешных практик обучения.

 

Формулируем цель

Очень важно перед началом обучения ответить на такие простые вопросы: «К чему вы двигаетесь?», «К чему вы хотите прийти?» Это поможет понять, сколько времени вам понадобиться. Разобравшись с этими вопросами, у вас появится мотивация. Если вы собираетесь стать разработчиком только из-за наживы, то вот вам первый совет – возьмите небольшую паузу и подумайте, готовы ли вы много страдать из-за призрачных долларовых зарплат в будущем? Возможно, вам стоит подумать о другой работе в сфере IT, например, менеджер по работе с клиентами, кадровый сотрудник, тестировщик. Деньги – это важно, но не главное. Если это ваша единственная мотивация, то буквально через два года вы разочаруетесь.  

 

Перед тем, как начать что-то делать, спрашиваем себя – «Зачем?»

Чем вы готовы пожертвовать ради достижения цели – ответьте на этот вопрос. Это не всегда касается материальной стороны. Отдавать можно время и усилия. То есть, готовы ли вы пожертвовать друзьями, работой, хобби, чтобы уделять максимум времени учебе?

Нужно понимать, что необходимый минимум времени обучения Java – это 2 часа теории в день, и те же 2 часа практики. То есть, готовы ли вы отдавать учебе 20 часов в неделю?

 

Резюме

Еще до изучения Java создайте себе резюме. Даже если у вас нет еще навыков, начав заполнять резюме, вы еще раз сформируете свою цель и более четко осознаете, к чему стоит стремиться. Чем четче цель, тем быстрее вы достигнете желаемого. Дальше, раз в 2 недели обновляйте свое резюме – добавляя навыки, которые вы получили.

 

Метрики

Обязательно обзаведитесь привычкой измерять ваш успех. Мерилом могут выступать часы – сколько времени за неделю было потрачено на обучение, или выполненные практические задания. Как их много? Обязательно записывайте сколько вы потратили времени, сколько заданий сделали за день, а в конце недели считайте сумму.

 

Когда лучше учиться?

Однозначный ответ – с утра. Даже, если вы сова. Даже, если вы не работоспособны с утра. Давно доказано, что все самое неприятное и сложное легче сделать на свежую голову. С начала учимся, практикуемся, потом делаем все остальное: едем на работу, отдыхаем.

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

 

Работа в команде

Практика IT утверждает, что максимального эффект мы достигаем, работая в команде. Когда знакомимся с работой единомышленника, когда берем самое лучше от наставника, когда думаем над решением вместе. Это дает синергию. Не старайтесь делать все в одиночку, ищите себе друга по “парте”.

 

Рассказывайте другим

Найдите себе среди близких или друзей “жертву”, благодарного слушателя, которому будете рассказывать только пройденный материал. Если вы сможете объяснить прочитанное и выученное другому человеку – значит вы все поняли и можете двигаться дальше. Так же, это хорошая практика подготовки к будущим собеседованиям. Во-первых, вы научитесь отвечать на каверзные и, возможно, глупые вопросы, во-вторых, вы будете тренировать разговорные навыки и уже не так страшно будет отвечать на вопросы интервьюера.

 

Повторение – мать учения

Мозг запоминает хорошо то, что чаще всего происходит. 2-3, если нужно, 5 раз повторяйте пройденный материал. Например, прошли раздел по ООП, решали задачи, прошли тест, перешли к другим задачам, через некоторое время опять вернулись к теме ООП.

 

Используйте каждую минуту для учебы

Поездка в транспорте, очередь в поликлинике или банке – читайте статьи и книги, смотрите полезную информацию так часто, как можете. Закачайте несколько книг по Java и не тратьте время впустую.

 

Как учится?

Это самый сложный вопрос, с которым сталкиваются новички. У всех способов есть свои плюсы и минусы, выбирайте по себе.

  • Самостоятельно.

Самый сложный способ. Явный плюс – это минимальные затраты. Но самостоятельно очень трудно дойти до конца, справиться с задачей и закончить начатое. Вам будет сложно постоянно находить в себе силы продолжать учиться.  

Есть программа, но мы не знаем, какие знания она дает. Нужно внимательно ее выбирать, не все курсы онлайн подходят, если вы решили стать Java разработчиком. Перед выбором читайте комментарии, связывайтесь с людьми, которые оставили отзывы. Спросите помогли тренинг/курсы или нет, какие достоинства и недостатки они могут назвать. Неоспоримым плюсом онлайн обучения является то, что вы можете получать знания в любое время в любом месте. Но это и минус. Иллюзия доступности играет иногда злую шутку, мы забрасываем. Часто онлайн обучение не сопровождается коммуникацией с тренером, с группой. Поэтому лучше проходите такие курсы с кем-то. Ответственность перед другим человеком уменьшает вероятность сдаться. Если вы учитесь сами, то заведите себе хорошую привычку делать ежедневные отчеты о проделанной работе или кому-то из друзей-знакомых, или блокноту.

Практически все они платные, но, тем не менее, вы имеете возможность общаться вживую, получать больше внимания от тренера и, соответственно, задавать вопросы. Готовьтесь к урокам, формулируйте дома вопросы, чтобы взять от занятий максимум. Так же оплата, обычно, может гарантировать более высокое качество услуг. Такие курсы отработаны на практике, программа обычно хорошо адаптирована под студентов. Большинство тренинг-центров дорожат своей репутацией. Но ответственность за результат все равно остается на вас, за вас никто работать и учиться не будет. А еще, наша с вами психология такова что, то за что мы платим очень тяжело бросить.

  • Персональный коучинг/менторство

Если найдете себе личного учителя – это несомненно круто, потому что вы всегда имеете возможность двигаться с тем темпом, который подходит вам, без оглядки на других студентов. У вас всегда будет старший коллега, который поможет и в теме разобраться, и решить какую-то задачу. Более того, вы можете получить персональные рекомендации. Один существенный минус – это дороговизна персонального обучения.

  • Обучение в компании

Это очень круто, многие большие компании проводят свои собственные бесплатные тренинги и готовят специалистов «под себя». То есть, пройдя такое обучение, у вас появится возможность остаться работать у них. Существенные недостатки заключаются в том, что на подобное обучение очень высокий конкурс, а компания, которая инвестировала в вас, рано или поздно захочет получить дивиденды.

 

Решайте задачи и радуйтесь

Вы будете намного счастливее, если будете ставить для себя реальные задачи. Когда шаг за шагом у вас будет получатся справиться все с большим объемом задач, эндорфинов будет выделяться все больше, а вы будете получать все больше радости.

 

Ключевые качества Junior Java Developer

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

Junior Java Developer имеет и умеет:

  • Как минимум полгода написания кода на Java,
  • Отличное владение синтаксисом языка,
  • Понимание принципов ООП и умение их применять,
  • Умение решать алгоритмические задачи,
  • Понимание из чего “сделан” collections framework,
  • Умение ловить и обрабатывать исключения,
  • Практика написания юнит-тестов,
  • Умение записывать данные в файл или базу,
  • Знание, как написать свое веб-приложение,
  • Владение контейнерами, например, tomcat и SpringloC,
  • Не бояться консоли и уметь пользоваться linux bash,
  • Умение собирать приложение автоматически, деплоить на удаленный сервер,
  • Навык подключения к базе через Hibernate,
  • Знание хотя бы одного фреймворка,
  • Минимальное знание JavaScript на уровне написания одностраничного сайта.

Если все выше сказанное вас не пугает, то вооружайтесь этими советами и вперед к новой профессии. Главное, помните, немного строгости к себе и за полгода вы станете Junior Java разработчиком.

 



Если материал был полезен, вы можете отправить донат или поделиться данным материалом в социальных сетях:

получаем первую работу / Habr

Здравствуйте! Коротко о себе: программирую с 1989 г., с 2005 года в Java, с 2013 года работаю Java-тренером (до января этого года совмещал с основной работой Java-разработчика). Достаточно много моих выпускников трудоустроились, и я хочу поделится своими соображениями, как получить работу Java-разработчика (и не только Java).

От изучения Java до получения оффера работы — большое расстояние


Требования к кандидатам на вакансию Java разработчика достаточно высоки, см. пример тестового задания на джуниора от одного из аутсорсеров РБ. Конечно есть позиции и с меньшими требованиям, но их не так много и, по статистике на Украине (dou работает через прокси, в России не нашел), соотношение Отклики/Вакансии на такие позиции: от 20 до 50.

Для вакансий с опытом работы (которых значительно больше) получается замкнутый круг: без опыта не получить работы, а без работы не получить опыта. На вопрос «Кто виноват?» ответ очевиден — компании, которые не хотят вкладывать время и деньги в обучение, а хотят получить уже готового специалиста. Остается главный вопрос:

Что делать?



Крупные компании в основном закрывают позиции юниоров своими стажерами. Один из вариантов трудоустройства — пойти на стажировку, но
  • здесь также большой конкурс
  • далеко не все, успешно окнончившие стажировку, получают работу
  • иногда условия обучения достаточно тяжелые и подойдут не всем. Из отзыва про стажировку в EPAMе РБ:
    Там все настолько жутко строго, что я до сих пор в шоке. У них там сильный отбор… все оценивается, дз, тесты, устные опросы, ну и в конце защита своего проекта. Нам назначают таски и ставят дедлайны. Не успел залить таск — все, до свиданья… Чувствую себя как в школе… Вплоть до того что у нас есть список из 200-230 вопросов примерно по всем темам, которые мы должны знать без запинки. Конспекты ведем(!), на каждый вопрос письменный ответ и это проверяется… Епам себе дрессирует программистов) по другому и не скажешь…

Шаги другого варианта хорошо знакомы (отличное видео Якова Фейна «Как стать профессиональным Java разработчиком«):
  • Хорошее резюме
  • Приглашения на собеседования и тренировка в их прохождении
  • Получение оффера

Хорошее (выделяющееся) резюме означает, что его замечает HR и отправляет вам приглашение на собеседование.
В интернете есть большое количество рекомендаций, как этого добиться:
Но, на мой взгляд, главное:

Позиционируйте себя НЕ как юниора.


Для этого необходимо:
  • Хорошее понимание основ: как устроена память, что такое JMM, опыт работы с сервлетами, JUnit, SQL
  • Уровень выше Java Core: основы Maven, Spring (MVC, Security, Test), JPA(Hibernate), REST. Также желательно основы JavaScript и HTML/CSS

Материалов по Java фреймворкам и технологиям в интернете много. Но если вы хотите их освоить, а не прочитать/посмотреть и забыть, необходимо написать на них собственный пэт-проект. Это может быть проект домашней библиотеки или бухгалтерии, или кормления кота или… Хорошо, если в нем будет реальная потребность — тогда при его эксплуатации вы постепенно будете приходить к оптимальным решениям.

Лучше всего делать его на основе небольшого проекта на популярном стеке, например референсной имплементации Spring Pet clinic. С первого раза сделать код красивым и правильным не подсилу даже синьору. Проект должен жить и нести его владельцу радость приобщения к красоте кода через рефакторинг. И, кроме понимания технолигий и развития чувства перкрасного, из работы над собственным проектом Вы получаете навыки нахождения красивых и практических решений для конкретных задач и решения конкретных проблем, из которых состоит ежедневная работа программиста. Для этого нужно:

  • понимание, как работают фреймворки, на чем они основаны, какие паттерны используются
  • кругозор, навыки решения подобных задач
  • работа с инструментами: Git, IDEA, Maven, Tomcat, DB клиент, тестирование REST сервисов
  • умение находить правильные решения в интернете (70-80% это умение выбрать из найденного в Stackoverflow)

Эта задача непростая и, если знаний, опыта, времени недостаточно, рекомендую пройти какой-нибудь тренинг Java Enterprise на этом стеке, обязательно с написанием проекта на основе пройденных технологий на выходе. Мои критерии тренинга:
  • Ведет преподаватель с опытом в Java разработке, лучше как синьор или архитектор
  • Максимальный охват: самые важные и необходимые Java разработчику темы, API, фреймворки, инструменты в одном курсе.
  • В течении тренинга разрабатывается законченный Enterprise проект. Темы идут не по отдельности (в воздухе) на отстраненных примерах, а последовательно, в связке, как дополнения к созданию единого работающего приложения.
  • Последовательное возрастание сложности: от нуля до деплоя готового приложения в облако
  • Практика! Участники на протяжении всего курса должны работать с кодом проекта. Объязательны домашние задания. Если дают только теорию (всего понемногу), то это, на мой взгляд, выброшенные деньги и время. Без практики любое обучение (Java, английский, езда на велосипеде) ничего не стоит.
  • Поддержка группы и преподавателя: возможность задать любой вопрос и получить на него квалифицированный ответ.
  • Доступность и структурированность материалов
  • Ревью Вашего кода.
  • Помощь в составлении резюме и с трудоустройством. Если вам гарантируют по окончанию 100% трудоустройство — не верьте. Хорошо сказано в статье про работу разработчика:
    Работа программиста – не столько профессия, сколько образ жизни. Обучение в университете, самообразование, хобби и, что немаловажно, страсть – ключевые составляющие успеха в этой сфере.

После того, как у Вас будет опыт в собственном Java Enterprise проекте,

Сделайте новое резюме:


Типичное резюме Java юниора начинается так:
Начать карьеру как junior Java developer в современной, перспективной компании, чтобы через 3 года стать специалистом…
Хорошо обучаем…
Оптыт работы: отсутствует
Прошел курсы…

Нужно:
  • убрать слова «начать карьеру», «юниор» и «готов к обучению»
  • вставить в квалификацию все изученные вами технологии
  • в опыте работы написать об участии в проекте с его кратким описанием

Например, ОПЫТ РАБОТЫ:
Участие в разработке Spring/JPA Enterprise приложения c авторизацией и правами доступа на основе ролей на стеке Maven/ Spring MVC/ Security/ REST(Jackson)/ Java 8 Stream API:
  • реализация сохранения в базы Postgres и HSQLDB на основе Spring JBDC, JPA(Hibernate) и Spring-Data-JPA
  • реализация и тестирование REST и AJAX контроллеров
  • реализация клиента на Bootstrap (css/js), datatables, jQuery + plugins.

С таким резюме вы можете не бояться обращаться на вакансии с требованием 1-2 года опыта и, возможно, пройдете на следующий уровень: «Приглашения на собеседования и тренировка в их прохождении», что уже требует отдельной статьи.

Спасибо за внимание и желаю отличной карьеры в IT.

Как стать Java Middle Developer? — Хабр Q&A

Во-первых, само разграничение на джуна, мидла и сеньора очень условное. Я видел примеры того, как сеньор из одной компании не тянул на джуна в другой. Обусловлено это может быть как разным уровнем требований к профессионализму сотрудника, так и степенью соответствия области знаний сотрудника области деятельности компании. Экосистема Java очень объёмна, даже в её пределах знать всё тяжело.
Во-вторых, объективно оценить себя самостоятельно невозможно. И даже оценка со стороны тоже может быть не показательна, как я уже писал выше, в разных компаниях разные нормы. И серьёзность компании не показатель. Я видел супепрофессиональные отделы в региональных продуктовых магазинах и частных клиниках и видел огромные ИТ-службы полностью состоящие из профанов в федеральных банках и транснациональных торговых сетях.
Решаются эти две проблемы относительно просто — смело претендуйте на большее. Естественно, вас попросят подтвердить ваш уровень. Если смогли, вы ему соответствуете. Если нет, готовьтесь лучше. И чем большему количеству людей вы сможете доказать свой уровень, тем более он объективен.
Что касается развития и целей для дальнейшего роста, мозг развивается, если его напрягать. Нужно всё время практиковаться, всё время изучать что-нибудь новое, всё время искать дополнительные способы применить свои силы. Я часто слышу, что в маленькой компании нет возможности развиваться — это неправда. Как раз в кровавом энтерпрайзе приходится делать годами одно и то же и работать с махровым легайси, без возможности что-либо изменить без полугодового согласования экономического обоснования изменения. Маленькие компании на много более гибкие в выборе технологий и методов работы. К тому же, всегда есть возможность завести пет-проект. Чтобы выбрать технологий для пет-проекта, найдите все вакансии java-программистов на нескольких работных сайтах, отсортируйте по зарплате и в списке требований топовых позиций найдите то, чего не знаете. Потом повторите подобную операцию с фрилансерскими биржами.

Специальность Java developer, обязанности Java разработчиков

Java Developer – это специалист, основной задачей которого является создание сложных корпоративных систем для обработки данных. К таким системам можно отнести настольные приложения, веб-сервисы, облачные хранилища данных, веб-приложения, а также сложные банковские системы.

Java – объектно-ориентированный строго-типизированный язык программирования с С-подобным синтаксисом, который наиболее близок к C++ и C#. В Java есть как свои преимущества, так и недостатки. Учитывая тот факт, что для запуска Java-приложений используется специальная виртуальная машина, то приложения запускаются медленнее, чем в случае с C++, но эта виртуальная машина позволяет запускать приложения на той операционной системе, где она установлена, что обеспечивает независимость от платформы. Java имеет огромное количество библиотек и фреймворков, которые позволяют разрабатывать собственные приложения быстрее.

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

Java-разработчик должен обладать уверенными знаниями объектно-ориентированного программирования, уметь писать простой читабельный код с применением шаблонов проектирования, чтобы разработчик с которым он работает в команде мог разобраться в его коде, знать алгоритмы и структуры данных, так как для многопользовательского приложения важна скорость выполнения и приходится искать самый эффективный алгоритм, знать базы данных, так как очень часто приходится выполнять сложные запросы и выборки из нескольких таблиц. Java имеет множество библиотек и фреймворков. Разработчикам нужно знать их не только на уровне использования, но и понимать, как эти библиотеки и фреймворки устроены внутри.

Для легкого старта в изучении языка Java ITVDN рекомендует пройти курсы Java Starter и Java Essential. Java разработчику не обойтись без глубоких знаний баз данных (SQL), а также алгоритмов и шаблонов проектирования. После этого можно переходить к уровню Java Professional.

Требования к Java Developer:

  • Глубокие знания языка программирования Java
  • Уверенные знания ООП и шаблонов проектирования
  • Уверенные знания алгоритмов и структур данных
  • Знания баз данных (MySQL или PostgreSQL)
  • Знания JDBC и базовые знание Hibernate
  • Знания систем тестирования приложений (TDD)
  • Знание веб-сервисов таких как XML и JSON
  • Базовые знание фреймворка Spring
  • Английский язык на уровне чтения технической документации (углубленные знания будут преимуществом)

Java разработчик может занимать такие должности:

Trainee Java Developer
Junior/Middle/Senior Java Developer
Программист Java
Java Team Lead
Java Solution Architect
Lead Java Engineer

Пройти путь до должности Java Junior Developer

И так, Java я изучаю уже около 2-ух лет. Но из этих двух лет можно смело отбросить где-то год, так как были моменты, когда я, кратко говоря, забивал на изучение Java. Во общем, я неплохо знаю Java Core, но этого не достаточно. На свою бывшую работу, а это было месяц назад, я возвращаться категорически не хочу. Работал я мерчендайзером… и больше им работать не хочу.

И так, чтобы стать Java программистом — изучением одной Java не отделаешься. Можно найти любую вакансию на данную должность и посмотреть, что там требуют. Да, когда я смотрел вакансии, аж кровь стыла в жилах. Требуют много, да еще и разбираться в этом нужно неплохо. Но, я справлюсь.

Во обще, у большинства вакансий на Java Junior Developer требуют опыт от одного и более лет. Вот где его взять этот опыт. Без опыта не берут, а чтобы набраться такого опыта, нужно работать на какого-то дяденьку, где можно и получить данный опыт.

Также, я изучал Java с помощью ресурса под названием JavaRush. Скажу сразу — вещь крутая и проходить данный ресурс обязательно! И это не реклама. Там около 1000 задач во всех 40-ка уровнях, которые реально, если их решить, тебя прокачают. Там у меня 20 уровень, до которого я дошёл примерно за 1 месяц. Не заходил туда около месяца, а то и больше, так как работал, и работа эта немного мешала учёбе.

Ранее прочитал книгу по HTML (HeadFirst), и книгу по SQL. Разбирался с JDBC. Читал книгу по паттернам проектирования (Head First). Все эти книги я читал около года назад, так что буду повторять.

Что я планирую выучить, прочитать, продолжать учить в ближайшее время:

Java, SQL, JDBC, сервлеты, jsp, паттерны проектирования, HTML & CSS, Spring, Hibernate, XML, Maven, Ant, SVN, jUnit, логирование, GIT, TomCat, ну и английский язык(хотя бы до уровня чтения технической документации).

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *