• ,

Учеба на JavaRush. Поиск работы и прохождение собеседований. Часть 2.

Добрый день! В этой части я расскажу вам о составлении резюме, портфолио, поиске работы, прохождении собеседований, а так же выполнении тестовых заданий. Первая часть

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

Резюме желательно составлять на английском языке и желательно формы CV (на некоторых вакансиях только такую и требуют). Вот ссылка на сайт, где это можно сделать онлайн, но не обязательно придерживаться такой формы как там). Если же будете делать на этом сайте, то убирайте логотипы с резюме (они идут как колонтитулы в ворде).

На первой странице нужно указать всю самую важную информацию, что бы hr заинтересовался вами. Я там писал знание языков, прохождение курса JavaRush и кратко что изучал, прохождение стажировки и какие там были технологии. Далее, поскольку я шел на Android Developer, то писал все технологии и библиотеки какие знал по данной платформе. Далее можно написать про паттерны проектирования, системы контроля версий, системы сборки (maven, gradle), а так же в каких средах разработки вы работали.

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

Поиск работы. Начал я отправлять резюме где-то в средине весны 2017. На удивление вакансий на Android Developer даже в Киеве совсем немного, если посмотреть на самых популярных сайтах поиска работы, то их наберется до 30 штук, больше половины которых хотят уровень middle/senior. Но все же они постоянно обновляются и за весь период поиска думаю до сотни резюме я отправил.

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

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

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

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

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

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

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

Третье собеседование было вообще не техническое, там мне руководители рассказали о проекте, сказали, что кандидат должен сам его вести и было бы неплохо, если бы еще api на php писал. После собеседования я туда идти уже перехотел и когда меня не взяли, но только обрадовался.

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

Если говорить о том, что нужно железно знать на позицию Android Developer (думаю на позицию Java Developer так же), то это ОПП. Там сразу будет понятно или ты только заучил как называются основные принципы или же ты знаешь их саму суть и можешь нормально использовать на практике. Так же нужно знать жизненные циклы активити, фрагментов. Про паттерн Observable часто спрашивают, так как он довольно часто используется и даже лежит в основе библиотеки RxJava. А вообще о чем будут спрашивать не угадаешь – могут больше уклон делать на java, а могут на android. Я, например, очень старался сделать хорошим свое портфолио, а меня о моем одном проекте спросили только на последнем собеседовании.

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

В предыдущей статье я писал, что у меня друг работает android разработчиком. Вот недавно ему предложили работу в другой компании и так как он уходил, то на его место искали нового кандидата. Он порекомендовал провести со мной собеседование. Изначально мне прислали сделать тестовое задание и дали время 1 неделю с учетом того, что чем быстрее сделаешь, тем лучше. Сделал я задание за 4 дня (друг мне как честный человек в этом деле не помогал). После этого меня пригласили на собеседование.

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

Собеседование было по больше мене с уклоном на практическую сторону и по времени длилось час. После мне сказали, что дадут ответ в течении двух недель, так как хотят еще посмотреть других кандидатов. И вот недавно мне пришло письмо, что я приглашен на испытательный срок на позицию Android Developer – радости было не отнять:)

Если вы изучаете андроид, все задания на startandroid и других ресурсах уже прошли, то что я могу вам посоветовать попрактиковать. Есть хороший сайт. Там генерируете список json обьектов. Создайте андроид приложение в котором вы будете загружать этот список (в отдельном потоке или в сервисе или с помощью сторонних либ) и отображать его потом пользователю. Базу данных используйте либо SqlLite либо сторонние либы Realm. В списке пусть будет краткая информация, а при нажатии на эл списка – открывается фрагмент с полной информацией. Еще для усложнения задания сделайте адаптацию на планшеты – разделение на два экрана в повороте в горизонтальное положение, в вертикальном же один экран (для этого используйте фрагменты). Так же можно добавить navigation drawer и там какие-то пункты настроек (смена языка приложения, фона, шрифта и т.д.). Что-то похожее было в моем тестовом задании.

В общем, что хочется сказать всем, кому еще предстоит поиск работы – напишите хорошее резюме, так как это самое первое, что вас характеризирует. Выбирайте стажировки и вакансии только в хороших компаниях (по крайней мере в тех, кто не поленился нормально составить описание вакансии). Учите теорию – хоть иногда и кажется, что это только для собеседований, а на практике гугл всегда под рукой, но по своему опыту скажу, что со знанием всей основной теории программировать становится легче. После каждого собеседования изучайте все вопросы, на которые не знали ответа и в которых были не очень уверены – так уже после 4-5 собеседования вы будете знать ответы на все самые распространенные вопросы. Хотелось еще сказать, что бы не волновались, но это все естественно и этого не отнять – мы же не машины :)

Ссылка на все вопросы, что у меня были на собеседованиях (ответы ищете в гугле) – вопросы на собеседованиях
Всем спасибо за внимание и всем удачного трудоустройства!
  • ,

Учеба на JavaRush. Первые проекты, что Вас ждет и как лучше не делать. Часть 1.

Добрый день! Наконец-то я дождался того времени, когда готов поделиться своей историей успеха. Рассказать хочется много, поэтому разделю на две части – так сказать «первые проекты и как лучше не делать» и собственно «поиск работы и прохождение собеседований».
О себе много рассказывать не буду, скажу только, что как и почти все здесь я отучился и поработал на другой специальности, но потом решил стать программистом:)

Поговорим сразу об обучении. Начал я заниматься на JavaRush в начале 2016 года. Долго выбирал где изучать программирование и, конечно, как и все наши люди не хотел платить за обучение. Изучать хотел именно Java, так как моя мечта – программировать на Android. Курс JavaRush несколько раз попадался мне на глаза во время поиска, но я его отбрасывал, так как он условно-бесплатный. Начал заниматься по видео урокам на ютубе. Потом все же какая-то сила меня заставила попробовать порешать бесплатные задачки на JavaRush, и я настолько удивился, что после прохождения 50 видео уроков (я считал их довольно нормальными) и написанию кода за лектором, я с большим трудом и далеко не с первой попытки решал начальные задачи курса. Качество курса и то, что он мне даст, если я его пройду полностью я оценил почти сразу, потом посмотрел на форуме, что время от времени там бывают хорошие скидки на подписку решил, что буду брать полную версию.
Да, многие учащиеся злятся и негодуют насчет курса — задачи дают по материалу, который еще не рассматривали, валидатор их не понимает и много-много чего можно почитать на форуме и в комментариях. И знаете что? Я тоже таким был:) У меня до сих пор висит большая задача на 34 уровне и я перепробовал все решения, но ее не принимает валидатор. Хорошо, что в тех поддержке мне докинули черной материи и я смог до конца добить курс. В общем, как выпускник курса JavaRush скажу свое субъективное мнение, что мне понравилось и не понравилось в курсе (да простят меня админы).

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

Если это подытожить, то я доволен курсом и тем, что он мне дал. Вспоминаю себя год назад, как мне друг пытался объяснить что такое boolean, void, что такое методы и как они возвращают значения. Помню как долго не мог понять зачем нужно возвращать эти значения:)
Сейчас же мне часто вспоминается сцена из фильма Матрица:
Нео: Ты что научишь меня уворачиваться от пуль?
Морфиус: Когда придет время тебе это уже не понадобится.
И действительно, когда пришло время у него уже априори были эти навыки.

