JavaRush /Java блог /Архив info.javarush /Наконец стал разработчиком.
bazizdeg
33 уровень
Одесса

Наконец стал разработчиком.

Статья из группы Архив info.javarush
Добрый день. Вряд ли моя история похожа на остальные, везде есть свои нюансы. Пишу свой рассказ, поскольку отлично помню, как сильно меня мотивировали истории трудоустройства других людей. Надеюсь и Вам, мой дорогой читатель, поможет.
  • В образовании я продвинулся довольно далеко, закончил самый большой университет Санкт-Петербурга. Правда совершенно по другой специальности: механика деформируемого твердого тела. На момент начала прохождения JavaRush учился на 3-ем курсе аспирантуры РАН (специальность - численная механика).
  • Даже и не помню, почему я решил начать заниматься именно на JavaRush. Я давно хотел всерьез заняться разработкой, но чтение "талмудов" по языкам только отбивало охоту. Надо было найти принципиально другой подход, и я опробовал первые десять уровней курса. Видимо благодаря ним я и решился на незамедлительное приобретение безлимитной подписки с участием в реальном проекте.
  • Учеба шла довольно медленно, но я не переставая двигался вперед. Прошел 31 уровень с процентом решенных задач близким к 100. На это у меня ушел ровно один год.
  • Настало время стажировки. Тестовое задание я с треском провалил. Нужно было написать небольшое web-приложение, но сделать этого я не успел, поскольку на тот момент даже не знал слов типа "Spring", "Hibernate", "Tomcat" и т.п. Ждать следующего набора на стажировку мне не хотелось, и я самостоятельно написал 5-6 web-приложений аналогичных тестовому заданию. Их довольно много в сети, есть даже пошаговые видео-мануалы.
  • Отдельным и очень важным пунктом хотелось бы выделить рассылку резюме и прохождение собеседований. В первую очередь хочу сказать, что если Вы, дорогой читатель, рассылаете меньше, чем 10-15 резюме в день, то Вы - ленивая задница. Надеюсь с этим разобрались. Также надо быть готовым к тому, что Вам придется каждый раз напоминать о себе телефонным звонком в ту фирму, куда Вы выслали резюме. Что касается собеседований - то с вероятностью, близкой к 100 процентам, вы получите какой-нибудь хардкорный тест, аналогичный тем, которыми изобилует Quizful и прочие ресурсы. Я категорически рекомендую потренироваться на таких тестах. На поиск работы у меня ушло 3 недели. За это время я прошел четыре очных собеседования и два - по скайпу. Отказов были десятки. На последнем, заочном собеседовании, меня и взяли на работу.
  • Теперь немного о работе. Я попал в довольно крупную фирму (порядка 100-120 разработчиков). Очень широкий спектр задач и разнообразных проектов (в зависимости от заказчика), начиная от frontend'а и заканчивая суровым и беспощадным backend'ом и datamining'ом. Собственно, меня сразу задействовали в etl-проектах, и я занялся загрузкой и обработкой массивов данных для целого ряда зарубежных заказчиков. Платформа и все инструменты, которые я использую, являются opensource'ными. Почти все из них написаны на Java и Groovy (если кто-то не знаком с Groovy - замечательная штука, рекомендую). Конечно, периодически приходится копаться в исходниках, ибо все это дело очень тяжеловесное, и его нужно регулярно допиливать, оптимизировать и исправлять. Работаю я около месяца. За это время мне так интенсивно "ездили по мозгам", что я проглотил объем информации, на самостоятельное усвоение которой у меня ушло бы года 2-3 по меньшей мере.
  • И последнее. Этот пункт сэкономит Вам уйму времени, когда Вы будете готовиться. За время обучения я купил несколько книг: Философия Java (Брюс Эккель), Алгоритмы: построение и анализ (Кормен, Лейзерсон, Ривест, Штайн) и еще несколько по базам данных и архитектуре компьютера. Знаете что? Забейте. Я серьезно, забейте. Я не дочитал ни одной книги до конца. Чтение книг - очень полезное занятие, но не в этом случае. Я постараюсь объяснить свою точку зрения: в данный момент Ваша цель - устроиться работать программистом. Для этого не нужны глубокие знания в программировании, на развитие которых и нацелено прочтение книг. В данный момент Вам нужен вполне определенный набор практических навыков и умений. Выковыривать их из книг - занятие крайне неблагодарное и утомительное. Гораздо лучшими помощниками в этом деле будут JavaRush или, если есть возможность - участие в каком-нибудь opensource-проекте. Что-то полезное Вам вряд ли удастся сделать, но хотя бы послушаете умные разговоры коллег по проекту - может чего-нибудь нахватаетесь. Хотя участие в проектах вовсе не обязательно. А если потребуются глубокие знания в чем-нибудь, то вы спокойно найдете их в книге и сразу же используете для своих задач. При этом нет никакой нужды глотать всю книгу целиком.
