Содержание

Как стать программистом, если очень хочется, но опыта нет

Предыстория

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

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

В уме я всегда держал, что буду работать программистом. Так в итоге и получилось.

Объявление о работе я нашел в ВК

Работу Java-программиста я начал активно искать на пятом курсе, но сначала решил пройти стажировку в какой-нибудь компании. Объявление о стажировке я увидел в паблике МАИ в ВК. Про «Инфосистемы Джет» я, честно говоря, слышал впервые. Нашел информацию о компании в интернете, мне все показалось интересным, и я оставил заявку на их сайте.

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

Затем для тех, кто справился успешно, устроили еще одно собеседование. Только после этого мы все попали в группу обучения, а потом я получил приглашение работать Java-разработчиком. Но это, как говорится, совсем другая история, и рассказать я хочу не об этом.

Я прочитал всего одну книгу по программированию

Можно сказать, что я самоучка.

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

До того как я начал серьезно учиться программировать на Java, я прочитал всего одну книжку о программировании. Это был курс «С++ за 21 день».

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

Почему я выбрал Java?

  • На мой взгляд, Java – едва ли не единственный язык программирования, от начала изучения которого до получения конечного продукта проходит не так много времени. Возможно, я такой человек, которому хочется поскорее «пощупать» результат. Чистая теория меня не очень привлекает.
  • Передо мной стояла определенная цель. Я понимал, что работу программиста мне получить будет крайне сложно, необходимо на будущем собеседовании показать хоть что-то и сказать: «Опыта работы нет, диплом тоже – не совсем то, что нужно, но зато есть вот это – посмотрите». Но, к счастью, я получил работу через стажировку.
  • Сейчас есть огромное количество разнообразных руководств для разработки приложений для ОС Android. Так что здесь у меня буквально все сходилось: и материалов для обучения достаточно, и существовала возможность сравнительно быстрого получения легко осязаемого результата.

Одним словом, после короткого курса C++ я взялся за какое-то руководство по Java для начинающих. Не помню, как оно называлось, помню только, что я бросил его читать, не добравшись и до середины. Мне хотелось поскорее «прогать».

Потом я видел очень много руководств для начинающих и могу сказать точно: принципиальной разницы между ними нет. Они примерно одинаковые. Чтобы что-то найти, нужно просто забить в Google запрос «book for java starter» – и в путь.

Много ответов на свои вопросы я нашел в этом телеграм-канале.

В сети мало русскоязычных источников по программированию. Смиритесь с этим

Да, и еще одна важная вещь. Нужно смириться с тем, что в русскоязычном сегменте сети довольно мало книг и ресурсов по программированию, если сравнивать с количеством англоязычных источников.

Конечно, в программировании без знания английского на хорошем уровне – просто никуда. Так что тем, кто знаком с английским на уровне Google.Переводчика, я могу посоветовать только одно: сначала прокачайте свой английский. Все остальное – потом.

Конечно, не все так грустно: на русском языке есть «Инструменты для разработчика Google». Но начинать в любом случае нужно не с этого.

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

С чего я начал «прогать»

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

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

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

Какие ресурсы могут помочь новичку

Там можно с вероятностью до 90% получить исчерпывающий ответ на вопрос, с которым ты сталкиваешься в разработке.

  • Репозитарий с исходниками Github.com.

Он очень помог учиться на чужих примерах.

Там есть много скринкастов, которые очень быстро позволяют разобраться в какой-то конкретной технологии.

Свое первое приложение я разработал за месяц

Короче говоря, приложение я сделал буквально за месяц. Самыми полезными источниками знаний стали Developer.android.com и все тот же Stackoverflow.com. Самое интересное, что рутинный процесс выкладывания приложения в Google Play занял целых два месяца. Хотя, может быть, все продолжалось так долго, потому что после разработки мой запал немного подостыл. А немного позже я разработал веб-версию приложения, прочитав книгу Beginning Java EE 7.

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

Вдобавок я не хочу ни в коем случае умалять значение университетского образования и говорить: «Зачем все это нужно? Вот, посмотрите, все получилось и так». Нужно. Университет на самом деле дает очень много и, может, самое главное – воспитывает привычку учиться.