На 30 уровне курса я хотел попасть на стажировку, которую предлагает JavaRush. Посмотрел тестовое задание и немного ужаснулся. Очень надеялся, что поможет друг его сделать, но за неделю до дедлайна он сказал, что вот тебе Гугл, вот тут вбивай все технологии и там будет куча примеров. Я ему очень благодарен, что так получилось, так как тогда я впервые почувствовал, что значит быть программистом. За 4 полных дня я сделал задание и был невероятно рад, что попал на стажировку.

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

Первый проект. Как и упоминал выше, что где-то на 30х уровнях я попал на стажировку и начал делать свой проект. Это был и есть бот в телеграмме. Желание создать бота было у меня еще на 20-30 уровнях курса, но я никак не мог найти подходящей либы либо инструкции how to start. И все же случайным образом мне попалась такая статья и я сразу начал пробовать. Если кому интересно – вот ссылка на статью —
How to write bot in telegram Java
Откровенно говоря, автор этой статьи мне потом еще очень сильно помог, речь о чем пойдет чуть ниже. Идея для бота была такая – мне как программисту нужно изучать Английский язык. Грамматику я знал относительно хорошо, а вот словарный запас захотел подтянуть. Подумал, что неплохо бы было иметь бота для изучения слов. Подробную информацию о боте я уже писал в статье ранее, поэтому повторятся не буду – вот ссылка Телеграм бот Words

Расскажу, с какими трудностями мне пришлось столкнуться, при его создании. Во-первых это первая работа с telegram api. Хоть многие и говорят, что это одно из простейших и наиболее лучше документированных api, но мне тогда как новичку было очень сложно. Все делал путем подбора :) Иногда на то, что бы сделать какую-то фичу, например, убрать кнопку после ее нажатия мне приходилось потратить полный день. Где-то за пол месяца удалось написать самую первую бета версию, весь код которой был в одном java классе, и хотел попробовать залить ее на сервер. Проект у меня не коммерческий, поэтому платные сервера я сразу же отбрасывал. Вспомнил о сервере heroku, который кстати используют для размещения сайта на стажировке. Пробовал этот сервер два полных дня и уже был в полном отчаянии, так как не получалось вообще ничего – все инструкции которые были относились к сайтам, а у меня бот и там нужно действовать немного по-другому. В итоге я решил написать автору статьи о боте и спросить, какой он использует сервер для размещения бота. И тут удача мне улыбнулась – автор оказался очень крутым программистом (я с ним до сих пор поддерживаю связь), и он мне предложил разместить бота у себя на Linux сервере (и если я знаю линус, то выделит мне аккаунт). На начальное изучение линукса ушло один день и, конечно, не без ошибок и сложностей бот начал крутиться на сервере. Так же между всем этим делом я добил курс JavaRush и был очень доволен :)

Базу данных для бота я выбрал MySql, пересмотрел много уроков по оптимизации таблиц, выбору движка и всего прочего. Дам совет всем, кто будет делать свой первый проект – старайтесь сразу продумать всю его структуру и строить хотя бы относительно расширяемую архитектуру. Я же свой переписывал, наверное, раза 3 из-за таких ошибок. Да, это сложно, так как очень часто ты не знаешь что захочешь следующее добавить в свой проект, но все же на минимальном уровне сделать можно. Не пишите весь код в одном классе!!! Попробуйте использовать MVC, вспомните ООП и т.д. Самое смешное, что некоторые основные принципы ООП я начал использовать в проекте, когда он уже был почти готов. До этого я даже не задумывался о них. Конечно, пользователю вообще все равно на каком языке написан продукт, какие там используются паттерны и технологии использовались, но когда вы через пару месяцев его открываете и хотите что-то туда добавить, то очень много хороших слов о себе подумаете :) Так же не забывайте делать логирование – это позволяет как отслеживать ошибки, так и смотреть какими функциями пользователи больше пользуются и что нужно дальше развивать. В телеграмме это кстати можно очень круто сделать – отправлять все логи в режиме реального времени себе в приватный канал, так сказать можно сделать некую big data :)

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

Второй проект. Моя цель была стать Android программистом, поэтому когда более менее закончив с ботом я решил адаптировать его на Android платформу. Начал обучение с курса startandroid, так же мой лучший друг android разработчик давал мне много крутых заданий, проверял их и говорил что нужно переделать и доделать. Когда получил уже базовые навыки начал делать свое приложение. Как и с первым проектом было много разных трудностей, но если брать в целом, то немного меньше. Где-то за полтора месяца была готовая первая бета версия (пару раз пришлось переписывать весь дизайн приложения, так как я понятия не имел как он будет выглядеть). Потом я зарегистрировался как разработчик в гугл плей и залил его в маркет. Последнее время занимался оптимизацией и синхронизацией двух своих проектов. Для общей базы данных выбрал Firebase – очень хорошая документация, много уроков и для небольших проектов бесплатной версии в 1гб объема более чем достаточно.

Если кратко сказать о наибольших трудностях во втором проекте (я думаю некоторые из этих трудностей возникают и у опытных разработчиков), то это — создание многопоточности в android, много заморочек з размерами и расширениями экранов, для создания дизайна пришлось подружиться с photoshop, поддержка старых версий андроида, а так же никогда не используйте Recycler View, если у вас в списке будет анимация :) После блокировки в Украине Яндекса, а именно от туда я беру большую часть перевода и озвучки слов, пришлось добавлять дополнительные проверки в код, и просто сообщать пользвателям, что бы воспользовались vpn. Трудности даже возникли при регистрации в гугл плей – там что бы стать разработчиком нужно одноразово(в отличии от апл стора) заплатить взнос в размере 25$. У меня же при оплате стоял лимит на карточке и оплата моя зависла. Пришлось пообщаться с тех поддержкой гугла и в общем они меня посылали от одного оператора к другому, пока я не понял, что меня просто вежливо посылают :) Пришлось удалять все и заново регистрироваться (сразу бы до этого додумался).

Еще пару слов по поводу продвижения своих проектов. С ботом дела обстояли немного проще – сама идея ботов относительно новая (в самый мейнстрим я не попал, но все же нормально). Есть каталог ботов, группы вк, фб другие ресурсы. Сейчас мой бот занимает 5 место в разделе образовательных и для меня это очень хороший результат. Что бы продвигаться в каталоге ботов, нужно что бы его оценивали. Я сделал предложение для пользователя о голосовании, которое возникает всего один раз (сам не люблю навящивости), когда пользователь сыграет определенное количество игр (как бы проведет некоторое время в боте).

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

Если кто дочитал до этого момента, то вот ссылка на приложение, если будет интересно — Android приложение Words.
Ссылка же на бота есть в статье о нем чуть выше по тексту.

Всем спасибо за внимание. О своем опыте собеседований, вопросах которые там задавали и вообще поиске работы расскажу во второй части.

Что изучать дальше?

