Елена Булыгина предлагает Вам запомнить сайт «Ленусик»
Вы хотите запомнить сайт «Ленусик»?
Да Нет
×
Прогноз погоды

Основная статья: Истории успеха

GeekUniversity: работа мечты — done

Студент факультета Android-разработки Александр Королев рассказывает, как в 19 лет нашел свой путь в IT. Как ушел в академ с первого курса вуза, чтобы учиться программированию в GeekBrains. Сохранил присутствие духа после 7 отказов на собеседованиях, а по итогам восьмого — получил оффер из Mail.Ru Group. Александр делится опытом реальных интервью и своей подборкой IT-ресурсов.

С чего все начиналось

Школа

Я всю жизнь занимался иностранными языками. Учился в гуманитарной школе с углубленным изучением испанского. С детства сфера IT была для меня чем-то загадочным. Есть «понятные» профессии: например, журналист. Ты примерно можешь себе представить, как писать текст. Но как писать код — сложно понять с ходу. Для меня это всегда было страшным и привлекательным. И я решил осознанно столкнуться с этими сложностями. В итоге затянуло, и стал развиваться в этом направлении.

В девятом классе во мне проснулся интерес к техническим наукам, особенно к программированию. Тогда я еще готовился к ГИА по информатике и узнал про алгоритмический язык. Экзамен я сдал хорошо — наверное, это можно назвать моим первым успехом в области IT и программирования. Это было несложно, но приятно. Дальше — больше: стал углубляться в тему, готовиться к ЕГЭ по информатике и поступлению в вуз. На подготовку ушел год: за это время я успел познакомиться с языком Pascal. С ЕГЭ я тоже справился, набрав 75 баллов — неплохо для гуманитарной школы.

Институт

Я поступил на бюджет в МАИ, на технический факультет. Был очень рад и думал, что буду изучать программирование в институте. По факту как таковой разработки оказалось очень мало, да и программа обучения была устаревшей. Мы изучали тот же самый Pascal, который, по сути, был нужен только для поступления — в реальной практике он почти не используется. Да и работу с ним не найти. Помню, что очень сильно расстроился из-за этого.

После первого семестра в вузе я четко осознал: пора браться за дело самому и не рассчитывать на институтскую программу. Поэтому стал заниматься самостоятельно и искать IT-курсы.

Курсы или самостоятельное обучение

Путь самоучки мне выбирать не хотелось. Личный опыт показал: при самостоятельном обучении есть риск пойти неверной дорогой изначально. Именно на старте мы чаще всего делаем ошибки. Здесь важно, чтобы кто-то мог обратить на них внимание, помочь предотвратить их в дальнейшем и указать нужное направление. Если такого человека рядом нет, есть риск закрепить неверные навыки и повторять ошибки снова и снова. Это может сбить с толку, и в итоге ты не понимаешь, что именно отдаляет тебя от намеченной цели.

Потому я решил, что заниматься нужно под руководством учителей, искал курсы и нашел GeekBrains. Меня привлекло описание учебной программы, и я пошел учиться сюда, будучи на первом курсе института. Я выбрал программу разработчика C# и прошел курс по HTML. Понравилась система преподавания, и как вообще работают эти курсы. Параллельно появились анонсы об открытии факультетов веб- и Android-разработки GeekUniversity. В то время в Mail.Ru проходила встреча Geekday–2. Я на нее пришел, впечатлился условиями труда в IT и еще раз понял — хочу работать здесь.

Убедившись, что намерен продолжить обучение в GeekBrains, я начал осваивать курс Android-разработки. Отнесся к этому серьезно: вовремя сдавал домашние задания, читал дополнительные материалы и смотрел видеокурсы. Я очень много занимался: как на курсах GB, так и самостоятельно. Все это меня быстро затянуло. У нас был отличный преподаватель по Java — Александр Фисунов. Его хочется отметить. Он во многом привил нам любовь к программированию. Я стал двигаться дальше, много учиться, развиваться.

Переломный момент

Решающим месяцем в моей карьере стал февраль этого года — произошло два важных события.

Я устроился на свою первую работу почти через полгода после начала обучения.

Все произошло на удивление легко. Я разместил резюме на HeadHunter, и мне ответили из небольшой компании. Моего относительно скромного опыта хватало, чтобы работодатель взял меня Junior Android-разработчиком. Я делал простые Android-приложения и был очень этому рад: найти любую работу практически через полгода с начала обучения — это уже большой успех. Ощущение того, что навыки начинают приносить деньги, стало для меня стимулом двигаться вперед.

Получил дополнительную возможность для повышения квалификации, поступив в «Тинькофф Финтех Школу»

Конкурс был довольно жесткий. Раньше набирали человек по 30–40, а в мой поток — всего 20. Чтобы поступить, надо было сдать сложные экзамены, продемонстрировать хорошее знание Java и сопутствующих Android-разработке языков программирования, а также сделать лабораторную работу. У меня это получилось лишь со второй попытки: пробовал поступить полгода назад, но пролетел. Но я не отчаялся, работал над собой, продолжал учиться в GB, после чего попытался поступить еще раз — получилось.

Сложности

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

Путь был тернистым. Сложности возникали довольно стандартные. Было непросто хорошо выучить язык Java — это основной инструмент в Android-разработке. Я потратил очень много времени, чтобы изучить справочники, видеоуроки и документацию. Усиленно работал над собственными проектами. Я планомерно шел по программе GeekBrains: она насыщенная, но занятий как таковых недостаточно — материал нужно всегда повторять самому. Писал один и тот же код по несколько раз, чтобы все хорошо запомнилось.

Например, в Android есть такой компонент для отображения списков — Recycler View. Когда ты пишешь его сам впервые, вообще не понимаешь, что происходит. Но на одиннадцатый раз уже полностью осознаешь, как работает Recycler, и пишешь спокойно, без посторонней помощи. В Андроиде так: очень много вещей, которые не понятны с первого взгляда. Оглядываясь назад, я вспоминаю эмоции, которые испытывал в самом начале — то чувство, когда уверен, что это невозможно выучить. Сейчас все иначе. Я осознаю, что уверенно владею необходимым материалом. Но это осознание приходит только после того, как ты повторишь все несколько раз.

Собеседования и польза от провалов

Мое первое собеседование оказалось на удивление простым, как и сама работа. Требования были несложными, график — гибким, атмосфера — спокойной. На рабочем месте я мог параллельно заниматься, учиться чему-то. Поэтому это собеседование я не считаю. На своем первом месте я проработал чуть более полугода. Компания постепенно разрасталась: когда я пришел, в коллективе было всего 15 человек, когда уходил — около 40.

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

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

У меня было около 7 неудачных собеседований. Поражения даются тяжело, но на интервью я советую ходить постоянно. Это такой момент, когда ты можешь узнать о своих пробелах или недостатках и почерпнуть для себя что-то новое. Ты понимаешь, какие знания выветрились из головы, на что нужно обратить внимание. Здесь важно уметь делать выводы и работать над собой после каждого провала, чтобы не повторять ошибки в будущем. Я извлекал огромную пользу из собеседований — это тоже опыт. С каждой новой неудачей я выявлял, чего мне не хватает, и старался это исправить. Из важных вещей, которые проверяли на собеседованиях, могу выделить следующие:

  • Знание языка Kotlin, который вышел не так давно. О владении им спрашивают практически на каждом собеседовании. На нем сейчас разрабатывается большинство проектов, потому что он более быстрый, удобный и красивый, чем Java. Начинать, конечно, стоит все же с Java — это основа Android-разработки. Но в дальнейшем я рекомендую изучать Kotlin. Мой переход на этот язык занял примерно три недели. Я изучал документацию, смотрел видеоуроки. Со знанием Kotlin мне стало намного удобнее писать;
  • Аndroid-библиотеки, такие как RxJava или Dagger-2;
  • Основные базовые компоненты Java;
  • Принципы объектно-ориентированного программирования. В частности, 5 принципов SOLID. В тему ООП важно углубляться, потому что об этом спрашивают везде;
  • Архитектурные решения. Советую повторить, как правильно выстраивать архитектуру ПО и какие существуют паттерны проектирования;
  • Английский — must have для каждого программиста. На некоторых собеседованиях проверяли уровень владения языком. Например, в компании Yota Devices у меня даже была небольшая часть собеседования на английском. Ведь основной материал, в том числе техническая документация, написан именно на нем.

Когда опускаются руки

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

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

