JavaRush/Java блог/Архив info.javarush/Из философов в разработчики
Exidnus
38 уровень

Из философов в разработчики

Статья из группы Архив info.javarush
участников
Всем привет! Вчера закончился испытательный срок, так что пора рассказать историю, как я стал разработчиком. Буду краток: зовут Дмитрий, 26 лет, защитил кандидатскую диссертацию по философии, но примерно год назад начал заниматься на JavaRush'e и три месяца назад устроился работать Java-программистом. Философии я посвятил в общей сложности около восьми лет: пять учебы в университете, три года аспирантуры. К концу аспирантуры случайно наткнулся на JavaRush, прошел несколько уровней — затянуло, и я понял, что хочу стать Java-программистом. Философия как раз к тому времени надоела, и идти работать в университет преподавателем (что еще делать кандидату наук) мне не хотелось. Опыта программирования до JavaRush'a практически не было. В университете полгода было что-то вроде «введения в программирование», но преподавалось это так, что лучше бы не преподавалось вообще. Разработка программного обеспечения — это не rocket science, разработчиком может стать каждый, не нужно где-то учиться долгие годы, придется только немного постараться. На JavaRush'e дошел до 38-го уровня + прошел стажировку. Больших проблем с устройством на работу не возникло. После того, как указал в опыте работы стажировку, начали звонить. Как я понимаю, приглашать на собеседования вас будут мало куда, если вы не укажите хоть какой-нибудь опыт работы. Большое спасибо JavaRash'у: я, как говорится, «нашел себя», программировать мне нравится. Сейчас прохожу, кстати, курс по Скале на Coursera, рекомендую (когда освоитесь с Джавой), сильно расширяет кругозор. Плюс планирую пройти «Анализ данных» на Степике. Позволю себе жизненный совет: не слушайте тех, кто говорит, что у вас не получится (неважно что). Это могут быть близкие люди, которые озвучивают такие мысли из благих намерений. Но намерения значения не имеют, важен результат. Получится или нет - не знает никто. Но попытаться обычно стоит. Собственно, всё, будут вопросы — отвечу.
Комментарии (18)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Exidnus
Уровень 38
29 декабря 2016, 21:12
По просьбе RuslanKyryienko отвечу здесь на его вопросы: «что изменилось с момента написания этой истории? Как вообще изменилась Ваша жизнь после того, как Вы устроились на новую работу и что Вы чувствовали в тот момент? Каких высот в карьере Вы уже сумели достичь и какие еще горы планируете свернуть? Возможно Вы уже переехал в Калифорнию и работаете Facebook, Apple или Google? =)»

С момента написания истории я перешел в другую компанию (Протей НТЦ), где проект поинтересней. До этого работал в АТ Консалтинг по аутстаффингу в одной из команд Сбертеха. В Google пока не работаю. :)
Жизнь изменилась следующим образом: переехал в другой город (Санкт-Петербург), занимаюсь теперь тем, что нравится. Ничего особо не чувствовал. Разве что не очень верилось, что взяли разработчиком без опыта работы и профильного образования.
Выкладываю также фото рабочего места:
noxior
Уровень 30
16 октября 2016, 01:56
круто, а как совмещали обучение с другими делами? что делаете на самой работе, в чем заключаются обязанности? в какой сфере работаете?
Exidnus
Уровень 38
2 ноября 2016, 13:26
«как совмещали обучение с другими делами?» — не понял вопроса, как-то совмещал.

На работе занимаюсь разработкой преимущественно бэка веб-приложения для банка.
ttt
Уровень 30
8 ноября 2016, 17:08
ты супермен!
noxior
Уровень 30
8 ноября 2016, 22:39
возможно у вас была работа которую надо было совмещать с джавараш?
bkozhaev
Уровень 20
4 октября 2016, 15:04
Привет спасибо за статью.

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

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

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

Поэтому я хотел бы спросить следующее:
1. Как тебе давались уровни, примерно какое время тратил на прохождения одной задачи?
2. Подглядывал ли ты на готовые решения, и стоит ли это делать (многие пишут что не стоит, но почему то мне кажется что так потребуется минимум неделю на выполнения одного задания)
3. Во время прохождения javarush каким дополнительным ресурсом ты обычно пользовался что бы понять тему.
4. Кроме javarush проходил ли ты какие либо другие курсы по программированию дополнительно (платные или бесплатные) до и после javarush.

Заранее спасибо
Exidnus
Уровень 38
5 октября 2016, 11:39
Мне кажется, ты просто устал от домашних дел и работы, поэтому программирование так тяжело идет.