Добрый вечер. Мне 15 лет. Прошёл первые 10 уровней Javarush, немного изучал Android разработку, делаю свои приложения. Разработка под Android очень нравится, но чувствую что надо ещё что-то по Javе подучить. Порекомендуйте, пожалуйста, какие интересные книги по Java для развития почитать или что-нибудь другое.
P.S Стоит ли покупать подписку на Javarush, и какую?
P.P.S Также, интересно было бы узнать, как делать программы на java под Windows и сделать самому такую.
P.P.P.S Ещё ищу хороший и объемный материал по Android разработке
  • ,

Курс "Android Basic" от Google на русском языке

Предлагаем вашему вниманию курс «Разработка под Android для начинающих», созданный специалистами Google. (создателями Android и всего хорошего в мире ИТ) для платформы Udacity. По многочисленным просьбам студентов JavaRush мы перевели его на русский язык и оформили в виде квеста. Теперь он доступен абсолютно всем желающим изучить основы программирования для мобильных систем — javarush.ru/quests/QUEST_GOOGLE_ANDROID

курс Google Android

Сомневаетесь, что Android — весьма перспективная ветка программирования? А вот мы в этом уверены. И вот почему:

  • Около 90% пользователей смартфонов обладают устройствами на ОС Android
  • Android создан на базе Linux и собственной реализации виртуальной машины Java — проверенных и постоянно развивающихся технологий;
  • Android — операционная система не только для смартфонов и планшетов, но также телевизоров, фотоаппаратов, плееров, игровых консолей и даже электрочайников (и не только)!
  • Любой желающий может создать и поместить своё приложение в Play Store — официальный магазин для Android-устройств, если оно соответствует своду несложных правил и стандартов;
  • Порог вхождения в программирование под Android невысок. Особенно для Java-программистов.

Присоединяйтесь к курсу «Разработка под Android для начинающих» на JavaRush: Вы изучите основы Android и программирования на Java, и в процессе изучения создадите два простых, но вполне мощных Android-приложения!

Господа! В полку прибыло.

Привет, парни! Когда-то, почти полтора года назад, я читал здесь посты о том, как люди становились программистами — по-разному — и мне это правда помогло, показав, что такое возможно. Что ж, пора платить ту же дань, для будущих переквалифицировщиков. Надеюсь, кому-то это так же поможет, как помогло когда-то мне. Итак, поехали!

Мой путь в программирование можно поделить на два “плана”, уровня: один — материальный, другой — идеальный. Начнем с первого — он забавный.

Когда-то давно, 29 лет назад, я родился в очень странной семье. Мои родители были выпускниками журфака, бабушка — пианистка, дедушка — физик. С детства я решительно ненавидел читать, но любил музыку и математику. Мама, будучи преподавателем английского, с 4 лет меня обучала языку, а бабушка с 5 лет — музыке. В школе я был сорванцом и затейником, по русскому и литературе — катастрофой, в геометрии и физике — любопытным пионером. Но в 13 лет случилось несчастье, я получил компресионный перелом позвоночника и, не имея возможности сидеть, стал много играть на кларнете. Так я оказался в музыкальном училище через три года.

Но которое не привело меня в Гнесинку, где преподает, кажется, и по сей день мой профессор, И.П. Мозговенко. На 4 курсе я надумал жениться, решил, что пора работать — и стал готовиться к этому.
А что умеет человек, который 7 лет профессионально играл на дудке? Решив, что мне не хватает “кругозора” и всего гуманитарного, что входило в круг обязательного лет 130 назад, я оказался на журфаке, в след моих родителей, сам, по собственной воле.

Забавно, но писать именно в журналистике мне так и не пришлось, за исключением пары месяцев работы в КП, в новостном отделе. Я стал преподавать язык (англ) сам, лет с 20, в 23 на год сгонял в Питер, открыл два Циферблата там (антикафе). Вернувшись, остановился на работе с языком: учил, переводил, работал редактором, написал кое-что в качестве лит.раба (часть книги).

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

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

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

В итоге, мне осталось утешать себя тем, что в педагогике я могу делать небольшое “добро” для страны, для людей, а работой со словом занять себя трудным и интеллектуальным трудом. Но и тут…
Педагогика быстро превратилась в рутину. Я видел, что язык знают, в итоге, те, кто им пользуется и его любит, а не кто учит. А полезность работы со словом…

Когда я говорил, что я работаю переводчиком или что пишу, я чувствовал взгляды людей, мол — не высоко, парень, не высоко. Что качественный перевод или качественный текст настолько нисшевый товар сейчас, что я не могу представить себе уважающего себя и нуждающегося в средствах человека, кто мог бы им заниматься. И если когда-то работа со словом была элитарной (XIX век), то сейчас я просто не в обоиме. Я в прошлом веке. Все мои знания литературы, истории, текстов, никому толком не нужны. Я могу развлекать этими знаниями собеседников, но продать это некому — с этим можно только корешиться с нужным людьми (что я вижу ниже своего достоинства) либо идти на ТВ и кромсать бюджет на свой лад (что я ненавижу).

И тут-то я стал закисать. Я стал погружаться вечерами в игры, проводя огромное количество времени на англоязычных форумах, изучая игровую журналистику и т.п. Я строил графики для игры типа Цивилизации, искал оригинальные способы перепройти Dark Souls и т.п. Жена, видя как занудно и упорот я играю в игры, как-то в шутку сказала, что с моим-то рвением в играх неплохо было бы попробовать заняться программированием.
И я подумал, а отчего бы и нет. Дальше — путь обычный. Гугл, JavaRush — меня затянуло; шло легко, быстро, я был на коне. Потом встретилась многопоточность — и я вообще засомневался, программирование — это для меня? Так или иначе, дойдя до 23 уровня, я стал задумываться, а что я, собственно, буду делать на работе. Распустил, скрепя сердце, моих учеников, оставил переводы — и стал присматриваться к вакансиям.

Выбор, по сути, был такой: или java jun или android jun. Я, решив, что android будет повеселее, стяпляпил одно приложение и стал ходить по собеседованиям, который получал с известного всем сайта по поиску работы (обойдемся без лишней рекламы).

Если интересуют сроки, то было так: летом, в августе, я начал изучать программирование, через год разогнал учеников и уперся полностью, через два месяца — на собеседование с готовым проектом; еще через месяц меня взяли на стажировку, где я и остался.

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

Я сейчас очень странную вещь скажу — я сам не до конца понимаю всех выводов и даже входных данных этого явления — но для устройства на работу мне мои знания программирования не пригодились вот от слова вообще. Мне задали один или два глупых вопроса, типа, как у меня в приложении post запросы выполнялись и какие структуры данных я знаю (я назвал штуки три, которым пользовался, не сказав даже про деревья). Так что же?
Во-первых, мне просто повезло. Им нужен был срочно сотрудник (набрали больше проектов, чем могли сделать), на рынке с мобильными разработчиками туго — и парень, которого они нашли, был готов выйти спустя полтора месяца, а я — сразу, и мне решили дать шанс. Мораль — пробуйте, даже когда шансов мало. Не пробуете — шансов нет. И мало — тоже количество.

Во-вторых, мне помог не связанный с программированием бэкграунд. Оказалось, что ген.дир по совместительству музыкант, и мой муз.колледж завоевал его личный интерес и симпатию. Опыт руководителя косвенно свидетельствовал, что я человек ответственный, грамотная речь — адекватный, а то, что женатый — косвенно о том, что надежный. Женатые меньше рискуют, у них есть (в теории) ответственность. Вывод — лишних знаний не бывает.

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