Тогда очень помогла поддержка близких. Друзья говорили: попробуй еще раз, и у тебя все получится! А я думал: «Ничего страшного, найдется место и получше».

Что пригодилось

Можно сказать, что GB сыграл для меня решающую роль. Все навыки пригодились на собеседованиях и при трудоустройстве. Учебная программа построена на практике и направлена на то, чтобы студент получал максимальную пользу от приобретенных знаний. Это было важно для меня, так как пришел я совсем новичком — знал только Pascal, и то не понимал, где его применять.

В самом начале я понадеялся на GB, рассчитывая, что наставники помогут мне на пути в профессию. И не прогадал: учителя были с нами на связи почти 24 часа в сутки и в любой момент были готовы помочь, ответить на вопросы. Самое крутое — меня погрузили в мир профессиональной разработки, показав, где именно можно использовать новые знания. Чего не скажешь об институте, где ты пишешь уравнение и не знаешь, что с этим делать.

Безусловно, без самостоятельного изучения материала далеко не уедешь — все должно быть в комплексе. Вот список ресурсов, которые показались мне полезными:

  • Книги: Г. Шилдт — «Java 8. Полное руководство» и Б. Харди, Б. Филлипс, К. Стюарт, К. Марсикано — «Android-программирование для профессионалов»;
  • Видео-курсы: Udacity и официальный YouTube-канал по Андроиду;
  • Документация по языку Kotlin: нет лучшего источника знаний, чем отлично написанная документация от разработчиков языка. Переход на Kotlin с Java занимает примерно 2–3 недели при ее ежедневном изучении.

Еще советую подписаться на тематические паблики в соцсетях — например, «ВКонтакте» — и включить уведомления. Так вы сможете оперативно замечать обучающие мероприятия, тренинги и митапы и быть всегда в курсе новостей. Лично я почерпнул много полезного из групп GeekBrains и Mail.Ru Group для образования, а также паблика /dev/null с забавными мемами и новостями.

Встреча с мечтой

И вот я наконец решился попытать удачу в Mail.Ru. К тому моменту как раз открылась позиция младшего Android-разработчика. Через какое-то время со мной связался HR-менеджер и провел небольшое собеседование по телефону. Разговор длился примерно полчаса. Я рассказал о себе и своих навыках, скинул ссылки со своими работами на GitHub.

Спустя день меня позвали на техническое собеседование в офис. Оно заняло примерно два часа. Я общался со своим потенциальным руководителем в присутствии HR-менеджера. Собеседование было в каком-то смысле уникальным. Меня попросили решать задачи. На других интервью тоже просили, но не в таком количестве. Для меня сложность была в том, чтобы написать код ручкой на бумаге. Когда делал это, мне предоставили распечатанные классы. Нужно было решить задачи, связанные с Java-коллекциями. Это очень важная часть: надо знать, как они работают, какую из них и в каком случае лучше выбрать. Просили написать про hashCode()  и метод equals().

Проверяли, насколько мои знания соответствуют современным тенденциям. Например, есть ежегодная конференция — Google I/O, которую рекомендуется смотреть или посещать всем Android-разработчикам, чтобы быть в курсе крупных нововведений. Меня спрашивали об архитектурных компонентах, которые Google анонсировал за последнее время. В частности, как организовывать фоновую работу в Android, чтобы не съедался заряд аккумулятора. Для этого мы рассматривали разные решения: что можно использовать вместо стандартного компонента Service для асинхронной работы в Андроиде, что нужно для работы с сетью и так далее. Спрашивали про принципы ООП SOLID, а также про Android Job: JobScheduler, WorkManager и прочие инструменты для организации плановых действий в Андроиде.

Было очень сложно, но довольно интересно. Честно сказать, я даже не думал, что справлюсь. Когда шел на собеседование в Mail.Ru после полосы неудач, то сказал себе, что это будет моя последняя попытка. Провалю — значит буду кардинально менять специальность и пробовать себя в другой области. Но мне повезло: в итоге я получил работу мечты и не сдался в самый ответственный момент. Уже через неделю мне сообщили: «Александр, добро пожаловать в команду Mail.Ru!» Получилось. Работа мечты — done.

Пройти обучение

5 окт 18, 16:24
0 0
Статистика 1
Показы: 1 Охват: 0 Прочтений: 0

Как я за год из 1C-разработчика стал Android-разработчиком

Он рассказал, почему работа 1С-разработчика его не зацепила, для чего он учился по ночам и как устроился Android-разработчиком в Питере.

Начал программировать, работая аналитиком

Я вырос на Дальнем Востоке, в поселке с населением 1000 человек. В школе, где я учился, были хорошие учителя по гуманитарным предметам, но слабые —  по математике и информатике. Поэтому в качестве предмета на выбор на ЕГЭ я решил сдавать обществознание. Поступил в хабаровский вуз на экономический факультет, специальность «Налоги и налогообложение». Эта профессия на тот момент казалась мне интересной и перспективной. В 2015 году я закончил институт с красным дипломом и устроился работать аналитиком  в продуктовую сеть.

Мне нужно было обрабатывать большое количество данных в разном формате: на бумаге, в Excel, в Word. Чтобы облегчить себе работу, научился писать скрипты для Excel. Такая работа увлекла меня гораздо сильнее аналитики. После года программирования скриптов в Excel я попросил руководителя перевести меня в отдел разработки 1С.

Полгода учился по ночам

Когда начал интересоваться программированием, понял, что на Дальнем Востоке предложений с IT-вакансиями и перспектив для роста мало. Решил искать новую работу в Москве или Питере, но перед этим поменять специализацию.

1С меня не зацепил по-настоящему. Это был важный первый опыт разработки, но в этой области программирования я чувствовал много ограничений. Разработки как таковой здесь было мало, и я не видел, куда расти дальше. Пока размышлял, где учиться программированию, увидел рекламу GeekUniversity. Посмотрел программу и решил, что это хороший вариант — учитывая, что по окончании курсов организаторы гарантировали трудоустройство. В то время были открыты только три направления: веб-разработка, IOS и Android. Мне понравилась программа на факультете Android-разработки.

Совмещать учебу с довольно интенсивной работой было непросто из-за разницы во времени. Занятия начинались в 20:00 по Москве, то есть в 3 ночи в Хабаровске. Я приходил с работы, ложился спать пораньше, просыпался в два часа ночи к началу занятий, учился до утра, потом шел на работу и был там до вечера.

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

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

Сначала переехал, потом искал работу

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

Когда я разместил резюме с опытом работы с 1С и с нулевым опытом в Android, меня начали приглашать на собеседования на должность 1C-разработчика. Вакансий на Android-джуниора было мало — я попал всего на три собеседования. В первой компании меня не взяли, от предложения второй компании я сам отказался, потому что работа была в городе Подольске, я очень надеялся на третий вариант —  работу Android-разработчика в «СофтБаланс». Когда я в первый раз откликнулся на их вакансию на hh.ru, на собеседование меня не пригласили — объяснили, что ищут Middle разработчика.

На тот момент сбережения уже заканчивались, и я начал переживать, что не найду работу. Но через несколько дней мне перезвонили из «СофтБаланс» и объяснили, что ситуация изменилась и они готовы пригласить меня на собеседование на должность Junior-разработчика. Я успешно прошел собеседования и получил оффер.

На испытательный срок мне поставили несколько задач:

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

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

Поработав здесь несколько месяцев, могу точно сказать, что компания мне нравится: есть реальная возможность расти и работать в комфортных условиях. В офисе целая лаунж зона с x-box, настольным теннисом и футболом, свой мини-магазин и мини- библиотека. И главное  — я не ощущаю тех ограничений, которые постоянно чувствовал при работе с 1С. Еще все пугали меня погодой в Питере, но даже она в этом году не подвела. А после сурового Дальнего Востока здешний климат мне вообще идеальным кажется.

Пройти обучение

21 сен 18, 13:52
0 0
Статистика 1
Показы: 1 Охват: 0 Прочтений: 0

«Аппетит приходит во время еды – это про меня с IT»

Привет, я Роман. Живу в Эстонии, работаю в сфере логистики, интересуюсь журналистикой, играю на гитаре и люблю путешествовать. Честно сказать, я никогда не был заинтересован в IT — это казалось мне скучным. На уроках информатики не хватало терпения досидеть до конца — и я их прогуливал. Этот предмет меня раздражал. Все это длилось до тех пор, пока у меня не появилась цель — сделать свой сайт. Но это произошло не сразу.

Как все начиналось

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

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