И все же: программировать можно научиться самому. Теперь я это точно знаю.


Материалы по теме:

Как попасть на стажировку в «Яндекс», поучаствовать в разработке «Алисы» и остаться в штате

Личный опыт: Как за один год пройти путь от фотомодели до программиста

Мой первый год программирования в реальном времени на Twitch: уроки и итоги

Как мы научили беженцев кодить и помогли найти работу программистами

Заметки HR-а: почему так сложно найти хорошего разработчика

Мой путь Java программиста — Личный опыт на vc.ru

Я более 8 лет занимаюсь профессиональной Java разработкой. На данный момент я возглавляю исследовательский отдел в крупной Европейской компании в качестве Ведущего Java Архитектора.

15 045

просмотров

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

Помню молодого себя, только получившего диплом о высшем образовании. За годы обучения я так и не научился программировать ни на C++ ни на Java. Нас заранее учили по устаревшим учебникам и книгам, мы прыгали с одного языка программирования на другой.

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

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

Для меня, это послужило огромной мотивацией и в тот самый момент я поставил себе цель — получить оффер и поработать в крупнейших Американских и Европейских компаниях. Я понимал, что если я хочу следовать за мечтой, мне надо заняться самообразованием и надеяться только на себя.

Так я начал читать книги и прочую литературу по Java программированию. Но чем больше я читал, тем больше вопросов у меня появлялось, непонятных терминов и аббревиатур, а потом голова шла кругом ). Ведь большинство книг для начинающих написаны так, как будто читатель должен быть профессором или обладать 10-ти летним опытом работы в программировании.

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

Так, в чём же залог успеха?

  • Обучение по 16 часов в день, двумя спринтами по 5 дней. Очень важно иметь полноценный отдых, желательно по 2-3 дня межу спринтами.
  • Не пытайся учиться на сложных примерах и туториалах. Я наступил на все эти грабли, пытаясь создать сайты, мессенджеры, игры. Не чем хорошим, это не заканчивалась, на половине пути я понимал что ничего не знаю и в голову приходи мысли, что наверное программирование это не моё. Лучше писать очень простые программы, но на 100% понимать как они работают.
  • Не пренебрегай тем, как работает виртуальная машина Java, что такое стек, куча, типы переменных. Мне казались эти вещи не важными, ведь я учусь программировать, а не теорией заниматься. Каково же было мое удивление, когда на собеседовании я полностью завалился на теории, даже не приступив к программированию.
  • Последовательное изучение материала, очень важно. Перед тем как переходить на следующую лекцию, будь на 100% уверен, что ты полностью понял текущую.
  • Не бойся отказов на собеседованиях, я завалил около 8 собеседований, прежде чем найти работу. После каждого проваленного собеседования, я становился только уверенней, выписывая на листочек все вопросы на которых я завалился.

КАК СТАТЬ JAVA-ПРОГРАММИСТОМ

Язык программирования Java — это современные технологии, которые позволяют создавать шедевры своим умом. Если вы любите сидеть за компьютером, у вас развито логическое мышление, а в результате получаете удовольствие от работы, значит вы на правильном пути.

Какой язык программирования выбрать?

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

Это важный этап для начинающего программиста. От этого зависит область работы разработчика, его развитие в перспективе и — материальная составляющая — доходы. Опыт показывает, что в настоящее время новички выбирают язык Java.

Знание английского — обязательно

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

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

Колоссальный ресурс

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

Его главные отличия:

  • объектно-ориентированный;
  • устойчивый, многопоточный и безопасный;
  • программное обеспечение различной сложности;
  •  игры, мобильные приложения.

 

Особенности языка Java

Удобно, когда из-за наличия специального байт-кода Java-приложения могут воплощаться в жизнь независимо от операционной системы в любом устройстве. Это — делает язык самым востребованным. Java — многофункциональный язык программирования. Компании в 90% используют его для разработки десктопных приложений, бэкэнд-систем, применяя принцип объектно-ориентированного программирования.

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