В-четвертых, образование. МГУшный диплом косвенно говорит о способности поглощать и обрабатывать информацию. Теме “пригодилось ли мне мое образование” я бы мог посвятить научную работу — и не прийти к однозначному выводу, но одно точно: я научился обрабатывать огромные пласты информации и как бы чувствовать, что первично, что вторично в любой области, с которой сталкиваюсь. И этим навыком до журфака я не обладал.

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

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

Но в итоге, я прихожу к выводу, что это действительно успех — и что я принял правильное решение. Во-первых, я четко знаю, что то, чем я занимаюсь, это, в некотором роде, арьергард современной культуры. Надо мной уже не смеются, когда я говорю, что я разработчик. Мы делаем нужное всем, сейчас все пользуются результатами нашего труда, и без него свою жизнь большинство слабо представляет. Во-вторых, в перспективе меня ждут многие еще более интересные отрасли (например, андроид в интернет-вещах, в автомобилях), другие города (хочу вернуться в Питер), другие страны (почему бы не пожить в другом месте, если языкового барьера нет?). В-третьих (и это было одной из причин оставить работу со словом и педагогику) — в третьих, программирование — это поток нового на всю жизнь. Да, скажете вы, это стресс, но отсутствие нового — это смерть. Это тоска. Люди, которые погружаются в рабочую рутину, немножко умирают внутри. Ведь детство — это когда вокруг новое. Программисты в чем-то всегда дети, потому что мир для них — вернее, в мире для них всегда есть новое.
Наверное, другие выводы и другие мысли посетят меня спустя год, пять, десять на счет этой вехи в моей жизни. Возможно, я когда-нибудь оставлю и эту профессию и вернусь к письму — кто знает. Но пока мой опыт такой, им и хотел поделиться. Дерзайте те, кто в раздумье. Жизнь одна, зачем ее тратить в нерешительности?
Успехов!

ps
Рассказ получился довольно выборочным, но занудства освящать каждый аспект методично не хватает. Есть вопросы — задавайте!
  • ,

Как я стал разработчиком за пол года?

Всем привет. Это очередная история трудоустроства на сайте javarush, где будут расхваливать джавараш.

Шучу, не будут. Или будут?

Конечно же будут, я ведь ждал момента написать эту статью ещё на 1х уровнях, когда читал чужие :)

Вообщем, начнём с самого начала.

В июне 2014 года я получил диплом бухгалтера. К 3му курсу университета я уже понял, что бухгалтером не буду, я зарабатывал в интернете — разные способы, арбитраж, подписки, дорвеи, сдл, гс и прочее, этого в интернете много, но и нюансов тоже очень много. Студенту хватало. После окончания универа я всё ещё продолжал «крутиться» в интернете, пока…

В январе 2015 года я подумал, что неплохо было бы стать программистом. Просто потому, что мне нравилась IT сфера, я сам давно был с ней связан и developer это логичный её исход (на тот момент это был исход, сейчас это лишь начало нового пути). Для реализации столь замечательной идеи я стал учить pyton 3. Я прошел базовый курс, задачки на логику и алгоритмы, это всё конечно да, но «где же эпичность, где же программы которые спасают мир?» — подумал я тогда. Через недельку я об этом забыл и забил — деньги были, жизнь шла… Но в феврале ко мне в гости приехала сестра с мужем, оба айтишники, и её муж рассказал о планирующихся курсах в их компании (не обучение, а просто курсы которые вводят в IT — ознакомительные, про разницу языков, про технологии, про проекты, цели IT и прочее) и посоветовал на них пойти. Я подписался на все обновления их фирмы и стал ждать…

В феврале 2015 года начался набор на эти курсы, желающих было много, всем бы места не хватило. Для прохождения был тест на знания английского языка и очень базовых понятий программирования. Т.к. я очень хорошо умею гуглить (кстати до сих пор считаю это САМЫМ важным скиллом программиста) и хорошо знаю английский — тест я прошел, отправил, через 2 недели получил весточку «Вы приняты, начало занятий...»

В марте 2015 года начались курсы. После первого занятия было объявлено о конкурсе, люди должны были самоорганизоваться в команды и выполнить командное задание. Само собой меня никто не взял, т.к. я ничего не умел. Зато сестра мне посоветовала начать учить java как распространённый и развивающийся язык. Благодаря своему умению гуглить я нашел сервис джавараш, нашел отзывы, почитал и таки что вы думаете — я купил подписку находясь на 2м уровне (не дожидаясь 10 бесплатных). Но тут подкрался ещё 1 момент…
В апреле 2015 года у меня была свадьба, соответственно кроме еженедельных курсов и заработков на хлеб времени осталось только на подготовку к свадьбе, и купленный джавараш стал ждать на 4м уровне. А после свадьбы…

В мае 2015 года я поехал в свадебное путешествие, после которого твёрдо решил начать учить джавараш, и таки что вы думаете? Вернувшись 6 мая домой, первым делом я сел учить java. Начал я это делать с 1 уровня javarush, и впринципе адекватно считаю, что мой путь в программисты стартанул именно 6 мая.
В июне 2015 года я был уже на 20 уровне джава раша. Собственно здесь основная часть отзыва о джава раш. Т.к. дальше 20 уровня я и не дошел. Что, как, я же трудоустроился! Ой можно устроится после 20 уровня? Нет. Нельзя. Так в чем секрет? Секрет в том, что до 20 уровня вы проходите основы джава, самую важную базу. И вы не просто проходите основу. Каждую из, мать её, основ вы повторяете десяток раз. Сраные роботы вам её разжевывают и заставляют вас искать кучу недоразжеванной информации, что качает скилл гуглинга (самого важного скилла любого программиста, помните об этом) и вот, ошибка за ошибкой, злость за злостью, неудача за неудачей вы проходите эти 20 уровней…

Здесь моя красивая разбивочка по месяцам теряется т.к. дальше её сложно произвести так разграниченно.
А дальше, после 20 уровня, я случайно попробовал андроид. И затянуло и понеслось. Я начал читать книги, смотреть видосы, онлайн уроки, текстовые уроки — куча всего (опять же, гуглинг!!), но везде я убеждался в 1м на 100%, именно благодаря джавараш я получил мощнейшие основы на которые сверху просто накатил андроид фреймворк, без основ я бы не смог понять андроид и писать для него приложения. Основоы — это ваш фундамент. Пропустив джавараш вы просто обосрётесь в реальном мире программирования, просто потому, что здесь огромная куча практики которая даже в самую медленно усваивающую голову вложит эту важную информацию! Нет, вы можете стать программистом и без джавараш, но это будет тяжелее и дольше *(я не рассматриваю вариант менторства и тяги за уши, это редкий случай и те кто имеют такого ментора здесь и не сидят).