Искал курсы и нашел GeekBrains через рекламное объявление. Описание показалось мне интересным, и я прошел курс веб-мастера. Сделал собственный сайт на Wordpress, установив его через дистрибутив. Wordpress удобен, потому что позволяет собрать сайт, как конструктор. Я настроил подходящую тему оформления, установил все необходимые плагины, перенес контент со старой версии сайта (он бы написан на Joomla) — одним словом, сделал все для полноценной работы ресурса. С некоторыми трудностями столкнулся при переносе накопленного за 2 года контента на новый хост: картинки были разного формата, и их приходилось добавлять заново.

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

Полная независимость

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

Тогда я решил освоить следующий курс — веб-разработку с нуля. Мы изучаем HTML, CSS, PHP, Javascript и базы данных. Могу сказать, что эти знания мне очень пригодились при работе над своим проектом. Они помогли создать свой сайт с нуля — таким, каким я хочу его видеть. До курса я тратил много времени на установку сайта на хостинг, а теперь это происходит гораздо быстрее и легче. Вишенкой на торте стал факт, что после обучения я смогу зарабатывать, создавая сайты для заказчиков.

Вскоре я действительно увлекся и взялся еще три курса: по SEO, системному администрированию и информационной безопасности. После знакомства с веб-разработкой пришел к неожиданному выводу: системное администрирование дается мне сложнее, чем сам JavaScript. Раньше думал, что быть сисадмином — легко. Возможно, у меня были общие заблуждения насчет этой профессии. Думал: протянул кабель, настроил оборудование — и готово, иди пей кофе. Оказалось не так. В системном администрировании нужно вникнуть в общий принцип: как работают программы, для чего они нужны. Общая картина складывалась тяжело, чего не скажешь о JavaScript, где все было понятно сразу: надо было лишь выучить и запомнить некоторые вещи, как при изучении иностранного языка. Просто учите, зубрите, повторяете.

Как не бросить все

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

Ребята, даже если у вас есть опытный наставник, не пренебрегайте гуглением. Грамотный поиск и изучение нужной документации помогут вам найти ответы практически на любые вопросы. Другое дело, что наставник может задать вектор: подсказать, где именно и как искать. Верный алгоритм поиска — уже половина успеха, плюс сэкономленное время. Конечно, не все сразу: долгое время можно пребывать в тупике и унынии. Бывало, в критические моменты меня охватывала паника. Но справиться с ней можно, если:

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

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

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

Если считаете, что у вас нет времени на дополнительное образование — не спешите с выводами. Всего и сразу успеть нельзя, но выстроить свой день максимально продуктивно — можно. Могу поделиться своим скромным опытом. Я просто записываю. Когда вокруг много всего, ты будто выпадаешь из реальности. Записи помогают в нее вернуться. Не менее важно — планировать свое время по часам.

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

  • 9:00 – 9:30 — завтрак;
  • 9:30 – 10:30 — час на изучение JavaScript;
  • 10:30 – 11:00 — полчаса на спортивную тренировку;
  • 11:00 – 12:00 — час на работу над своим сайтом;
  • 12:00 – 12:30 — полчаса на занятия по гитаре;
  • 12:30 – 13:30 — собираюсь на работу;
  • 13:30 – 14:30 — время в пути до работы, оно же — для изучения английского языка. В дороге я слушаю аудиопособия. Английский очень пригодится в IT-сфере — это конкурентное преимущество и интеллектуальный актив;
  • 14:30 – 23:00 — рабочий день;
  • после работы — время на другие дела или отдых.

Как видите, найти время можно на многое, если грамотно распланировать свой день. Я работаю на заводе сменами, поэтому личный график может меняться. Иногда встаю в 3 часа ночи, чтобы успеть на работу к 4 утра. Дело не в том, как именно составлен ваш график и насколько педантично вы его придерживаетесь. Суть в самом факте планирования, когда вы стабильно уделяете определенное время — пусть и небольшое — каждой из задач. В этом смысле мне было удобно проходить обучение дистанционно, гармонично встраивая его в личное расписание. На мой взгляд, это еще один плюс GeekBrains: можно просматривать вебинары в удобное время. Кроме того, на курсах советуют неплохие дополнительные материалы для самостоятельного изучения, вроде порталов htmlbook.ru, flexboxfroggy.com или webref.ru. От себя могу порекомендовать ресурс theory.phphtml.net. Все это помогает в условиях нехватки времени.

Что получилось

В итоге мой сайт стал более интересным и кликабельным. Раньше это выглядело как лента вида «картинка–текст». Сейчас есть рубрикация и категории. Внутренняя линковка работает лучше, а интерфейс стал более удобным: пользователю проще выбрать, что именно он хочет почитать. На сайте пишут люди из разных уголков мира. Я вошел во вкус и хочу развиваться дальше.

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

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

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

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

Многие из нас в юности выбирают специальность неосознанно — а потом всю жизнь не чувствуют себя реализованными, не получают от работы удовольствия. Сейчас мне 31, и потребность в изучении чего-то нового появилась у меня в 30. Главное — целеустремленность и желание постоянно развиваться. В IT начать никогда не поздно.


7 сен 18, 12:19
0 0
Статистика 1
Показы: 1 Охват: 0 Прочтений: 0

Мир заставляет меняться. Кто не готов, остается за бортом

Для меня профессия «программист» всегда была окружена ореолом таинственности. Меня всегда тянуло в IT и всегда было интересно, почему они пользуются таким уважением. Я живу в маленьком городке Россошь Воронежской области. У нас мало кто знает, кто такой программист и какие еще есть профессии в IT. Я пытался общаться с приятелями и знакомыми на эту тему, но безрезультатно. Для них это неизведанная область. У всех есть телефоны, все смотрят видео, но не знают элементарных вещей. Сидим на заводе, у одного сайт на телефоне не грузится. Говорю ему: «Ты кукиз почисть». «Кукиз?» — И тишина, и все в ауте: «Что такое «кукиз»?»

Завод

В нашем городе есть АО «Минудобрения», еще с советских времен градообразующее предприятие. После кризиса 2014 г. искал работу и пошел туда. Там отец работает, все одноклассники. Работа хорошая, стабильная, но сразу понял, что это не мое. Система странно построена. Специалист, отработавший 15 лет, получает столько же, сколько недавно принятый. Руководство относится как к винтикам. Для мотивации есть только палка, не нравится — других возьмём. Завод один в городе, а людей много, вот и не ценят кадры. Пошел я на завод временно, чтобы переждать санкции. Или пока не найду работу получше. Думал, что санкции кончатся быстро, но что-то они затянулись.

Бизнес

Когда заканчивал институт в США, позвонил один знакомый и говорит, что для меня есть отличная работа. Звоню. На том конце спрашивают: «Ты знаешь английский?» Отвечаю: «Конечно, знаю. Восемь лет в Америке». Спрашивают опять: «А русский знаешь?» Отвечаю: «Конечно, я ведь русский!» Они обрадовались, я — тот, кто им нужен.

У них была проблема: не могли найти человека для работы с русскоязычными клиентами. Были или русские из России, которые плохо знают английский язык, или русские эмигранты, которые уже родной язык подзабыли. Я был посередине, и так, и так. Взяли меня сразу. Это была обычная американская компания e-commerce. Я работал в службе поддержки, писал кейсы на программное обеспечение. Я проработал два года, завоевал доверие и поехал в Россию как представитель филиала.

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

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

Америка

В Америку я попал еще студентом. В школе мы все фанатели от старой Америки. Фильмы на видеокассетах, Американская мечта, другая жизнь. Стало модным учить английский, что я и делал. Сначала в средне-специальном училище, которое закончил с красным дипломом. Затем в университете в Воронеже. Всегда хотел поехать в Америку и протестировать ее. В результате предоставился шанс.

Это случилось в 2002 году. Тогда многие ездили по программе Work&Travel. И я тоже решил поехать. Прихожу к родителям, мол так и так. В ответ слышу: «Что? Тебя обманут! Мы же простые люди, какая там еще Америка!» Насилу уговорил маму поехать со мной в Воронеж в компанию, которая отправляла студентов по программе. В офисе она сдалась. Мне вручили 2000$ из сбережений родителей и отправили с Богом. Родителей не подвел. Я брался за любую работу и обратно привез уже 4000$. Решил ехать снова. На следующее лето попал в русскую Америку во Флориду и в итоге прожил там 8 лет. Закончил бакалавриат, думал, стану доктором, но в итоге решил вернуться в Россию.

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

Портнов

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