Преимущества:

  • грамотная подача информации — программа курса предусматривает изучение Java, начиная от работы с системами управления базами данных и создания web-сайтов и заканчивая — разработкой клиентских сценариев и созданием сервисных решений с использованием языка Java;
  • высокая заработная плата разработчика — от 500$ — до 3000$ в месяц;
  • перспективная профессия — в мире рост IT–технологий идет в геометрической прогрессии. Это подтверждает предположение о том, что отрасль постоянно нуждается в квалифицированных специалистах;
  • интересные условия труда в IT компаниях — офис, оснащенный современным оборудованием, комфортное рабочее место. Работники изучают английский язык, предусмотрено медицинское страхование, предлагается комната отдыха;
  • работа в любой точке мира — рынок IТ позволяет работать в удобном режиме из любой точки мира;
  • гарантированное трудоустройство  — IT отрасль — это огромное направление, где число свободных мест превосходит число специалистов.

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

Сделайте свой выбор!

Компьютерная академия «ШАГ», Россия — КАК СТАТЬ JAVA-ПРОГРАММИСТОМ ? Язык программирования Java — это современные технологии, которые позволяют создавать шедевры своим умом. Если вы любите сидеть за компьютером, у вас развито логическое мышление, а в результате получаете удовольствие от работы, значит вы на правильном пути. Особенности языка Java: Удобно, когда из-за наличия специального байт-кода Java-приложения могут воплощаться в жизнь независимо от операционной системы в любом устройстве. Это — делает язык самым востребованным. Java — многофункциональный язык программирования. Компании в 90% используют его для разработки десктопных приложений, бэкэнд-систем, применяя принцип объектно-ориентированного программирования. Важно знать о значительной роли Java в разработке операционной системы Android, половина смартфонов мира работают с приложениями, которые формируют программисты на языке Java. Преимущества: -грамотная подача информации — программа курса предусматривает изучение Java, начиная от работы с системами управления базами данных и создания web-сайтов и заканчивая — разработкой клиентских сценариев и созданием сервисных решений с использованием языка Java; -высокая заработная плата разработчика — от 40000 — до 150000 в месяц (остальное ограничивается только вашими способностями); -перспективная профессия — в мире рост IT–технологий идет в геометрической прогрессии. Это подтверждает предположение о том, что отрасль постоянно нуждается в квалифицированных специалистах; -интересные условия труда в IT компаниях — офис, оснащенный современным оборудованием, комфортное рабочее место. Работники изучают английский язык, предусмотрено медицинское страхование, предлагается комната отдыха; -работа в любой точке мира — рынок IТ позволяет работать в удобном режиме из любой точки мира; -гарантированное трудоустройство — IT отрасль — это огромное направление, где число свободных мест превосходит число специалистов. Подробнее о Java и нашем курсе по ссылке: https://msk.itstep.org/blog/how-to-become-java-programmer

Компьютерная академия «ШАГ», Россия на Facebook. Если вам интересны новости Компьютерная академия «ШАГ», Россия, регистрируйтесь на Facebook сегодня!

Профессия Java-разработчик: детальное описание

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

Java-разработчики (Java Developers) – востребованные специалисты. Их услуги нужны в студиях разработки в работе с клиентскими продуктами и на частных предприятиях для поддержки собственного ПО.

У вас может возникнуть вопрос — а где и как освоить профессию?

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

В соответствии с опросом Stack Overflow, более 35% программистов постоянно используют в своей работе Java:

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

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

Бесплатный вебинар

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

На вебинаре вы узнаете:

✔ Как начать путь Java-разработчика с нуля;

✔ Какие компании ищут Java-разработчиков;

✔ Какие навыки нужны разработчику, чтобы его звали в крутые проекты.

Даниил Пилипенко
Директор центра SymbioWay

Что делает Java-разработчик: должностные обязанности

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

В должностные обязанности такого специалиста входит:

  1. Клиентская работа. Часто необходимо выяснять проблемы напрямую у заказчика услуг: что не работает, что нужно переделать, как должно работать то или иное решение.
  2. Разработка архитектуры и программных модулей десктопных, веб- и мобильных приложений.
  3. Тестирование приложений и сервисов, выявление ошибок.
  4. Устранение выявленных проблем и внедрение новых решений в программные продукты.
  5. Техническая поддержка приложений на всех этапах их использования.

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

Какие личные качества и навыки нужны