С июня по сентябрь я был поглащён нюансами андроид которые я всё поглощал и поглощал (и все они всё ещё накатывались на базу джава, полученную здесь), а вот (тут мы вернёмся к месячной разбивке) к октябрю…
В сентябре 2015 года я понял, что я уже что-то знаю (шучу, в тот момент я себя считал уже почти мидлом, наверное) и решил, что мне нужна работа (семью то надо кормить), а именно работа андроид разработчика. Но как? Ведь толпы людей ищут эту работу, они как и я пишут одинаковые резюме, что же делать, подумал бы кто-то другой, я то парень хоть куда, я сразу решил, что искать работу буду когда напишу полноценное портфолио :) и начал его писать. Моей целью было 4 приложения: калькулятор с поточным вычислением (самый простой, считать на ходу), приложение клиент-серверное (сервер писал не я) которое адаптировало сайт онлайн энциклопедии в приложение, todo список с всеми фишками материального дизайна и ещё 1 адаптация онлайн энциклопедии, но уже с базой данных, материальным дизайном, сторонней библиотекой и ещё чем-то там. Вообщем план наметил и начал писать…

В ноябре 2015 года, а именно в 15 числах все мои приложения были готовы, код был на битбакет, приложения в плей маркете, я понял, что пора бы начать искать работу, я ведь парень хоть-куда :) Для того, чтобы искать работу, я решил собрать список команий моего города (Одесса), отсортировать их, оставив только те, которые занимаются андроид разработкой (ну или она хотя бы одно из их направлений). Для этого я написал минипрограмму которая спарсила данные с jobs.dou.ua/companies/ и выдала мне список 180 одесских IT компаний. К сожалению там были компании-однодневки, гавностудии, а так же отнесены всякие компании интернет провайдерво, я отсеивал их в ручную, и получил список из 63 компаний которые мне подходят. Я решил рассылать резюме в 3-5 компаний в день. Единственное что, я решил перед этим отдохнуть, сходить куда-то с женой(а то я учился по 8+ часов в день, + 2 часа работа. Работа кстати — где-то к июню я скопил сумму на год жизни вперёд и поэтому спокойно учился не тратя много времени на заработок) а рассылку начать с 20 числа. Единственное, что для успокоения совести я решил сделать (чтоб не казаться себе бездельником) это запостить своё резюме на work.ua. Спокойно запостив в среду объявление я пошел отдыхать.

20 ноября 2015 года, я получил на почту письмо, что одной компании понравилось моё резюме, а именно мои готовые проекты и они пригласили меня на собеседование. К моему удивлению, собеседование оказалось онлайн, а компания оказалась удалённой (к этому моменту я 4 года работал дома за компом, работа программистом на дому было моей мечтой). Я не подал виду, что я сижу с горящими глазами, а лишь спокойно ответил на все вопросы — технические и нет, и отправил свой код на код ревью своему будущему тим лиду. Через 3 часа волнений я получил ответ «мы бы хотели, чтобы вы у нас работали». Ну и я не стал особо спорить, хотите — как хотите :)))

24 ноября 2015 года был мой первый рабочий день в роли Android developer'a…

Рассказик то не маленький получился, его основная мораль, пожалуй, будет такова:
1) Учите основы. Для основ java нет ничего лучше javarush(поверьте, я умею гуглить :).
2) Учитесь гуглить. Это ещё важнее основ. Умея искать — вы сможете найти решение ЛЮБОЙ проблемы.
3) Учите английский. Я учил его час в день на протяжении обучения программирования, сейчас я ищу и читаю техническую информацию только в оригинале — её в разы больше, и она понятнее и свежее.
4) Пишите портфолио. Вы никому не нужны, но если вы что-то умеете и покажете это — то вы сразу выделитесь на фоне десятка таких же соискателей как вы, которые поленились написать портфолио.
5) Учитесь всегда. Каждый день вы должны узнавать что-то новое, хотя бы 1 мелочь.
6) Программируйте. Каждая строчка кода приближает вас на 1 шаг к вашей цели, всё приходит с опытом.
7) Не сдавайтесь. За время обучения минимум 5 раз на меня нападало уныние и тоска, неуверенность в собственных силах и слабость, но через не могу и не хочу я заставлял себя идти дальше и они сменялись вдохновением.
8)

Пожалуй это всё, что я хотел сказать. Стремитесь и всё получится, это я вам как Android developer с бухгалтерским дипломом говорю :)

P.S. не написал в основной часте статьи, но скажу тут. Помимо джавы\андроида\другого основного направления учитесь использовать прочие технологии нужные вашей профессии. Какие именно? Ну 100% Git, JIRA, Scrum, XML, JSON, REST api, HTTP и прочее. Конкретные примеры вы можете легко найти, посмотрев, что требуют работодатели у мидлов вашей специальности. Уж поверьте, эти «побочные» скилы учатся быстро и легко, т.к. они несложные, но ваш уровень и вашу цену поднимают, да и без них вы далеко не уедете :)

P.P.S. Ах да, на работе то я уже 2 месяца. Тим лид сказал, что я расту и всё ок, он же советует что почитать и как развиваться. После того как найдёте работу — именно ваш тим лид\ментор будут вашими богами — молитесь на них, цените и уважайте, благодаря ним вы будете расти дальше.

AIDE - среда разработки на Android устройствах

Будучи завсегдатаем маршрутных такси и начинающим джава-программистом, занимался я поиском IDE на мобильное устройство, чтобы можно было везде и всегда…
Как следует из заголовка — нашел.

ИДЕ предлагает вам обучатся или сразу приступать к разработке.
По части нового проекта можно:
— как ни парадоксально создать;
— клонировать гит репозиторий;
— скачать с дропбокс.

Проекты можно создавать различные и веб, и С, конечно же Java, но более всего она заточена под ведро Android.

С Java проектом можно создавать лишь консольные утилиты, за исключением мобильных приложений на движке libGDX.
Как и можно догадаться подключать сторонний плагины вряд ли удастся, если он не написан разработчиками данной IDE. Так что на полном энтузиазме можно писать консольные утилиты в духе JavaRush до изучения swing.
Без автозаполнений тоже не обошлось, но не стоит забывать, что это вам не Intellij IDEA, тут многое пишется руками.

Android приложения
Радует возможность просмотреть что же выходит в main.xml
Как и в андроид студио реализована возможность перетаскивать различные элементы в активити, однако, это требует установки платного плагина.
Выбора активити и версии SDK попросту нет.
Пишут, что приложения строит Gradle, шустро…

Нужно дебажить — снова плати.

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

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





  • ,

Выбор источника данных для RecyclerView

Добрый день, извините что вопрос не по задачам.
Не могу выбрать, где хранить данные для RecyclerView в андроид-приложении.
Исходные данные можно представить как генеалогическое дерево. Список (RecyclerView) отображает детей или родителей выбранного нода (свайп впаво — дети, свайп влево — родители).
Выбираю между базой данных (sqlite) и графом ListЧто же будет быстрее работать, постоянные запросы к базе, при свайпах или итератор в графе?
Граф похож на тот что был на курсе в задачах, помню долго с ним возился :)
Если у кого нибудь есть опыт в данном вопросе, подскажите ;)
  • ,

История трудоустройства. AndroidDevelopers++;

Помню на 10-20 уровне я представлял, как напишу свою историю трудоустройства. И вот это наконец произошло. Счастью моему нет предела))