Первым делом пошел на YouTube видео смотреть, как стать программистом. Наткнулся на Михаила Портнова. Это известный преподаватель в Силиконовой долине. Он учит русскоязычных эмигрантов тестированию. Всегда говорит, что тестирование — это задняя дверь в IT-мир. Стал думать: «Действительно, я — гуманитарий. Ну какой из меня программист?» В программировании высшая математика, а у меня в универе ее не было. И потом пришел критик в оперу. Он ни одну оперу в жизни не написал. Но он знает, как должно быть правильно, и критикует. А в тестировании как в опере. Надо не писать, надо критиковать.

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

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

Учеба

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

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

Учиться было тяжело еще и потому, что у нас маленький ребенок. А дети всегда требуют повышенного внимания. Учеба — это большая борьба самим с собой. Нужно искать мотивацию и делать. Заставлять себя эту мотивацию найти. Но сразу был момент, который очень понравился. Язык в IT — это полумикс американского и русского. Так говорят в Америке, и конечно за время жизни в Штатах я к такой речи привык. Но дома и на заводе меня плохо понимают. Приходится расшифровывать, но не всегда хочется это делать. Здесь же я могу опять разговаривать, как привык. И это норма.

Стажировка тоже принесла свои трудности. Там была командная работа. Люди все разные, мы друг друга никогда не видели. А нужно координироваться, работать с оглядкой на партнеров. Подстраиваться под них. Это был ценный опыт.

Оффер

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

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

Мир

Я три года отработал на заводе, где под Новый год решали, давать ли нам 13-ю зарплату или не давать, заслужили ли мы или нет. Сейчас меня все спрашивают, как я смог поступить на курсы, а потом устроиться на работу. Все думают, что нужно куда-то ехать и сидеть за партой, чтобы учиться. Но нет! Все изменилось. Современный мир заставляет меняться. Нужно понять, что перемены неизбежны и часто бывают болезненными. Лучше для себя решить, с чем ты готов расстаться, чтобы идти дальше. Кто не хочет меняться, остается за бортом.

Курсы онлайн помогают оставаться на волне. В группе было всего 5-6 человек моего возраста и старше. Остальные все — моложе. И они сразу все понимают, быстрее все схватывают. Учитывайте, что нам придется больше уделять времени учебе. Закладывайте дополнительные часы на повторение и проработку материала. Просто примите это, как особенность возраста.

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


10 авг 18, 16:27
0 0
Статистика 1
Показы: 1 Охват: 0 Прочтений: 0

Pac-Man: я дошел до 130 тысяч скачиваний и меня забанили

Всем привет! Меня зовут Дмитрий. В качестве учебного проекта я сделал для Android старую игрушку Pac-Man. За два месяца ее скачали 130 тысяч раз. Меня попросили рассказать о том, как я ее сделал и почему она «выстрелила». Но пока я готовил материал, кто-то пожаловался на нарушение авторских прав, и игру забанили. Расскажу по порядку, как все было.

Предыстория

Pac-Man — учебный проект в онлайн-университете GeekUniversity, в котором я учусь с декабря прошлого года. По образованию я маркетолог, но долгое время работаю сисадмином. В технической части я самоучка, самостоятельно осваивал C#, C++, писал десктопные приложения для работы. Но разобраться в мобильной разработке сам не смог, поэтому поступил на профильный факультет.

Обучение в GeekUniversity делится на модули. Зимой я проходил курс по разработке игр. Наш преподаватель, Александр Фисунов, предложил в качестве практики самим создать старую игрушку. Из нескольких вариантов группа выбрала Pac-Man из-за   известности и простоты в реализации этой игры. Мы решили, что у нас больше шансов успеть создать ее полностью, пока идут занятия. Забегая вперед, скажу, что во время курса так и не смог доделать проект до конца. Еще понадобилась пара недель после окончания.

Реализация

В нашей   группе было 35 человек. Каждый свой проект делал сам. На занятиях обсуждали теорию и потом сравнивали, у кого какие реализации. Игру писали на Java с использованием библиотек. Я работал с libGDX. Разработка велась под десктопную версию, затем переводили в мобильную. Все ссылки на исходники выложил на GitHub.

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

Добавил редактор карт на JavaFX. Его код тоже можно посмотреть в репозитории. Чтобы было интереснее, добавил статистику. Игрок знает, сколько он съел фруктов, призраков, конфет и прочее. Этого в оригинальной игре нет.

Вначале призраки двигались случайным образом. Затем я реализовал волновой алгоритм для поиска кратчайшего пути к цели. Получилось, что все четыре призрака бегут за «пакманом» по повторяющемуся маршруту. Это скучно и неинтересно. Тогда я написал сценарий, по которому призраки окружают героя. Красный всегда старается зайти сверху, синий — снизу, фиолетовый — слева и зеленый — справа.

По сути это искусственный интеллект для ботов. Мы начинаем обход карты от исходной точки. Каждая клетка получает порядковый номер шага. Таким образом, получается множество возможных маршрутов движения, один из которых приводит к цели — к «пакману». И тогда остается только пройти от цели к источнику по номерам шагов в обратном порядке и передать уже готовый маршрут боту. На GitHub лежит код алгоритма.

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

Если не хотите рисовать сами, есть множество бесплатных assets. Для текстуры пола и фруктов я использовал готовые наборы с портала OpenGameArt. Там же взял и звуки. Музыку скачал с Playonloop.

Комментарий Александра Фисунова

Во время обучения Дмитрий показал себя самостоятельным и работоспособным студентом. На курсе студенты выбрали для разработки игру Pac-Man. К последнему занятию ее основные элементы были готовы, но проект еще нельзя было назвать полноценной игрой. Необходимо было добавить контента и все отполировать, чем Дмитрий и занялся после курса. Я считаю, что у него отлично получилось и игра вышла достойной.

Публикация

Насколько мне известно, я единственный в группе, кто разместил игру в Google Play. Одногруппники сказали, что нет смысла тратить деньги на регистрацию в магазине приложений, если профита не получить. Но мне интересно было попробовать — ради опыта. Хотел пополнить портфолио первой разработкой, потому что знал, что во многих вакансиях требуют наличие приложения в Google Play. Кроме этого, проект был практически готовый. Я оплатил взнос в 25 долларов при регистрации и получил статус разработчика.

В начале загрузок было мало — скачали только друзья и знакомые. Это примерно 5–10 загрузок в день. Потом количество стало подниматься скачками и доросло до 4–5 тысяч ежедневно. По статистике, в основном игру скачивают пользователи из США, Турции и Индии, потому что весь интерфейс на английском. В России загрузок гораздо меньше, хотя есть локализованная версия.

Модерация в Google Play удивила. Сложилось ощущение, что объективности нет, и многое зависит от настроения ревьюера. Первоначальная модерация прошла без проблем. Но когда я через неделю загрузил обновление, игру заблокировали. Причиной указали рекламу «для взрослых», хотя ничего подобного там нет. После апелляционного разбирательства игру разбанили, но, как оказалось впоследствии, ненадолго.

Продвижение

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

Интересная реализация. Сейчас в Google Play примерно 80 вариантов Pac-Man. На первом месте рейтинга стоит оригинальная версия от компании Namco — такая же, как была на игровых автоматах. У нее одна карта и 256 уровней. Большое количество других «пакманов» имеют похожую реализацию: та же карта, текстура и логика. Кроме этого, в них встречается некачественная графика, баги, неудобное управление. Поэтому в основном пользователи вынуждены выбирать между классической игрой и некачественными проектами. Я разработал новую версию игры и дополнил ее картами и статистикой. Это привлекало пользователей, которые любят Pac-Man, но хотят новых вариантов.

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

Общение с пользователями. На отзывы отвечал быстро, потому что разработчик сразу получает уведомление об их добавлении. Сначала пользователи чаще всего спрашивали об управлении. Когда загрузил обновление, подобные вопросы прекратились. Еще заметил, что нет средних оценок. Пользователи ставят либо пять звезд, либо одну. Так же пишут: или «все хорошо», или «это ужасно».

Обновление. Изначально я писал игру под десктоп, поэтому логика управления движением персонажа была ориентирована под клавиатуру. Когда портировал проект на Android, не учел, что с телефона будет неудобно управлять «пакманом». В результате через неделю пришлось переделать логику и выпустить первое обновление.

Бан

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

В ответ подготовил апелляцию, через пару дней пришел ответ. Согласно правилам Google Play, я не имел права использовать название Pac-Man для игры.

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

Комментарий Александра Фисунова