Думаю, пора закругляться. Все, кто дочитал до конца - молодцы. Желаю всем сохранять позитивный настрой и уверенно двигаться к намеченным целям.
UPDATE (18.08.2017): По поводу последнего пункта я несколько изменил свое мнение. Правда не на противоположное, а на немного другое. Суть такова: на этапе подготовки к первому месту работы зарываться в книги категорически не нужно. Однако спустя некоторое время, уже после того как я поработал какое-то время, книги стали хорошими помощниками. И я естественным образом, постепенно проглотил почти все книги, которые купил, и даже парочку сверху. Это получилось само собой. К тому же это не потребовало таких уж больших усилий, поскольку опыта работы стало больше, и материал книг уже не показался таким сложным. На данный момент список такой: 1) Брюс Эккель "Философия Java" 2) Джошуа Блох "Effective Java" 3) Кормен, Т., Лейзерсон, Ч., Ривест, Р., Штайн, К. "Алгоритмы: построение и анализ" 4) Э. Таненбаум, Т. Остин, "Архитектура компьютера" 5) Хренова туча самых разнообразных статей, большинство - зарубежных авторов. Да и вообще, возьмите за привычку каждый день читать хотябы 2-3 статьи перед сном. Сгодится любая IT-тематика, даже не сильно связанная с разработкой. Не будьте круглым конем в вакууме, расширяйте кругозорчик. 6) Ну и конечно кучу всякой документации, в основном той, которая нужна для работы. С уважением Сергей Алещенко

Продолжение
Комментарии (33)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
bazizdeg Уровень 33
14 марта 2017
UPDATE1!
Написал продолжение истории в другом топике: Наконец стал разработчиком [volume 2] спустя девять месяцев работы.
bazizdeg Уровень 33
27 мая 2016
UPDATE!
Испытатательный период успешно пройден за два месяца (предполагалось, что продлится три). За это время я был задействован в двух проектах: ETL (пилю платформу transmart для Johnson & Johnson), и машинное обучение (пишу приложение распознавания объектов на изображениях и на видео).

P.S. Спасибо JavaRush за знания и умения, а также за уверенность в своих силах.
Pegas Уровень 34
5 апреля 2016
Немного не по теме: а у кого опыт работы во фрилансе есть? Пусть много не заработаешь, но получишь реальный опыт. А это уже бесценно. А потом в хорошую компанию проще устроиться.
ADron Уровень 11
4 апреля 2016
Мне 36 лет, интересно а с таким возрастом возьмут в джуниоры? )))))
llaerto Уровень 21
14 марта 2016
Автора я, конечно, поздравляю, но вы опустили реально важный момент. Могли создать ложное впечатление новичкам. Одного Core мало, это однозначно! Учите фреймворки с которыми хотите работать, это важно.
Heavy Уровень 30
13 марта 2016
Честно думаю — повезло. Каждый случай трудоустройства уникальный. Думаю в большинство не просунешься только с Core. В каждом городе свои условия. Разное количество потенциальных работодателей и работников.
Вообщем ездил пару дней назад в одну из крупных компаний в Кракове для устройства на СТАЖИРОВКУ. Пообщался с коллегами, говорят у них в универах Java нету, все учат сами, в интернете и еще как нибудь. Самый трудный этап — входа, потом после стажа даже джуниоров расхватывают очень быстро (для Кракова наверно имелось ввиду).
Далее — желающих попасть на ЭТУ стажировку было около 80 человек. Мест — около 14. И это не самое интересное.
Вопросы: Все вопросы написаны на английском. Из теста запомнились следующие: Что то про бинарный алгоритм(элементы массива в бинарном алгоритме а.Отсортированы, б.Не повторяются… на тот момент вообще не знал что за алгоритм), перевод из других языков (наверно код из Паскаля) какой будет результат после выполнения, not A or not B = а.not (A or B) б.A & B ..., еще куча разных, которых даже не знал, и не встречал, плюс к этому — читаешь материал на русском, а потом даже не узнаешь bubble sort или что нибудь подобное.
Ну и напоследок написать код. Можно гуглить. Мне попались все задачи по JUnit и assertEquals(). Все время хотел начать работу с JUnit, и пришлось этим начать заниматься прямо на тесте)))))
Еще хотелось бы про книги написать. Я тоже думаю что книги — это не то что надо. Я раза 3 начинал читать Экеля. Так ни разу и не дочитал. Получается пересекается с другими источниками, материал изучил, книгу не дочитал ну и т.п. Во время работы не думаю что будет время сидеть и читать книгу, а заказчик будет ждать пока вы изучите этот вопрос и напишете ему свой говнокод ну или несовсемговнокод. Сейчас начал читать Спринг в действии, т.к. не мог разобраться как там и что работает. Бывает материал который схватываешь на лету, а бывает что нифига не понятно (тогда читаешь книгу). Для этого и пишут книги которые можн
Smetchik Уровень 15
13 марта 2016
Слегка не соглашусь про книги, книги нужно читать, но не все сразу, а только вводные разделы, синтаксис как это запустить и прочее. Просто остальное нужно смотреть в контексте и вот тут JavaRush и помогает читать все приминительно к практике. Да и вы лукавите, так как вы сами посебе уже по роду образования владели материалом около программисткого толка, при этом вам реально повезло с работой, вас взяла компания на работу которая увидела в Вас потенциал, поэтому они вполне удовлетворились вашим уровнем знаний, так как были готовы поездить вам по мозгу и учить Вас. К большому сожелению на рынке таких компаний не так много и количество отказов вам об этом свидетельствкет. Но это мое личное мнение.
32xlevel Уровень 37
13 марта 2016
Вы молодец =). Я же сижу на 10 уровне и «домашние» и бонусные задачи просто сносят на повал, из-за чего, порой, удручаюсь :C
Bezlikii Уровень 8
12 марта 2016
Круто! Мотивирует! Такой вопрос, ты устраивался со знаниями только core? или те фреймворки, которые ты перечислил, ты уже знал на достаточно хорошем уровне? И как с фронтендом и английским? Его сильно требовали?