Я думаю, у некоторых людей здесь была/есть такая же ситуация как у меня.
Сейчас мне 22 года, я родился и вырос в Питере. Программирование понравилось еще в школе, когда мы с отцом написали простенький калькулятор на плюсах. После школы успешно поступил в один из университетов на факультет Информационных систем и технологий и жил себе стандартной студенческой жизнью. Стараться и учиться пришлось только до 3 курса, потом зачётка с почти всеми «отлично» делала своё дело. В какой-то момент, я вообще перестал понимать учат нас чему-то или нет, но тем не менее спокойно себе жил дальше, сдавал свои лабы и курсовые в срок и в свободное время выпивал с друзьями и отдыхал). Какое-то время работал официантом.

Всё началось в конце 4 — начало 5 курса (да-да я из последних специалистов). Я внезапно понял, что ничего не знаю. Т.е. знаю, но всего понемногу, с такими знаниями шансов найти работу у меня нет. Я писал на С++, PHP, SQL (единственный крутой курс в универе. нормализация и всё такое)), JavaScript, HTML, CSS, даже на Prologe. Работал с Qt, Oracle DataBase, понимал базовые алгоритмы вроде быстрой сортировки или алгоритма Кнута-Морриса-Пратта. Понимал принципы работы сети и многое другое. Но все эти знания можно было приравнять к базовым и толку от них по большому счету не было. Нужно было понять, чем мне будет интересно заниматься в жизни и что вообще делать.

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

Далее после 2015 нового года пришлось остановиться с JavaRush и начать писать диплом. Тогда я был на 29 уровне и начинал потихоньку искать подходящую вакансию Juniora или стажировку, но в Питере вообще ничего подходящего не было. Тему диплома нам предложили выбрать самим и почему-то я не придумал ничего на Jave и решил написать приложеньку на Android. Тема называлась "… что-то там… информационная система с использованием рекомендательной системы под ОС Android" :). Если вкратце, то на девайсе пользователь мог ставить рейтинги различным местам Санкт-Петербурга, вся эта информация сохранялась, отправлялась на сервер, прогонялась через алгоритм коллаборативной фильтрации и формировался список рекомендаций для пользователя. Дескать куда ему сходить) Всё можно было отобразить на карте, проложить маршрут и тому подобное. Публиковать естественно не стал, кому такое Г нужно)) Но учить Android и разбираться с рекомендательными системами было очень интересно (особенно если сравнивать с дипломами моих друзей и одногруппников). Познакомился с SQLite, Google Play Services и другими андройдовскими фишками. И тут меня осенило, чем я хочу заниматься в жизни — разрабатывать мобильные приложения.

Параллельно, я нашёл первую подходящую стажировку. Одна немецкая компания в Питере набирала учеников в Java-школу. Тех, кто успешно её проходил брали на работу. Не смотря на то, что я хотел писать под Android, Java мне тоже нравилась и я понимал, что главное это получить опыт. Прислали тестовое задание с тремя задачками. Две решились моментально, ибо JavaRush все нужное мне дал: одна была на потоки, другая про последовательность элементов. Последняя задачка это консольный калькулятор, с ней пришлось немного подумать. Через пару дней пригласили на тестирование в компанию, после прохождения сразу было бы собеседование. Так сложилось, что ночью мне стало плохо и всю ночь я не спал. Шанс решил не упускать и всё равно пошел, хотя чувствовал себя невероятно фигово и в итоге завалил тестирование. Оно было не очень сложное, 80% вопросов с quizful Java Junior. В нормальном состоянии с таким проблем никогда не возникало. Было очень грустно и обидно. Кстати один из JavaRushевцев устроился именно в эту компанию). Привет тебе, если ты вдруг читаешь.

После получения бесполезного красного диплома, продолжал искать работу. И в конце июня наткнулся на набор в Android-школу в одну компанию. Отбор происходил в 3 этапа:
1) Заполнить анкету с вопросами в стиле «По протоколу UDP передаются пакеты A, B и С. В каком порядке они доставятся?».
2) Тестовые задачки. 3 штуки: одна про связанные списки и две на придумать какой-нибудь алгоритм. Могу сказать, что с такими тестовыми заданиями после JavaRush у вас никогда проблем не будет.
3) Моё первое собеседование:) На нём меня погоняли по коллекциям, показали запутанный код некой функции и попросили рассказать, что в нём на мой взгляд не так, поспрашивали, как бы я написал некую структуру, в которой данные становятся недоступными через какое-то время и многое другое. Вышел оттуда с отличным настроением. Интервьюер мне очень понравился + узнал немного нового и наконец-то получил опыт собеседования.

Через две недели, мне позвонили и сообщили, что я принят:) В итоге взяли пять человек из 100+ желающих. Двоих в IOS школу и трёх в Android. Следующие 2 с половиной месяца я ездил учиться в офис 3-4 раза в неделю и писал много приложений. Не смотря на то, что уже немного знал Android было очень классно и интересно, каждый день узнавал много нового. В конце школы мы вместе с другими ребятами, написали тестовый проект по результатам которого нас всех взяли к себе работать) И вот уже сейчас я работаю над своим первым настоящим проектом и я действительно в восторге от своей работы.

Вышло конечно длинновато… надеюсь это было не очень скучно читать)). Хочу сказать огромное спасибо команде JavaRush за такой замечательный проект, который так помог мне в жизни, а так же всем тем, кто помогает на форуме с задачками. Именно вы спасали меня, после часовых поисков проблемы)) Желаю вам выполнить вашу цель и сделать программистами миллион людей)

Тем, кто еще учиться, желаю успехов и удачи в поиске работы, которая будет приносить вам удовольствие. Не отчаиваетесь, если у вас что-то не получается или вас не взяли на какую-то вакансию. Ведь если бы я попал в ту Java-школу немецкой компании, то не попал бы в компанию мобильных разработок) Советую начинать проходить собеседования уже после 16 уровня — это бесценный опыт, и обязательно изучить Git. Без него никак. Оффициальный гайд вполне неплох.

По Jave скидывать книжки не буду, это уже делали миллион раз. Советую посмотреть курсы Головача, если у вас есть много времени.
А вот по Android посоветую «Программирование под Android» Брайна Хардли, я прочёл её, когда писал диплом. Всё очень классно написано.

P.S. В офисе всегда есть печеньки, а по пятницам вечер пиццы :)
  • ,

"Исполни мечту" или история шестнадцатилетнего фрилансера...

Исполни мечту!


Хочу начать перефразировав знаменитые строки :

Послушайте!
Ведь, если можем мы мечтать —
значит — это кому-нибудь нужно?
Значит — кто-то хочет, чтобы так было?
Значит — кто-то называет наши затеи гениальными?