Причиной блокировки, как мне кажется, стало то, что проект набрал большое количество скачиваний в Play Market. Дмитрий использовал в названии известную торговую марку Pac-Man, чем и привлек внимание правообладателей. Чтобы этого избежать, необходимо было либо изменить название, либо связаться с владельцами ТМ   — BANDAI NAMCO ENTERTAINMENT INC. Но тогда для реализации требовался бы совсем другой уровень проработки проекта и целая команда разработчиков.

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

Что в итоге

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

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

В целом я доволен опытом и получившейся игрушкой. Не наступайте на мои грабли, если разрабатываете крутые версии старых аналогов. Буду рад обратной связи от сообщества GeekBrains! Если хотите покритиковать или улучшить игру, пишите в комментариях.

Пройти обучение

25 июл 18, 12:27
0 0
Статистика 1
Показы: 1 Охват: 0 Прочтений: 0

Как найти работу Android-разработчика, если у вас нет опыта?

Прошлым летом Виктор Лоскутов поступил в GeekUniversity на факультет Android-разработки. Уже через пару месяцев он устроился программистом в компанию Wildberries. До этого работал инженером по проектированию мостов и дорог и мало что знал о разработке ПО. Мы расспросили Виктора, как повлияла на него новая работа и почему он решился искать ее с небольшим опытом в программировании.

— Чем вы сейчас занимаетесь?

— В октябре прошлого года я устроился Android-разработчиком в интернет-магазин одежды Wildberries. Работаю в Подольске, где находится склад. Все операции по перемещению вещей (упаковка, сборка, отправка заказов) происходят через терминал сбора данных (ТСД). Компания когда-то закупила ТСД на Android, поэтому ей нужны разработчики, чтобы писать софт для этой программы.

У нас небольшая команда из трех человек — два Android-разработчика и один тимлид, который по совместительству занимается базами SQL и многими другими задачами. В нашем ТСД много модулей, каждый из которых выполняет свои операции: инвентаризацию, сборку, раскладку, прием от поставщика и так далее. Таких операций много, и под каждую нужно сделать модуль. Какие-то из них простые — выполняются в одно действие. Другие — поинтереснее, посложнее.

— Почему вы отучились на инженера, а потом решили сменить профессию?

— После школы я не особо знал, чего хочу. Куда посоветовали, туда и пошел. Поступил на специальность «Строительство» на инженерном факультете в РУДН. По рекомендации друга нашел работу — она была интересной и хорошо оплачиваемой.

У нас была бригада — человек 10 и начальник. Проектирование — довольно прибыльная вещь, пока у тебя есть крупные проекты. Когда бюджет заканчивался, начальник говорил: «Мы отсюда уходим и идем в другое место на такие-то условия». Сначала мы шли на хорошие условия, потом на плохие, затем — хуже и еще хуже. Я стал задумываться, чем заниматься дальше.

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

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

— Как вы нашли работу?

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

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

— Что помогло совмещать работу и учебу?

— У меня была хорошая мотивация — очень хотелось сменить профессию. Но совмещать было тяжело: приходилось по вечерам заниматься и все выходные. Я из Подмосковья ездил на работу на электричке и там тоже постоянно смотрел уроки.

Домашние задания тоже не всегда легко делались. На первом этапе помогало то, что все было новым и интересным. Знания гораздо лучше усваивались. В самом начале мы делали на Java простенькие вещи (крестики-нолики), и они начинали тут же работать. Эти моменты были самыми прикольными. Со временем это становится обыденностью, и челленджи, которые возникают, начинают вызывать раздражение. У нас сейчас был курс по Android — там есть своя библиотека. Ее подключаешь и делаешь, и вроде все как в уроке. Но у меня ничего не работает. Там домашнее задание на 10 минут, а я просидел 2 часа. Это, конечно, бесит.

Преодолевать такие сложности можно разными способами:

  • Попросить помощи у преподавателей и однокурсников;
  • Если позволяет время, взять перерыв или переключиться на другую задачу;
  • Если времени нет, лучше сразу расслабиться и не переживать (Акуна Матата!) — сделать как получится.

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

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

— Что посоветуете новичкам?

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

Мне кажется, важно публиковать резюме, даже если у вас нет опыта работы программистом. В своем резюме я просто перечислил проекты, которые выполнял в GeekUniversity — выложил ссылки на GitHub. Свой предыдущий опыт работы просто кратко вписал в поле «О себе». В графу «Опыт работы» я не стал его указывать: если в резюме разработчика написать «опыт программирования — 3 месяца, опыт проектирования», это создаст путаницу.

— Что больше всего нравится в работе?

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

Все преподаватели GeekUniversity говорят: «Ребята, чтобы стать хорошим программистом, нужно просто писать код». Книжки читать — это хорошо, но реальные задачи важнее. В какой-то момент из-за всей теории в голове наступает путаница: один говорит, что вот это правильно, другой — вот это. А тебе ответить нечего, потому что ты ни то, ни другое не использовал. Когда попробуешь — поймешь, какие преимущества и недостатки у каждого из этих решений, и выберешь то, что подходит тебе.

— Какие сложности есть сейчас в работе?

— Ритм. Большая часть работы на складе выполняется круглосуточно, а значит нужно, чтобы и программы работали исправно. Если что-то где-то ломается — может понадобиться работать ночью. Буквально в эту субботу с семи вечера до часа ночи мой коллега правил ошибки, которые появились после обновления.

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

— Не жалеете, что так рано устроились на работу? Может быть, стоило еще пару четвертей в GeekUniversity закончить перед тем, как публиковать резюме?

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

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

Если есть возможность работать где-то с самого начала, нужно обязательно ей воспользоваться. Я понимаю студентов, которые боятся свой код в резюме разместить или написать, что раньше не работали программистом: «А что подумают в компании, когда они увидят мое резюме без опыта?». Но это нужно побороть, иначе так всю жизнь будешь сидеть и ждать — «вот я еще чуть-чуть доучусь, еще пять курсов пройду, тогда я точно хорошим программистом стану».

— Профессию поменяли. О чем теперь мечтаете?

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

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

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

Пройти обучение

20 июл 18, 14:30
0 0
Статистика 1
Показы: 1 Охват: 0 Прочтений: 0

12 советов, как студенту GeekBrains найти работу

Никита Охотников в середине декабря поступил на профессию «программист Python», а пятого февраля уже вышел на работу. Он рассказывает, как трудоустроиться за месяц, невзирая на российские новогодние праздники, но сразу предупреждает: «Это слишком рано. Сейчас я посоветовал бы себе сначала доучиться».

Выбирайте направление осознанно

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

Во-вторых, Python — перспективный язык. У него много библиотек и сильное комьюнити. Язык можно применять в разных областях: от WEB до программирования микроконтроллеров. Сегодня HeadHunter рекомендует 4,5 тысячи вакансий на моё резюме. Так вот я получаю столько звонков, что не на все собеседования успеваю сходить.

Делайте все домашние задания

В учебе главное — не лениться. Пока я не вышел на работу, делал д/з в двойном объеме. На курсе были домашние задания в методичках, но иногда преподаватель давал свой вариант домашки. Тогда я выполнял оба задания. В конце занятия преподаватель говорил: «Сегодня задание полегче, даю свой вариант». Я думал: «Опять два д/з делать». Зато сильно прокачиваешь навыки.

Учите SQL

SQL очень востребован. Его часто спрашивают на собеседованиях, по нему дают тестовые задания и требуют знания операторов Join и Select, поэтому подучите. Простого понимания здесь не хватит. Я лично несколько раз завалился на собеседовании из-за слабых знаний SQL, потому что не могу делать сложные вещи, только простые. В GeekBrains базы данных учат на видеокурсе без домашних заданий, но не хватает обучения с д/з и обратной связью от преподавателя. Можно еще программу по PostgreSQL добавить. Это мощная вещь, и SQL сейчас в тренде. MySQL тоже спрашивают, но реже.

Освойте Git

Советую сразу изучить Git, прямо с первых уроков, тем более это бесплатный курс. Чтобы в нем быстро работать, придется набить руку, а на это нужно время. Я сначала сильно сопротивлялся, не хотел осваивать. Сейчас без него никак. Я даже д/з делал в нем. Подключил Gitlab, все стало по-нормальному, как в жизни.

Найдите наставника

В учебе и работе мне помогает старший брат. Он — опытный программист, кодит на Python, C++ и других языках. Раньше занимался разработкой беспилотной складской техники, сейчас — в проекте по беспилотным автомобилям.