Личные качества:

  • способности к точным наукам;
  • аналитический склад ума;
  • сосредоточенность;
  • усидчивость;
  • пунктуальность;
  • желание и рвение к саморазвитию, самообучению.

Специфические технические навыки:

  1. Знания языка Java на практике.
  2. Доскональные знания объектно-ориентированного программирования, фундаментальные знания объектно-ориентированного дизайна.
  3. Навыки использования библиотек Java.
  4. Знание языков разметки: HTML, XML.
  5. Знание: SQL, MySQL, Microsoft SQL Server, Microsoft Access.
  6. Понимание других языков: C++, PHP, Python.

База знаний очень большая, но освоить все это можно за 1-2 года, если прилагать усилия в нужном направлении и уделять этому хотя бы 1-3 часа в день.

Уникальное предложение — -50% на ВСЕ курсы Skillbox. Получите современную онлайн-профессию, раскройте свой потенциал.

Активировать скидку →

Уровни квалификации и карьерный рост

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

  1. Молодые специалисты без опыта. Это пока не разработчики, но у них есть фундаментальные знания, которые могут быть полезны для развития в направлении. Чаще всего они работают стажерами в крупных компаниях на подхвате у более опытных специалистов, им передается часть рутинных задач, позволяющих развить навыки.
  2. Junior Java Developer – младший специалист. У него мало опыта, но есть большая теоретическая база для развития. Он может писать код, но работу проверяют более опытные специалисты.
  3. Middle Java Developer – более опытный специалист, его код уже не нуждается в проверке. Ему передают более сложные задачи.
  4. Senior Java Developer – это разработчик высшего класса. Он отвечает за выполненную работу непосредственно перед Team Lead-ом и руководителями проектов. В его работе нет или практически нет ошибок.
  5. Team Lead – руководитель команды разработчиков. Он раздает ТЗ младшим специалистам, при необходимости сам участвует в разработке и может вытянуть на себе проект.

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

Сколько зарабатывают программисты на Java

По данным trud.com, средний доход Java-разработчиков достигает 140 000 р. Зарплаты стабильны в ежемесячном и годовом разрезе.

Средний доход Java-разработчиков по данным trud.com

Наиболее востребованы такие специалисты в Московской области, на долю Москвы и области приходится почти 88% процентов вакансий:

Статистика зарплат по регионам:

Hh.ru представляет еще более позитивную статистику по зарплатам.

●     минимальный порог – 75 000 р.;

●     самые высокие зарплаты – от 310 000 р.

Доходы по уровням навыков:

●     Junior – 50-80 тыс. р.;

●     Middle – 90-150 тыс. р.;

●     Senior – 150-250 тыс. р.;

●     Team Lead – 100-320 тыс. р. в зависимости от должностных обязанностей.

Востребованность профессии

Несмотря на упомянутый ранее большой возраст языка: впервые он появился в 1995 году – востребованность в квалифицированных кадрах от года к году растет (смотрите статистику по России с 2010 по 2016 год ниже).

Таким образом, если вы хотите войти на рынок IT, то стать программистом на Java будет неплохим решением. Тем более, что при правильном подходе сделать это можно за 1-2 года.

Как обучиться

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

  1. Синтаксис языка от основ к продвинутому уровню.
  2. Основы работы с GIT.
  3. Объектно-ориентированное программирование.
  4. Структуры данных и производительность.
  5. Усовершенствованные структуры данных в Java.
  6. Инструменты алгоритмизации для Java.
  7. Структуры данных.

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

Мы собрали дайджест → эффективных курсов Java-разработчиков.

Там представлены программы от ведущих школ со структурированной подачей информации. Они помогут быстро войти в Java-разработку. В подборке представлены курсы для начинающих и уже практикующих специалистов для развития навыков. Выбирайте свою программу и вперед. Мы будем рады, если вам помог этот материал. Лучшая благодарность – ваш комментарий внизу.

 

Поделитесь материалом в соцсетях — обсудите его с друзьями и коллегами!

Не знаете с чего начать?

Получите персональный список курсов, пройдя бесплатный тест по карьере

Средняя зарплата (2020) * 89190 долларов ( все программисты )
Начальное образование Бакалавриат
Перспективы занятости (2019-2029) -9% все программисты )
Рабочая среда Офис