Свою осознанную жизнь я помню лет с пяти — почему осознанную? Потому что именно в этом возрасте у меня появилась цель всей моей жизни, моя мечта.
Тогда я искренне захотел стать компьютерщиком — в том возрасте я мало понимал в этой области, но называл свою будущую профессию так.
С тех пор шли года, менялись интересы, но я никогда не забывал о своей цели, пусть и был самым обыкновенным пацаном любящим поиграть в компьютерные игры.
Начиналось всё скажем так, забавно — в свои детские годы я лазил по «диску C» и искал там вирусы… Обычно после моих поисков к нам приходили настоящие компьютерщики, и это было счастьем наблюдать за процессом приведения компьютера в рабочее состояние.
Со временем я стал разбираться и в железе — мне нравилось ковыряться в ПК, собирать и разбирать его. В годы юности я захотел узнать что будет если переключить режим работы БП и «убил» свой первый компьютер(а это был первый Athlon, черт подери)…
Но вы знаете, оно того явно стоило. Я не боялся рисковать и это приближало меня к моей цели все быстрее и быстрее. Классе в пятом я стал внутриклассным компьютерщиком и помогал нашим ребятам с компами, а позже ремонтировал даже учительские ПК…
Пусть это всё и баловство, но я сурово шел своей дорогой, шел не смотря на все преграды и неудачи, которых было вполне достаточно. Сейчас мне уже 17-ть, неделю назад я получил не только подарки на день рождения, но бесценный опыт — мой первый заказ на фрилансе, первый заработок в роли программиста.
Но вернемся в прошлое — я пытался изучать Delphi, но предпочитая реальный опыт занудным книжкам сидел и играл с друзьями в Heroes of Might and Magic V, мне не очень нравились бесполезные уроки информатики не связанные ни с чем в нашей жизни, однако я очень любил что то делать сам…

Детство

Итак однажды я наткнулся на программу GameMaker с её «языком программирования» GML — это было действительно здорово! Что может быть лучше чем в юном возрасте уметь разрабатывать игры «с нуля» за короткий срок — да ничего! Мне очень нравилось это занятие и не забыв о своей мечте я решил начать изучать разные языки программирования.
Я думал что буду очень крутым программистом если изучу за сотню разных языков, на деле всё оказалось не совсем так, однако когда я пробовал писать программы вроде «Hello World» на многих ЯП это несомненно сформировало меня и помогло мне с выбором.
Мне становилось всё интересней — вернувшись в Game Dev благодаря Unity3D и множеству уроков я стал примерно представлять как строятся крупные проекты, хотя по сути просто повторял действия на экране… Мне действительно это нравилось, невероятный жизненный актив — возможность чувствовать себя творцом.

Юность

С 9-го класса я стал потихоньку углубляться в спортивное программирование, это давало мне возможность изливать свои математические способности в виде любимого дела, я пытался участвовать в олимпиадах и много где меня ждали поражения, порой кажущиеся фатальными…
Но я не терял надежды и одним летом нашел интересный сайт с незамысловатым названием JavaRush, изучив за первую неделю 10 бесплатных уровней я понял, да — мне стоит купить подписку(как раз на днях заработал денег да и скидка была).
Откровенно говоря ушел я не слишком далеко, дальше 26 уровня подняться у меня пока не получилось — времени было не так много, ЕГЭ, олимпиады, увлечения, друзья… Тогда я интересовался разработкой под OS Android и нашел прекрасный учебник для русскоязычного школьника — сайт StartAndroid, именно так началось моё знакомство с Android App Dev'ом продолжающееся и по сей день…
Прошло не так много времени и вот он я… Уже так далеко от прошлого… Зарабатываю freelanc'ом, получаю огромный опыт, деньги, при этом сижу дома, отдыхаю когда хочу и периодически радую себя и родных подарками ;)
Моя история пожалуй подходит к логическому завершению и я хочу пожелать всем больших успехов, глубокой веры в себя и в своё дело. Делайте, исполняйте, не сдавайтесь, живите.

Олимпиады

Хочу передать благодарность всем людям повлиявшим на мой путь.
Вот небольшой список: благодарю свою маму, наставника, всех моих преподавателей, сестру, товарищей, друзей, родственников, команду JR, людей из SA, близких, родных и верных.
Список имен: Юлия, Вера, Андрей, Олег, Владимир, Арина, Мария, Наталия, Ольга, Евгения, Оксана, Анна, Матвей, Валерия, Екатерина, Ринат, Радик, Дмитрий, Даниил, Владислав, Алексей, Александр, Константин и многие, многие другие…
Отдельно хочу выразить своё уважение Дмитрию Бачило — спасибо за 16 бит.

Now

Я исполнил мечту своей жизни, а ты сможешь? С лучшими пожеланиями, Тим.

За более подробной информацией: vk.com/t_i_m_777

Как я нашел свой путь и начал кодить.

Привет JavaRush жители.
Немного о себе, мне на данный момент 20 лет, с 16 лет начал самостоятельно изучать основы программирования, прочитал книги: Эндрю Таненбаум — Современные операционные системы, Мартин Грабер — Понимание SQL, Герберт Шилдт Полное руководство. 8-е издание. В 2013 поступил в Воронежский Государственный Архитектурно-Строительный Университет на специальность инженера. С JavaRush познакомился зимой 2012-2013 года в 11 классе, на тот момент у меня были навыки программирования и с небольшим трудом впитывал новые знания. Начал ходить к репетиторам по ЕГЭ и стал уделять время перед сном по субботам JavaRush.
В этой статье я хочу рассказать про свой путь к java программированию. Начну с позднего вечера со списком предметов для сдачи ЕГЭ. 11 класс в общеобразовательной школе в миллионом городе был для меня самый переломный период в жизни, кем я хочу стать и что я буду делать в ближайшие 5 лет, конечно первая в голову мысль пришла о том, что я сначала закончу Университет бакалавром и пойду работать на того, у кого есть цель в жизни.
Год спустя уже 1 курс в Университете на специальность инженера со склонностями к программированию. За плечом 20 уровней JavaRush и потребность добиться вершин в программировании. Открыв #ресурс# для поиска работы в своем городе, я отправил резюме с ссылкой на мою первую программу на андроид, предпоссылки к созданию программы послужила моя младшая сестра. Чтобы убедиться, что шнур для зарядки телефона не теряется сам по себе, я маскировал телефон так, чтобы объектив камеры был направлен на предмет слежки, когда кто-то решил взять шнур без разрешения, происходил снимок, подозреваемый если заметил слежку, то попытался бы удалить улики, не тут то было, компромат отправлялся сразу на #мояпочта# либо в #мойтвиттер#. Программу скачали за полгода около 500 человек и я удалил ее. Трудоустройство на должность программиста не получилось из-за очного обучения.
Я обладал неугасимым желанием создать приложение, которое будет приносить профит, чтобы удовлетворять свои повседневные нужды, но увы, время течет быстро и уже сессия не за горами. Озадачив себя сдачей сессии, я решил, что не потеряю свои приобретенные навыки в программировании. На зимних каникулах(после сессии) я решил удостовериться в своих знаниях, и понял, что мои знания были забиты тавтологией из Университета. Написания второй программы для поиска спутника Триколор на андроид по срокам затянулось на несколько недель. После каникул я понял, что учеба в Университете не мой путь, 1 сентября я подал заявление об отчислении и с чистой совестью ушел в закат.
Моя вторая программа начала приносить доход и я наклепал производной ей. Меня не успокаивала мысль о том, что нужно сделать программу, которая будет включать в себя и область серверной части и клиента, на мысль пришла онлайн игра. Рыская Плей маркет я пытался найти игры, сделав которых аналог, можно смело сказать, что мой аналог будет лучше по всем параметрам. На улице шел дождь, я набирал варианты идей в поиск и разочаровывался с каждым разом. Шли недели, я не придумал ни одну игру, которая будет лучше. Видимо, пора искать работу.
Шел первый снег в 8 утра, люди с дальних краев едут в электричке к город. Вы скажете, что это судьба и я с вами соглашусь. Пассажиры играли в карты. Мост, включается аварийный свет и шулера достают свои козыря. Я сразу понял, что нужно делать. Доехав до города я сел в электричку в обратную сторону. Дом, ноутбук, вечер. Горящими глазами, скрипя клавишами, я искал аналоги игр, поняв, что некоторых популярных игр нет на маркете, я понял, что нашел свое занятие на зиму. Дедлайн выпал на Пасху. Утром была опубликована первая версия игры. Я готов постигать новые вершины и я ценю те знания, которые мне дал JavaRush. Так же, в разработке я использовал знания аналитической геометрии, матрицы, принцип работы протокола TCP, и ресурс в закладках JavaRush.
Ссылка на игру: play.google.com/store/apps/details?id=con.andraft.durakrus
Ссылка на Помощник спутника Триколор: play.google.com/store/apps/details?id=com.andraft.trifinder