Брат проверял мои домашние задания, подсказывал, где сократить и как уменьшить код. Он меня во многом и вдохновил на учебу, и помог выбрать язык. Кто-то читает книги и руководства, ищет информацию самостоятельно, но для меня лучше, когда скажут: «Все хорошо, но писать нужно так». По рукам ударили, здесь исправили, я все понял и пошел дальше.

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

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

Набивайте руку

Это важный совет — набивайте руку постоянно. Например, смотришь занятия с Алексеем Кадочниковым — все понятно. Но то, что он делает за пять секунд, у меня занимает за час. Скорость просто не сопоставима! Посидишь, все сделаешь, переделаешь, прочитаешь два раза, потом тестируешь. Это занимает время, и скорость низкая. Советую всем как можно больше практиковаться. Один студент мне сказал, что прочитал несколько книг про ООП, но так и не разобрался. Пока кодить не начнешь, не поймешь. После того как что-то прочитал и изучил, надо закрепить знания, написать  программу самому.

Во всем не сможешь стать специалистом. У меня на работе пришлось использовать фронтенд, бекенд, Python и JavaScript. Всего по чуть-чуть, и нигде не идеально. Начнешь следить за фронтендом — в Python отстанешь. Будешь углубляться в JavaScript — остальное забудешь. Был у меня опыт работы на JS, но стану ли я еще писать на нем? Сомневаюсь. Поэтому лучше не тратить время, а развиваться в одной области. Тогда и знать будешь больше, и КПД будет выше. В итоге станешь профи.

Идите к профессионалам

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

Это как учиться машину водить: проще научить с нуля, чем переучивать того, кто научился неправильно. Опыт менее полезен, чем понимание того, как делать верно. Если работать в одиночку, не у кого спросить, хорошо ли я пишу код? Все ли верно? Можно много лет кодить на коленке и считать себя хорошим программистом, потому что просто не знаешь, как правильно.

Держите резюме в топе

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

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

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

Готовьтесь к тестовым заданиям

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

Приезжайте на встречу со своим ноутбуком, в котором все установлено и настроено под Python или ваш язык программирования. Какую машину вам дадут, неизвестно. Однажды мне вручили ноутбук на собеседовании, в котором не было PyCharm, и сказали: «Пиши в блокноте». По заданию нужно было написать парсер для сайта. Сначала я сомневался, что справлюсь, потому что подсказок нет, писать надо в блокноте, а программу запускать — в консоли. Но в итоге все сделал, даже сам удивился. Но тем не менее будьте технически готовы к тестовому заданию.

Потренируйтесь в ответах

Изредка попадаются компании, которые не дают практические задания, а проверяют знание теории. На одном собеседовании меня просто спрашивали. У интервьюеров была табличка по тематикам и список вопросов по каждой теме. Например: «Что такое регулярные выражения?».

Я был готов к такому собеседованию, потому что мне заранее подсказал брат, что такое бывает и как к ним готовиться. В интернете есть пост «Вопросы на IT-собеседованиях» — я ответил заранее на все 95. Советую тоже почитать и подготовиться.

Ходите на собеседования

Собеседование — это всего лишь переговоры. Чем чаще вы будете практиковаться, тем лучше сможете их проходить. Например, Алексей Кадочников говорит, что прошел порядка 100 собеседований. Мне до него далеко, но на интервью я бываю часто.

Ходите на собеседования, даже если не ищете работу. Это возможность «пощупать» рынок, пообщаться. Собеседования расширяют кругозор, позволяют узнать о востребованных направлениях. И потом, неизвестно, что будет завтра. Руководство переиграло бизнес-стратегию, сократило персонал — и вот вам уже нужно искать работу.

Знакомьтесь

В январе побывал на Moscow Python Meetup в Mail.Ru. Познакомился с другими ребятами с нашего курса, всего нас было пятеро. В онлайн-учебе не хватает общения, а оно необходимо. Иногда работодателю или заказчику требуется на проект несколько человек. Когда со многими знаком и общаешься, всегда можно кого-то подтянуть. Команда уже собрана, и всем выгодно.

Пройти обучение

5 июл 18, 16:10
0 0
Статистика 1
Показы: 1 Охват: 0 Прочтений: 0

Карьера в IT: от админа до JS-разработчика

Знакомьтесь, это Анатолий. Родился в Беларуси, переехал в Москву, закончил курсы в GeekBrains. Прошел путь от системного администратора до верстальщика и разработчика JavaScript. Мы поговорили с Анатолием о том, как строить карьеру, что читать перед собеседованием и куда бежать, если таск уже стоит, а ты не знаешь, что делать.

Карьера в IT: от админа до JS-разработчика

Все началось с колледжа в Беларуси, где я изучал языки С и Delphi. В разработку сайтов мы глубоко не погружались — да и сам я на тот момент не рассматривал эту сферу как свое будущее.

Мой путь в IT начался с верстки. Тогда я переехал в Москву и работал системным администратором в «ЖКО «Город». Однажды компании понадобилось, чтобы я сделал сайт — так я попал на курсы GeekBrains, после окончания которых разработал свой первый веб-сайт на Wordpress — jkogorod.ru.

Цель обучения была для меня совершенно конкретной — освоить необходимые навыки, чтобы сделать сайт для своего работодателя. Я прошел курсы по JavaScript, HTML и CSS — от них и стал отталкиваться, занимаясь версткой. Продолжил изучать JS уже самостоятельно. Обучаясь веб-разработке, в GeekBrains можно освоить PHP, Node, JavaScript, верстку... По выбранному направлению получаешь все необходимые знания в рамках одной учебной программы.

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

«Верстка хороша, когда ты только входишь в мир фронтенда»

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

«За три месяца испытательного срока освоил многое»

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

Мне пришлось взять на себя его обязанности и быстро учиться: читал книги и статьи, смотрел вебинары. Много полезного можно найти на Habrahabr или в блоге GeekBrains, где каждую неделю выходит дайджест новостей о новейших технологиях. За три месяца испытательного срока я освоил многое. В итоге мы переписали сайт с asp.net и Angular на Keystone.js — это библиотека на express.js c готовым роутингом (сайт работал по принципу конструктора).

«Портфолио сыграло большую роль в трудоустройстве»

После года в «Модульбанке» я понял, что уже научился быстро верстать, а чтобы развиваться, нужно поработать в других компаниях. Верстка поднадоела, хотелось углубиться в разработку. Особенно интересовал язык Javascript. В течение трех месяцев я был фрилансером: сначала в «МКБ», потом в Boomstarter, где более плотно познакомился с JavaScript и React.js. Так я нарабатывал портфолио, которое сыграло большую роль в дальнейшем трудоустройстве. По крайней мере, больше мне не приходилось делать тестовых заданий.

Устроился в группу компаний «ПИК» frontend-разработчиком. Работодатель оценил мой бэкграунд: опыт разработки на JavaScript, навыки работы с React и Redux.

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

Собеседование в «ПИК» было четвертым — после трех неудачных. Эта закономерность прослеживается на протяжении всего моего карьерного пути: стоит пройти два-три неудачных интервью, чтобы четвертое оказалось на 100% успешным.

В «ПИК» я работал в команде, где было по четверо fronfend- и backend-разработчиков. Мы создавали личный кабинет и основной сайт компании. Здесь я погрузился в разработку и получил удовольствие от работы. Но по завершении основной части проекта понял, что впереди ждут однотипные задачи.

«За три года опыта вырос не только мой профессионализм, но и доход»

Перешел в молодую перспективную компанию — биржу криптовалют, где и работаю по сей день. Пополнившееся портфолио снова выручило при приёме на работу. На собеседовании задавали стандартные вопросы по JavaScript, которые не показались мне сложными. В очередной раз убедился, что самообразование всегда идет на пользу. Бывает и так: листаешь книгу по дороге на собеседование — и через полчаса интервьюер спрашивает именно по прочитанным темам! Могу посоветовать несколько пособий, которые пригодились мне:

  • Джон Дакетт «Javascript и Jquery». Подойдет тем, кто лучше воспринимает информацию в графическом виде: в книге много подробных иллюстраций и наглядных схем;
  • Этан Браун «Изучаем JavaScript». Хорошая книга с описанием стандартов ES6;
  • Николас Закас «ECMAScript 6 для разработчиков»;
  • Серия книг Кайла Симпсона «Вы не знаете JS»;
  • Луис Атенсио «Функциональное программирование на JavaScript».

