Всем привет! Вот и закончился мой испытательный срок на новом рабочем месте, и теперь я могу наконец-то поделиться своей историей трудоустройства.
Мне 22 года, у меня экономическое образование. Еще год назад (в феврале – марте) у меня не было никаких навыков программирования, и с Java сталкивался только в играх на старых Siemens (в виде приветственного окна "powered by Java" при запуске игры).
Год назад я работал в отделе технической поддержки. Работа не сказать, чтобы плохая или не нравилась, но не особо интересная. И сложилось так, что в один момент задумался — хорошо было бы иметь работу, на которую ты бы не шел с ощущением "блин, снова работать", а чтобы она приносила удовольствие. Подумал — а что бы я делал, если бы у меня был, условно, год, в течение которого мне не надо было бы обязательно зарабатывать деньги, а я мог бы заниматься чем хочу? Ответ как-то пришел сам собой — сидел бы дома и учился программировать.
Тогда я решил, что дело за мной. Я понимал, что будет сложно изучать программирование с нуля, что это временный откат в карьере (я не сомневался, что Junior Developer получал меньше, чем я на том рабочем месте), но воспринял это как шаг назад ради того, чтобы сделать два шага вперед.
Окей. Сказано — сделано. Так как я не разбирался в языках программирования абсолютно, первой идеей было изучать язык, о котором был наслышан больше всего (на нем разрабатывали софт в компании, где я работал) - PHP. Хорошо, девушка отговорила. Подсказала, что у них в компании (разрабатывающей мобильные приложения) андроидеры пишут на Java + зарплата у них вроде хорошая. Я погуглил-погуглил, подумал и принял решение изучать Java.
Моим первым шагом были традиционные попытки изучения чего-то нового - вооружаешься книгами, осваиваешь теорию, и вперед! Так у меня появилась книга Хорстманна и Корнела — Java. Основы. Это был март 2014 года.
Вообще говоря, всю жизнь изучать что-то по книгам у меня получалось отчаянно плохо. Вероятно, это связано с тем, какой способ восприятия преобладает у человека. Я всегда действительно усваивал материал только после того, как практически его проработал, закрепил, поигрался с ним. Поэтому мои первые попытки учить Java по книге были обречены на провал. Хотя книга хорошая.
Где-то в апреле я наткнулся на группу JavaRush вконтакте.
Дальше все понеслось как по рельсам. Решать задачи, много задач, которые сопровождаются небольшим количеством теории — явно оптимальный способ изучения материала (по крайней мере, для меня). Я сидел дома, я сидел на работе и решал, решал, решал) Именно тогда я дополнительно убедился, что программирование мне интересно. Я не мог вспомнить, чтобы над чем-то так зависал.
Прошло три месяца, за которые я дошел до 20 уровня. Мне казалось, что дальнейшее изучение языка будет идти намного быстрее, если уже получить работу программиста — тогда ты будешь в этой среде по 8 часов в сутки 5 дней в неделю и будешь крайне быстро развиваться.
Таким образом, в августе я начал рассылать резюме. Из пары мест мне прислали тестовые задания, по результатам которых предложений о работе я не получил — оглядываясь назад, я не удивлен ни разу — задачу то поставленную я, быть может, и решил, но какой же плохой у меня был стиль написания кода) В этом, кстати, небольшой минус JavaRush — до тех пор, пока задача решена и тесты пройдены, задание засчитывается, хотя твой код может оставлять желать сильно лучшего. Достаточно установить в Intellij IDEA тот же плагин Checkstyle, и ситуация будет иной — он будет подчеркивать "сомнительные" моменты в коде, что позволит писать не только рабочий, но и красивый, правильный код.
Как бы то ни было, в сентябре меня позвали на первое собеседование. Вакансия содержала примерно следующее - разработчик любого уровня, мы предложим зарплату, соответствующую навыкам.
На этом собеседовании задачки были примерно следующие — дан фрагмент кода. Правильно ли он написан, и какие могут быть проблемы?
Не помню, сколько из них я правильно решил. Вообще нужно было помнить про Null, почти все вопросы были про него — что не стоит обращаться к параметру метода, не проверив его прежде на (if param != null).
По результатам мне предложили первый месяц работать бесплатно (как стажировка), затем зарплату, которая ниже (хоть и не сильно), чем на том месте работы, где я был.
Я хорошо понимал, что мне и не стоит ожидать замечательных предложений, ибо теории знал мало, практика только по JavaRush, ноль опыта и так далее. Поэтому я договорился, что выйду через 2 недели (нужное время для увольнения на старом месте).
Параллельно с этим я подал резюме в другую компанию. Эта компания предлагала следующее:
- 2 месяца обучения Java EE (2 раза в неделю по 4 часа)
- если результаты показываешь хорошие (защищаешь свой проект успешно, который пишешь эти два месяца), то тебе предлагают трудоустройство.
- Выполнение практических заданий дома.
- В случае успеха тебя приглашают на компьютерное тестирование в офисе.
- В случае успешного тестирования в этот же день с тобой проводят собеседование.
- чем отличаются checked exceptions от unchecked;
- какие методы есть у класса Object и зачем они нужны;
- какие бывают коллекции и зачем они;
- и немного про многопоточность.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
ЗЫ 1С поднадоел, но не уверен пока, что опять в стажеры ломанусь после курса:)
Также интересуют ответы на вопросы Turambar про английский, а так же какие у вас были знания по java при поиске работы, допустим взять план обучения на javarush, ваши знания были по 20 уровень (имею ввиду в основном те темы, что в них рассматриваются)? или намного обширней?
Хочу понимать, на каком этапе и при каком объеме знаний, уже можно пробовать устраиваться junior'om?..)
Сколько времени в день уделяли учебе? ежедневно? и были ли пропуски в обучении дни, недели, месяцы в течении этих 9 месяцев?)
Если можно, пример резюме в личку:)
И последний вопрос, длительность рабочего дня? и сколько дней в неделю?)
Заранее спасибо)
Подскажи, пожалуйста, как компания называется (можно в личку), я тоже сейчас на пути устройства в иностранную компанию, довольно известную, и там тоже, скорее всего речь будет идти о 2 месяцах стажировки.