Год поиска работы или как не сидеть в эмоциональной яме.



Тееперь моя очередь рассказать свою историю.
Первое моё знакомство с Java было на 2м курсе, один семестр, за который мы написали игрушку по типу Tower Defence. Вообще за время обучения были языки: C++, java, pascal. И самое незабываемое приключение это был Refal. Но в течении обучения меня программирование в принципе не интересовало. Для приличия, прочёл полностью «C++ Шаг за шагом» Г.Шилдта. Решил все задачи из книги, но интереса так и не прибавилось. Но как сейчас осознаю, тогда скорее всего просто C++ не запал в душу. К слову, я практически не сдавал лабораторные по программированию, точнее сказать сдавал не свои:) Шло время, а куда идти работать после универа я даже не представлял, специальность была не совсем гражданской, если коротко — математик в области криптографии. Не знаю откуда, но уже тогда понимал, что в гос. учреждениях счастья и денег не найдёшь. В начале пятого курса чего-то осенило, решил написать под свой Android «чего-нибудь». Запустил свой первый Hello World и тут понеслась:) начал проходить уроки на стартандроид. Авторы ресурса предупредили, что материалы по java читать по любому придётся, но кому это тогда интересно было, по урокам же все получается;). Но момент этот все-таки наступил. Купил себе как справочник Г.Шилдта «Java полное руководство». И совершенно случайно наткнулся на Javarush, правда это было примерно через пол года. Но не будем забегать вперёд… осмелевший после 3х месяцев написания android приложений А-ля Hello world, Hello world и кнопка….Hello World и n-k-я кнопка и.т.д. я начал искать вакансии android программиста. Как выяснилось чисто java разработчики в нашем городе в принципе не требовались, было обычно 3-5 вакансий android программиста. Вот, звоню, приглашают на собеседование, меня конечно не берут, но предлагают вариант обучения, стажерства, дают просто задачи домой, а потом я показываю результат. Я от радости согласился, но что-то не пошло. Изначально сказали, что посмотрят пару недель и если обучаем, то пристроят меня к себе, но что то заглохло, для них я не более чем стажёр был. Тут вот первая эмоциональная яма. Думал программирование — не моё, ничего не получается, я как оказалось ничего не знаю, (ещё бы :)). Занимался через силу, старался себя заинтересовать и это самое главное – я не опустил руки. Я брал и занимался. Отсылал резюме и ходил на собеседования, бывало месяцами ни одного отклика не было а бывало в течении недели по 2-3. Но и в течении всего этого времени я занимался, и контактировал с ребятами с первой фирмы. Но сколько я не обращался, постоянно мало знал для них, даже когда выполнил тестовое задание. Я ночами не спал несколько недель, но я понял и сделал его. Это был мой первый прорыв в написании приложения для Android. Это был такой мини клиент для Instagram. Необходимо было найти пользователя по нику, отсортировать его фото по лайкам, выбрать понравившиеся и склеить коллаж. Это была вторая эмоциональная яма, так как я был на 100% уверен, что меня возьмут, иначе почему они постоянно спрашивали, сделал ли я его? Не оправдали обнадеживает? Но и тут я не опустил руки.
Наступила тишина, никаких предложений и вакансий. Начался 6й год университета. Я уже окончательно понял кем хочу быть. И интереса в университете у меня уже не было, очень понравилось учиться самому, тому что реально нравится, не правда ли хорошая идея, заниматься тем, что нравится? Где мои мозги раньше были?:) Благо обучение не полные 6 лет, а 5.5 всего. Самый удар по самолюбию был неожиданный. Денежка нужна, кушать хочется, а работы нет. Отсылал резюме везде, лишь бы взяли. Пошел на собеседование на должность помощника сис.админа. Прям дно какое-то, но не в том смысле что стремно работать на такой должности, а в том, что думаешь, что сюда точно возьмут, ведь это просто. Потому раньше на подобные вакансии даже не обращал внимания. Думал что, точно возьмут. Сам админ сказал, что я понравился ему, знаний достаточно, даже более чем, ему как раз надо было писать мобильный клиент под их внутреннюю БД. Замечу, сис админ не в IT конторе был, ещё ниже чем дно. Но увы, не перезвонили……

Прошло примерно 1.5 года как я начал изучать android и java. Еще летом 2014-го я прошёл полностью бесплатные уровни на Javarush. А курс запал в душу, очень интересно проходить. А денежки купить подписку не было.

Я Кое как с горем попалам сдал госы(3) и диплом(4), на дворе февраль уже 15-го года. А работу начал искать ещё в ноябре 13 го…… руки начали опускаться, обучение шло черепашьими шагами. Уже не знал, что думать и что делать? Смириться что я тупой, никогда не стану программистом и идти в макдак?:) По секрету скажу, именно эта мысль меня толкала изучать программирование, и не давала опустить руки. Как – то раз вечером, было 1 марта по-моему. Стою на кассе в магазине, звонит телефон: здравствуйте, я увидел ваше резюме…… Человек рассказал что за фирма, задал вопросы. Пригласил на следующий день на собеседование. Кстати говоря, я пришел домой и посмотрел, что за фирма, до этого я вообще о ней не слышал и не видел ее. Поисковик ни разу не находил эту организацию, когда искал организации, занимающие программированием под android.
Я пришел, мы пообщались минут 10 буквально. И тут финал…… ни тестовых заданий, ничего…на следующий день я вышел на работу. Представляете сколько радости было? Меня просто спросили, когда вы готовы выйти на работу? Я сказал – хоть завтра. Вот завтра и вышел на работу:):):) уже месяц как Android разработчик.
Вот прошёл тестовый период в один месяц. Я получил свой первый аванс 5 тысяч. И купил на него подписку на java rush:) тут ещё радость, аванс совпал с акцией. Я зашёл и ещё мне дали скидку до 85$, я так понял за старые заслуги:)

Ребят, никогда не опускайте руки, цепляйтесь до последнего. Всем хорошего
кодинга, лёгких собеседований, и интересных тасков;)