Сейчас мы разрабатываем веб-приложение: я делаю клиентскую часть на React JS и Redux, а ядро биржи — на C#. Познакомился с новыми технологиями и сегодня больше занимаюсь разработкой на JavaScript, чем версткой, — к чему и стремился все это время.

За три года опыта вырос не только мой профессионализм, но и доход: зарплата увеличилась с 60 до 140 тысяч рублей. В перспективе хочу стать fullstack-разработчиком, чтобы самостоятельно писать и серверную, и клиентскую части.

Верстка или JavaScript?

Как человек, который попробовал и верстку, и разработку, могу сказать: верстка хороша, когда ты только входишь в мир фронтенда. Со временем для меня это стало рутиной, захотелось писать логику на JS.

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

Советы начинающим

  • Старайтесь постоянно расти и развиваться, осваивать новые направления. Не бойтесь менять работу, если понимаете, что стало скучно или надоели однотипные задачи. За три года я сменил три места работы: понимал, что надо двигаться вперед, приобретать новый опыт.
  • Набивайте руку — cо временем придет и скорость. Раньше на разработку веб-ресурса у меня уходила неделя, сегодня могу сделать адаптивный сайт за день–два. Конечно, все зависит от конкретных задач. Но чтобы их решить, нужно постоянно развиваться самому. Не забывайте и про soft skills: особенно пригодится английский язык. Еще советую дружить с дизайнерами: им постоянно нужны люди, готовые заняться версткой.
  • Нарабатывайте портфолио — это крайне важно в начале карьеры. Для этих целей подойдет фриланс, где зачастую работает принцип «сарафанного радио». Работайте с максимальной отдачей – и труды не пропадут зря.
  • Правильно оценивайте время и трудозатраты. Заказчик частенько просит вносить правки. В итоге вы делаете гораздо больше работы, чем было оговорено на начальном этапе. Поэтому все нюансы лучше фиксировать заранее.

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

Пройти обучение

30 июн 18, 14:13
0 0
Статистика 1
Показы: 1 Охват: 0 Прочтений: 0

Что нужно знать, чтобы стать Java-разработчиком

Александр Чебыкин уже полгода работает Java-разработчиком в компании «Сбербанк-технологии». До этого он писал код на Фортране, работал над диссертацией в Институте прикладной математики имени М. В. Келдыша РАН и успел закончить две четверти в GeekUniversity. Этих знаний хватило, чтобы успешно пройти собеседования в Сбертехе и получить сразу два интересных предложения работы.

— Чем вы сейчас занимаетесь?

— В Сбертехе я работаю Java-разработчиком в отделе эквайринга, в команде клиринга.

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

Команда, в которой я работаю, занимается клиринговым взаимодействием — это процесс безналичного расчета, выполняемого с привлечением третьего участника, клирингового субъекта (в данном случае Сбербанка). Когда покупатель оплачивает покупку через терминал, в системе банка формируется файл, в котором закодирована информация. Моя команда пишет всю систему клиринга. Одна из ключевых частей этого приложения — парсер. Это программа, которая считывает каждый файл и передает на дальнейший процессинг.

— Какие знания нужны, чтобы получить такой оффер?

— Если вы хотите писать backend корпоративных приложений, нужно хорошо разобраться в следующих темах:

  • Java SE (Collections, многопоточность);
  • Maven;
  • Git;
  • Linux OS;
  • Spring (IoC, DI) — от джуниора обычно ждут общего представления, что это и для каких задач используется. Но знание этого фреймворка будет большим преимуществом при трудоустройстве и в дальнейшей разработке.

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

  • Как устроены ArrayList и LinkedList? В чем разница?
  • Как устроены HashMap/HashSet?
  • Что такое Deadlock (с примерами)? Как его избежать? Как убедиться, что в запущенном приложении он случился?
  • Что вы знаете про жизненный цикл потока? Приведите схему перехода между состояниями;
  • Как бы вы проводили ревью кода другого разработчика?
  • Выполните умножение двух чисел, представленных строкой (пример):
String str =239391391289323784827473442342*239391391289323784827473442342”.

— Как нашли эту работу?

— Она сама меня нашла. После первой четверти в GeekUniversity (факультет Android-разработки), когда достаточно изучил Java, я выложил резюме Java-разработчика на HeadHunter. Честно написал, что работал только с Фортран, что Java освоил самостоятельно и прохожу обучение.

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

После трех–четырех собеседований у меня сложилось понимание, как отвечать. Я стал увереннее, но приостановил поиски. Решил уделять больше внимания учебе, пошел на стажировку по Java-разработке в GeekBrains.

Чуть позже сотрудники кадрового агентства, с которым работает Сбертех, увидели мое резюме на HeadHunter и предложили пройти два собеседования. Первое — с командой в отделе кредитов. Вопросы, которые мне задавали, мы хорошо изучили на курсе «Java 3». Второе собеседование, в отделе эквайринга, проводил руководитель направления. На следующий день рекрутер позвонил и сообщил, что мне готовы сделать оффер. Позже поступило предложение и из первого отдела.

— Были какие-то сложности в первые месяцы работы?

— Команда, в которую я пришел, работала над проектом уже больше года. Было сложно сразу во всем разобраться. Хочу сказать одногруппникам, которые жаловались на количество кода в наших учебных проектах (например, когда мы писали сетевой чат в первой четверти): «Это вовсе не много кода!». Там было от силы 3 модуля по 20 классов в каждом. На момент, когда я подключился к работе своей команды в Сбертехе, в нашем рабочем проекте было около 20 модулей и сотни классов. Поэтому первый месяц на реальном проекте был для меня непростым.

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

— Почему вы решили учиться программированию?

— Я закончил МИФИ, факультет теоретической и экспериментальной физики, по специальности «Прикладная математика и информатика». После вуза я полгода работал аналитиком в компании «Филип Моррис». Мне не нравились мои задачи: рутинная работа над статистикой и контроль того, как работают другие. На тот момент у меня не было четкого представления, чем хочу заниматься дальше. Увидел, что Институт прикладной математики проводит конкурс на место научного сотрудника — и пошел туда работать, поступил в аспирантуру.

Там я занимался разработкой, 70% из которой занимала матфизика и только 30% — программирование. За 4 года такой работы я понял, что физики с меня хватит — мне интереснее рассматривать задачи с точки зрения математики и программирования. Поэтому начал искать учебные программы для разработчиков.

Точно не знал, хочу заниматься корпоративной или мобильной разработкой или уйти в геймдев. У меня были базовые знания в Python и Java. Я работал только с простыми задачами, которые можно решить любым процедурным языком. Опыт разработки на Фортране дал мне неплохую базу, но объектно-ориентированное программирование пришлось осваивать почти «с нуля». Но я хотел развиваться и писать полноценные проекты.

— Почему поступили именно в GeekUniversity и выбрали факультет Android-разработки?

— До определенного профессионального уровня я не мог придумывать задачи сам. Хотел, чтобы мне их ставили опытные специалисты.

На тот момент программа GeekUniversity только запускалась. Было открыто три направления: веб-разработка, Android и iOS. Факультет Android-разработки выбрал методом исключения. iOS мне был не очень интересен, так как сам не пользуюсь техникой Apple и не обладаю нужными базовыми знаниями. Веб-разработку не рассматривал, потому что на тот момент не знал ничего о HTML, CSS, JavaScript. А вот моих минимальных знаний по Java для поступления на факультет Android-разработки было достаточно.

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

— Какие впечатления об обучении в GeekUniversity?

— В целом, мне понравилось, как и в каком объеме нам давали материал. Были преподаватели и курсы, которым я до сих пор благодарен, а были темы, которые не особо запомнились и пригодились.

Понравился курс Алексея Степченко «Java 2». Он же показал, как писать игру под Android. На курсе «Java 3» преподаватель Николай Дмитриев подробно объяснил всю теорию, которая требуется на собеседованиях. Хочу отметить, что Николай лучше всех давал обратную связь по домашним заданиям — он обращал внимание не только на очевидные ошибки, но и расписывал замечания по стилю кода.

Из преподавателей по Android запомнился Станислав Хижняк — подробно и понятно объяснял нужные нам инструменты. С преподавателем первого курса по Android Александром Аникиным писали погодное приложение — он разложил «по полочкам» всю работу.

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

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

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

Пройти обучение

13 июн 18, 09:24
0 0
Статистика 1
Показы: 1 Охват: 0 Прочтений: 0

Как студенты GU создали сервис банковских услуг