1. Уровни на ДжаваРаше по сложности сильно друг от друга отличаются. Многие задачи я оставлял на потом, если они были для меня слишком сложными. У меня вообще осталось довольно много нерешенных задач. ИМХО, умение грамотно распределять усилия и не тратить время на то, что решить не получается от слова «совсем», — важное качество разработчика и вообще любого специалиста.
2. Иногда подглядывал, часто об этом жалел. ИМХО, идти на хелп нужно тогда, когда решение не принимается, хотя у тебя есть веские основания полагать, что оно правильное. Или условие какое-то совсем непонятное. К сожалению, между «самостоятельно решить» и «понять, почему чужое решение правильное» есть большая разница.
3. Google, StackOverflow, Эккель
4. Да. Проходил несколько курсов на codeschool.com (по git'y у них курс хороший). На каком-то аналоге codeschool прошел небольшой курс по Angular. Решал задачки на codefights.com (и его аналогах).
bkozhaev
Уровень 20
5 октября 2016, 11:52
Спасибо большое за ответ и за статью еще раз спасибо. попробую продолжить обучение.
Exidnus
Уровень 38
5 октября 2016, 12:11
Пожалуйста.
merzki
Уровень 29
23 сентября 2016, 11:11
История краткая, но зато развёрнутые ответы в комментариях — бесценны!
Truefirefox
Уровень 40
21 сентября 2016, 09:04
О, наконец-то созрел на «историю успеха», давно пора :)
Grif
Уровень 11
19 сентября 2016, 22:17
Присоединяюсь к Lenchik854 !!!
Хотелось бы как обычно узнать доп ресурсы и стек освоенных технологий :) Если не затруднит конечно.
А так же уровень владения английским… и как сильно его хотели работодатели.
Exidnus
Уровень 38
19 сентября 2016, 23:14
Спасибо.

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

От java-джуниора требуется более-менее уверенное знание Java Core, DI из Spring'a, SQL (на уровне простых запросов), JPA (Hibernate), сервлеты (что это и зачем), Spring MVC (что это и зачем), базовые знания JS, HTML, CSS, желательно знание какой-либо CVS (обычно Git). Другие (любые) знания из it-сферы будут только плюсом. Умеете писать многоэтажные sql-запросы — здорово, есть опыт администрирования linux'a — здорово, писали на PHP/1C/еще чем-либо — здорово.

По структурам данных и алгоритмам — Лафоре «Структуры данных и алгоритмы», в конце каждой главы там есть задачки + апплеты, которые наглядно представляют алгоритмы и структуры данных.
У Head First есть много хороших книг (большинство — в качестве вводных в тему, не более, но и не менее). Я ознакомился с книгами по Джаве, Джаваскрипту, jQuery, HTML'y и CSS'y, SQL'y, шаблонам проектирования. Их книга по сервлетам и JSP очень хорошая.
По Спрингу — хорошая книга Spring in Action + какие-то туториалы из сети.
По Hibernate'y — туториал на Хабре.
Хорошо бы ознакомиться с Effective Java и Concurrency in Practice.
Проходил несколько курсов на codeschool.com (по git'y у них курс хороший). На каком-то аналоге codeschool прошел небольшой курс по Angular.
Решал задачки на codefights.com (и его аналогах).

И крайне желательно — писать что-то свое. Познакомились с Hibernate'ом по какому-нибудь туториалу — написали простое CRUD-приложение и т.д.

Английский — на уровне чтения тех. документации без словаря (на одном собеседовании так и ответил, ответ, как я понимаю, устроил). Могу в принципе смотреть доклады на английском без субтитров.
Grif
Уровень 11
20 сентября 2016, 19:58
Спасибо за ответ.
Чтож многого из того, что Вы написали я касался… правда Hibernate и Spring совсем ещё не рассматривал.
Вообще я решил больше внимания Андроиду уделить… не знаю верно это или нет :)
varbandim
Уровень 9
21 сентября 2016, 11:29
Решал задачки на codefights.com
Спасибо тебе за этот ресурс!
Exidnus
Уровень 38
21 сентября 2016, 13:21
Да не за что. Подобных сайтов довольно много.
Lenchik854
Уровень 0
19 сентября 2016, 22:06
Поздравляю с осуществлением мечты. Пройти с нуля 38 уровней + устроиться на работу за год — это круто )))
Желаю дальнейших успехов в работе!
А почему именно «Анализ данных»? У них по программированию неплохая программа.
За совет и мотивацию спасибо ))))
Вот еще вопрос: как отнеслись на собеседовании, что у Вас непрофильное образование? Им действительно было достаточно джаварашевской стажировки?
Exidnus
Уровень 38
19 сентября 2016, 22:27
Спасибо!

«Анализ данных», а не «Основы программирования» потому что:
1. Программы сильно пересекаются.
2. При этом в «Анализе данных» курс по С++ необязательный (а С++ мне не нужен).
3. Как я понял, в «Основах программирования» есть жесткий дедлайн, а в «Анализе данных» нет.

По поводу непрофильного образования — у тимлидов и других разработчиков это вызывает небольшое удивление, не более того. Где вы учились коллег волнует мало, гораздо важнее — что вы умеете. На образование, как я понимаю, смотрят HR-ы, поэтому с непрофильным образованием могут просто не пригласить на собеседование.