Студенты GeekUniversity во время обучения разрабатывают проекты с потенциалом выхода на реальный рынок. Мы уже писали о сканере информационной безопасности, на сей раз речь пойдет об онлайн-бирже банковских услуг  Marketbank, созданной студентами факультета Web-разработки Айдемиром Алиевым, Антоном Погореловым и Александром Стекольщиковым. О том, как создавался проект и насколько коротка дорога в IT, рассказали основатели web-приложения.

Знакомство с IT: от курсовой до первого стартапа в web-разработке

Айдемир Алиев, создатель проекта Marketbank:

«Я пришел в IT в 18 лет, сейчас мне 23. Был вдохновлен создателями «Вконтакте» и Facebook. Поначалу пытался изучать программирование самостоятельно, но позже услышал про GeekUniversity. Мне понравилось, что здесь меня ждут системные знания, общение с наставником и другими ребятами из профессионального сообщества. Это очень важно для меня, поэтому и поступил в GU.

«Marketbank — это моя курсовая работа и первый стартап в направлении веб-разработки»

Непосредственно в IT еще не работал. Пока я маркетолог в ювелирной компании, но планирую развиваться в программировании. Marketbank — это моя курсовая работа и первый стартап в направлении веб-разработки».

Антон Погорелов, разработчик Marketbank:

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

«Сегодня весь бизнес уходит в интернет, а значит, программирование вряд ли оставит тебя без куска хлеба»

Программирование позволяет работать удаленно с разными компаниями. Я живу в Оренбурге — здесь зарплаты маленькие. Но это не мешает мне работать удаленно с компаниями из других городов, которые не жадничают. Кроме того, разработка мне интересна и с этой сферой я уже знаком. Сегодня весь бизнес уходит в интернет, а значит, программирование вряд ли оставит тебя без куска хлеба».

Идея Marketbank

Айдемир Алиев, создатель проекта:

«Свою идею я предложил на курсе по управлению продуктом. Первоначально мысль возникла, когда мне пришлось иметь дело со сферой страхования: понадобилось продлить ОСАГО и было очень неудобно обзванивать все страховые компании самому. Вот и подумал: почему до сих пор нет такого приложения, где можно просто отправить заявку и компании сами предложат тебе варианты? Этот алгоритм показался мне применимым и в банковской сфере. Я поспрашивал сотрудников банков и узнал, что им действительно было бы интересно пользоваться таким продуктом.

Как продукт-менеджер я занимаюсь прототипированием и написанием ТЗ, параллельно делаю дизайн в фотошопе. Все это передается верстальщику(в нашей команде он еще и front-end-разработчик) и back-end-программисту, которые реализуют проект. Я контролирую, успевают ли ребята выполнить те или иные задачи в срок: у нас есть чат, куда мы отправляем ежедневные отчеты о проделанной работе».

Концепция проекта Marketbank

Айдемир Алиев, создатель проекта:

«Marketbank — это биржа банковских услуг. Мы выступаем в роли связующего звена между пользователями и банками. Например, вы хотите взять кредит. Банки могут предлагать разные условия: одобрить займ частично, либо полностью, предложить высокую или низкую процентную ставку и так далее. Обычно клиенту приходится самостоятельно все изучать, ездить или обзванивать, что занимает много времени.

«Для банков — это дополнительная база клиентов, для пользователей — удобство и сэкономленное время»

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

Как это работает

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

«Мы помогаем клиентам найти подходящие банки, а банкам — подходящих клиентов»

Механизм работы клиентской части:

  • Заказчик регистрируется на сайте и заполняет необходимые поля: ФИО, дата рождения и так далее.
  • Пользователь предоставляет справку о доходах и другие необходимые документы, чтобы банки могли оценить платежеспособность и кредитную историю.
  • Документы и информация проходят модерацию.
  • После модерации заказчик может подать заявку и ждать предложений от банков.
  • На сервере есть чат, позволяющий вести переписку с компаниями и задавать уточняющие вопросы.

«Мы помогаем клиентам найти подходящие для них банки, а банкам — подходящих клиентов. Компании будут знать историю взаимоотношений клиента с банками, а пользователи — насколько порядочно работает та или иная организация», — Айдемир Алиев, руководитель проекта.

Механизм работы банковской части:

  • Для банков процесс регистрации выглядит иначе. Компания не регистрируется самостоятельно. Сначала разработчики изучают работу банка и определяют, насколько он подходит для сервиса. Если компания добросовестная и желает подключиться к Marketbank, команда сама создаст для нее личный кабинет с отдельной страницей входа.
  • После регистрации представители банка могут зайти на страницу заявок, чтобы ознакомиться с запросами, отфильтровать их относительно характера своих услуг и выбрать подходящего клиента.
  • Банку доступны запрос и предоставленные пользователем данные.
  • На основе полученной информации компания формулирует предложения и отправляет их клиенту.

«Банковский и клиентский интерфейсы немного отличаются и выполняют разные функции — под каждую нужно написать скрипты. У банка, например, другие поля для хранения, в отличие от анкеты пользователя. Принципиальной разницы нет: и те, и другие будут друг с другом общаться. Отличие лишь в технической реализации. Сейчас мы стараемся сделать так, чтобы все работало хорошо», — Антон Погорелов, разработчик Marketbank.

Планы и перспективы

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

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

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

«Важно проверить, как работает концепция, чтобы усовершенствовать ее потом»

На сайте есть рубрикация по областям заявок. Пока мы сконцентрировались на двух сферах: ипотека и автокредитование. В дальнейшем собираемся пополнять рубрикацию другими видами услуг.

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

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

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

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

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

Почему GeekUniversity

Айдемир Алиев: «GeekUniversity закрыл многие пробелы в знаниях, которые сложно было восполнить при самостоятельном обучении. Во многом это произошло благодаря наставнику и структурному подходу к обучению. Я оказался в профессиональном сообществе, узнал много полезного от IT-специалистов из первых уст. Очень понравились факультативы от «РосЕвроБанка» и «Альфа-банка»: я понял, как нужно работать с технологиями, профессионалы подробно отвечали на все вопросы и помогали разобраться в сложных моментах.

«IT — это динамичная, постоянно развивающаяся сфера»

До знакомства с GU я уже сталкивался с версткой и языками программирования, но очень многое открыл уже в процессе обучения. Например, раньше я не знал, как работают компьютерные сети, операционные системы, алгоритмы и структуры данных. Это фундаментальные вещи, которые знать необходимо, а в GeekUniversity эти знания преподносят максимально доступно. Единственная сложность может возникнуть со временем: сложно совмещать учебу с работой. В остальном трудностей нет. По крайней мере, я достаточно легко освоил предмет: здесь очень хорошие преподаватели — всегда помогут и все доходчиво объяснят.

IT — это динамичная, постоянно развивающаяся сфера. Многие боятся вступить на путь разработки, думая, что это очень сложно. Признаюсь, я и сам так думал. Особенно во время просмотра фильма «Социальная сеть»: все эти коды и циферки казались мне чем-то нереальным. На самом деле все реально, если не бояться и действительно учиться».

«GU позволяет за год освоить программирование с нуля, но вы должны понимать — придется посвящать этому очень много времени и сил»

Антон Погорелов: «В GeekUniversity я пошел с целью найти новую работу. За полгода обучения у меня в голове отложилось много полезных знаний. Поначалу приходилось долго сидеть над методичками и вникать в материал. Со временем учеба стала даваться гораздо легче — теперь какие-то вещи я могу делать прямо с ходу.

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

Мне удалось применить полученные навыки в текущей работе. Я занимаюсь сетью продуктов розничной торговли. Бывает, в кассовых аппаратах происходят сбои и чеки неправильно ложатся в базу данных. По данному поводу бухгалтерия часто обращается в техподдержку. Поэтому однажды я поднял веб-сервер и сделал интерфейс, который просто разбирает логи и объясняет бухгалтерам, что произошло. Это позволило им решать такие вопросы самостоятельно, без помощи технических специалистов.

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

Проекты студентов GU позволяют убедиться, что каждый из нас способен создать качественный продукт, применяя знания на практике. Конечно, без упорства и труда рыбки не выловишь, но мы поможем направить эти качества в нужное русло и будем рады видеть вас в нашем уютном IT-сообществе.

Пройти обучение

16 апр 18, 16:14
0 0
Статистика 1
Показы: 1 Охват: 0 Прочтений: 0
Темы с 31 по 40 | всего: 42

Последние комментарии

нет комментариев
Читать

Поиск по блогу

Люди

7 пользователям нравится сайт lena2018.mirtesen.ru