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

Блог

«Я с нетерпением ждала обучения, чтобы создать IT-продукт»

О себе

Мне 45 лет, живу в Москве. В конце 90-х окончила РЭУ им. Г. В. Плеханова, факультет «Финансы и кредит». 

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

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

Сейчас я основатель и продакт-менеджер проекта WinTrade 一 платформы социального трейдинга.

О желании учиться новому

Знакомство с GeekBrains началось, когда дети стали учиться в школе дистанционно из-за ковида. У меня образовалась масса свободного времени, а социальная активность была ограничена. И я задумалась об учёбе для себя. 

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

О выборе новой профессии

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

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

В итоге я пошла учиться на факультет «Управление продуктами».

Об ожиданиях

Я с нетерпением ждала начала обучения и точно знала, для чего мне это нужно. У меня была мечта создать свой IT-продукт. Перед стартом курса нам задавали вопрос о цели обучения, и я написала: «Создать продукт, востребованный пользователями».

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

О начале обучения

Обучение проходило в комфортном режиме: 2 раза в неделю в вечернее время, срок сдачи домашек можно было продлевать, а сами задания отрабатывать на собственном проекте. К тому моменту у меня уже начала зарождаться идея IT-продукта. Я погрузилась в изучение hard skills продакта и поняла, что эта профессия — смесь компетенций изобретателя, аналитика и менеджера. Ты строишь гипотезы, проверяешь их, выводишь ДНК продукта, меняешь её и анализируешь, как эти изменения влияют на конечного пользователя.

Об инсайтах во время учёбы

Откровением было то, что любой проект должен начинаться с гипотезы и её подтверждения. И что для сокращения затрат на первом этапе необходимо построить продукт с минимальной функциональностью (MVP), проверить его жизнеспособность — и только после этого запускать разработку полноценного IT-продукта. 

В процессе обучения много говорили об удалённой работе внутри продуктовой команды. В конце мы отрабатывали теорию на стажировке в GeekBrains со своим проектом.

О команде на стажировке

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

Чтобы пригласить в команду бэкенд-разработчиков, нужна была модель базы данных нашего продукта. В этом мне пригодилась домашка, которую я делала в третьей четверти на уроке «Работа с базами данных и SQL». Преподаватель Дмитрий Власенко дал развёрнутый фидбэк и положительный отклик по теме проекта. Ещё помогла куратор стажировки Виктория Игнатенко — и к нам пришли ребята-бэкендеры.

В результате мы собрали команду из восьми студентов GeekBrains. К первой встрече я подготовила проект архитектуры приложения в Miro и пять первых страниц в Figma. Это помогло всем участникам лучше понять продукт и наметить первые шаги. 

О сложностях во время стажировки

Сначала работа шла медленно, потом процесс разогнался. Был период, когда одни компетенции проекта не успевали за другими, что-то тормозилось. Наши еженедельные встречи в Zoom к концу стажировки переросли в ежедневные. Задач по проекту становилось всё больше, и было сложно выстроить их в очередь. Но в итоге с этим нам помогла таблица приоритизации и карта пути нашего проекта. Параллельно, совместно с маркетологом, мы формировали стратегию позиционирования и продвижения нашего приложения WinTrade.

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

О проекте 

На текущий момент платформа социального трейдинга WinTrade содержит вертикали WinTrade Signal и WinTrade Quiz.

WinTrade Signal 一 это мобильное приложение для Android, которое помогает трейдерам монетизировать их опыт, а новичкам мгновенно получать информацию о входе и выходе по сделкам успешных трейдеров. Мы готовим приложение к открытому тестированию.

WinTrade Quiz 一 это обучающая игра на тему фондового рынка. Первый релиз мобильного приложения запущен в открытое тестирование в Google Play — его уже можно скачать. Пробуйте, оставляйте отзывы на странице приложения — будем очень благодарны.

О переменах в жизни

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

О планах 

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

Количество задач по проекту увеличивается, а также растёт код нашего проекта, которому требуется рефакторинг. Приглашаем на стажировку Android-разработчиков: у нас можно получить опыт командной разработки и интересный кейс в портфолио. Подробнее о проекте и вакансиях здесь: gb.ru/career/1910

Вопросы по проекту можно задавать в наш телеграмм-канал @wintrade2021

Мечтаете создавать IT-проекты с единомышленниками и получать советы от экспертов? Поступайте в GeekBrains на факультет продакт-менеджмента.

 


22 сен, 15:10
0 0
Статистика 1
Показы: 1 Охват: 0 Прочтений: 0

5 причин увлечь ребёнка программированием

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

Умение решать задачи и критически мыслить

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

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

Креативное мышление

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

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

Здоровое отношение к ошибкам 

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

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

Полина Седокова прошла курс по созданию игр на Scratch в GeekSchool и поделилась, как преодолевала трудности в работе над финальным проектом: «Воссоздать игру на Scratch оказалось непростой задачей: в процессе работы я постоянно находила новые баги. Например, мой Пакман почему-то постоянно проходил сквозь стены и оставался бессмертным, несмотря на столкновение с привидением — я долго и упорно фиксила эти баги и, в конце концов, всё получилось

Работа в команде 

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

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

Востребованность на рынке труда

IT как сфера экономики растет с каждым годом. Согласно исследованию одного из крупнейших в мире сайтов по поиску работы Glassdoor самая востребованная профессия в США — разработчик программного обеспечения (на декабрь 2020 года было открыто 40 564 позиции). По данным опроса Хабр Карьеры за второе полугодие 2021 года средняя зарплата IT-специалиста составляет 147 858 руб. в месяц.

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

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

Где учиться 

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

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

 


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

Как найти свой путь в IT: ответы на самые популярные вопросы

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

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

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

На интенсиве генеральный директор GeekBrains Александр Волчек и исполнительный директор GeekBrains Александр Сагун ответили на самые популярные вопросы участников.

Насколько реально устроиться на работу после обучения в GeekBrains?

Александр Волчек: тот, кто обучился на курсе «Разработчик» и стал айтишником, трудоустроится со стопроцентной вероятностью, если он хочет найти работу. Мы в GeekBrains гарантируем трудоустройство, если вы учитесь, делаете домашние задания, проходите стажировки, выполняете проектную работу, которую мы даём во время обучения, у вас не будет шанса не трудоустроиться.

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

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

Что необходимо изучать, чтобы заниматься программированием роботов? 

Александр Волчек: необходимо получить базу в IT и базу в программировании. В 2004 году я устроился на первую работу в программировании, и мы программировали на Borland C++, делали автоматизацию для французской транспортной компании. Буквально через 3-4 месяца после начала работы к нам в офис привезли роботов, которые используются в процессе изготовления процессоров, делают транспортировку и считывания кремниевых пластин. Я большую часть своей жизни посвятил программированию микроконтроллеров, роботов и различной техники по всему.

Александр Сагун: на программе «Разработчик» мы преподаём разные языки программирования, один из первых языков, который мы рассматриваем это С++  —  фундамент дальнейшего обучения и база, на которой построена работа с железом роботов.

Куда правильно перейти из ритейла руководителю с шестилетним опытом, чтобы опыт пригодился для быстрого старта в сфере IT?

Александр Сагун: я много лет занимался автоматизацией бизнеса, это как раз был ритейл: Эльдорадо, МВидео, Х5. Вопросы автоматизации ритейла всегда в спросе. У вас есть коммерческие навыки, которых нет у других людей в IT. Вы можете их использовать, чтобы эффективно и грамотно автоматизировать процессы. Максимально релевантными направлениями будут проджект- и продакт-менеджмент в проектах автоматизации ритейла.

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

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

Возможно ли найти хорошую работу без высшего образования?

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

Что делать, если начал долгосрочное обучение на платформе, но внезапно забрали в армию?

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

Есть ли смысл сейчас идти на программиста, так как сейчас на него пойдёт много людей и будет переизбыток специалистов?

Александр Волчек: переизбытка программистов не будет. Если бы мы сейчас в России обучили миллион программистов, мы просто бы стали невероятно крутой страной. В 2024 году будет 190 миллионов вакансий на рынке IT, а на сегодняшний момент их 40 миллионов.

Есть ли у вас коллаборации с российскими вузами? Всё же хочется не сертификат, а диплом. 

Александр Волчек: у нас есть разные коллаборации. Но мы в рамках GeekBrains выдаём сертификаты, удостоверения и дипломы специального образца, которые может получить каждый окончивший школу. Если вы хотите диплом о высшем образовании, то его можно получить только в университете. Также в Skillbox есть коллаборация по DataScience  —  программа магистратуры.

На 3 курсе ушёл в бизнес и коммерцию. Сейчас являюсь неплохим управленцем: заместителем генерального директора по коммерции. Как перейти в IT на управленческие позиции?

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

Могу ли я стать программистом, если есть проблема с изучением английского?

Александр Волчек: конечно, можете. Мы в GeekBrains много времени этому уделяем. У нас есть партнёрские программы по изучению английского языка, экзамены и аттестация. Знание английского в IT — это очень круто. Можно и без него, но будет сложнее. Потихонечку будете учить.

Какие есть минусы в сфере IT?

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

Есть ли какой-то алгоритм, как выбрать язык, подходящий именно мне?

Александр Волчек: алгоритм есть. Мы очень много к этому ведём, и алгоритм есть на программе «Разработчик». Мы позволяем правильно выбрать специализацию, дальше правильно выбрать язык. Очень правильный вопрос. Нужно поучиться и получить ряд знаний, чтобы правильно выбрать язык.

Важно не просто принять решение погрузиться в сферу IT и получить новую профессию, но и ответственно подойти к выбору специализации. На программе «Разработчик» вы 3 из 15 месяцев обучения будете погружаться в мир IT, разбирать, особенности различных профессий, осваивать базовые навыки, чтобы сделать осознанный выбор для дальнейшего развития.

 


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

Чем занимается PHP-разработчик: стартапы, проекты и учёба

Кто такой PHP-разработчик, не преувеличены ли слухи о скорой смерти этого языка программирования и о чём стоит помнить новичку, который решил освоить эту профессию, — об этом мы расспросили PHP-разработчика в Mail.ru и преподавателя GeekBrains Илью Зобенько

Ниже мы привели некоторые интересные моменты из разговора, а послушать выпуск полностью можно на разных платформах:

— Как начался твой путь в IT?

— Именно в PHP-разработке я уже 6 лет, в айтишке в целом — где-то 8. Изначально входил в IT с должности сисадмина. При входе почему-то было ощущение, что попасть в IT можно только с образованием и желательно с опытом. Было непонятно, откуда его брать. Я тогда учился на первом курсе, и вся операция по поиску работы в IT была таким большим экспериментом, к которому я очень усердно готовился: работал курьером и поглощал книжки по администрированию Linux, пока ездил в метро. Решил наудачу попроходить собеседования, и получилось очень удачно. Я даже нагло проходил собеседования, и в большей степени, мне кажется, это и помогло. Я бросался фразочками, вроде: «Дайте мне шанс, вы не пожалеете, я докажу».

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

— Как ты перешёл в программирование?

— Системным администратором я проработал в общей сложности 2,5 года, руководителем отдела — где-то полгодика и уже потом потом два года проработал директором по информационным технологиям.

К программированию я пришёл как раз где-то в этот момент. У нас был проект по автоматизации электронного документооборота. Тогда бюрократические процессы в компании были на очень низком уровне: люди буквально ходили с бумажками, чтобы подписать их, по всему производственному корпусу, который был достаточно большой.  Когда появилась задача найти какую-то систему, которая всё это дело оптимизирует, я очень скептично подошёл к решениям, которые были на рынке. Когда ты покупаешь готовое решение, ожидаешь, что оно легко внедрится и все проблемы снимет. А здесь получалось, что решение дорогое, внедряться будет год, и у меня не сходилось в голове, почему это так получается. По вечерам я вёл свой pet project (личный проект), как раз применял PHP насколько мог, писал эксперимент системы электронного документооборота, который взлетел в компании и до сих пор там используется.

— Так что делают PHP-разработчики?

— Так исторически сложилось, что PHP-разработчики сфокусированы на вебе, при том что язык сам по себе универсального назначения и много где может быть использован. До сих пор держатся очень высокие цифры по проценту сайтов в интернете, которые написаны PHP — примерно 80-90. Чуть-чуть поменялся портрет PHP-разработчика: он, наверное, перетекал от фулстека, который на этой PHP писал и бэк, и фронто́вую часть путём шаблонизирования, что сейчас практически нигде не встречается.

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

— Мы знаем, что у тебя был стартап. Как так вышло и чем там может заниматься PHP-разработчик?

— Я реально очень прикололся по разработке, если так можно сказать. И когда уже наскучил этот проект электронного документооборота, я искал какие-то новые решения. Полез просто так на фриланс посмотреть и нашёл ребят, которые делали чат-ботов. Они попросили помочь, там было буквально на два дня работы.

Я взялся и начал править. Понял, что мне не нравится, как всё написано, и начал просто так всё переписывать. Сначала я хотел с ними согласовать это: может быть, я тут получше сделаю? Они такие: нет, давай держаться цели. Не знаю, почему я решил всё переделать. Это уже даже не инициатива, это уже просто желание чистоты: тогда у меня уже были сформулированы какие-то понимания того, как должно выглядеть всё это дело, как программу правильно писать. Я просто взял и переписал за те два дня практически всё и сделал то, что они просили. По результату заказчики сказали: а ты не хочешь к нам в стартап? Риски, как на тот момент казалось, были минимальные, и я в это дело ввязался. Началось приключение под названием стартап Odus.AI.

— А в большой компании можно работать? Есть такой слух, что PHP — устаревший язык. Это так или есть перспективы?

— Сейчас я работаю в Mail.ru в проекте «Юла», пишу как раз бэкенд на PHP. Думаю, что изначально «Юла» писалась на PHP как раз по той же причине, по которой мы его выбирали для стартапа, — это язык, на котором можно быстро проверить гипотезу, и он в принципе справляется по сей день достаточно неплохо. Естественно, это большой монолит, который активно распиливается, но при этом работу свою выполняет очень хорошо. Много компаний до сих пор используют PHP, и наверное, непонимание того, почему компании его используют, может быть навеяно тем, что в интернете всё чаще появляются статьи типа жив мёртв PHP, стоит ли его изучать и т. д. Их уже очень много стало, можно даже подрезюмировать, всё равно в них всегда одно и то же: PHP жив, и всё будет нормально.

Язык действительно до сих пор используют многие компании. Почему говорю «до сих пор» — потому что есть тенденция перехода в микросервисы, особенно если проект очень сильно разрастается. Facebook написан на этом языке, и да, они дорабатывали движок. Они очень давно на PHP, и во времена пятой версии, когда PHP был значительно медленнее, чем сейчас, им приходилось бустить его самостоятельно. Примерно то же самое делали ребята из Вконтакте. Сейчас всё намного лучше: с седьмой версии PHP очень ускорился, язык активно развивается. Годик назад вышла восьмая версия интерпретатора, которая стала ещё быстрее, там добавилось много сахара. Сахар — это структуры или какие-то инструменты, которые делают процесс написания проще, они инкапсулируют в себя какую-то логику и делают язык удобнее.

— Если сравнивать PHP с другими языками, у него есть отличительные преимущества?

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

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

— С чего начать изучение PHP?

— Как человек, который кучу граблей нашёл своими ногами и лицом, я скажу, что здесь надо подойти достаточно избирательно. Начинать стоит с курса — я думаю, это в любом случае. Что тянуло назад меня в самом начале — как раз отсутствие окружения, отсутствие наставника и отсутствие мнения со стороны. Когда ты не работаешь в какой-то классной айтишной команде, ты не получаешь никакого фидбэка от людей из твоей же области. Например, когда когда работаешь на фрилансе, ты делаешь проект, отдаёшь и ничего не получаешь, кроме денег (в лучшем случае).

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

Полный выпуск подкаста можно послушать на удобной вам платформе, ссылки — в начале статьи.

Освоить профессию PHP-разработчика на курсе GeekBrains. Что и в какой последовательности предстоит изучать, вы можете узнать из пошагового плана, составленного Ильёй Зобенько.

 


17 сен, 15:41
0 0
Статистика 1
Показы: 1 Охват: 0 Прочтений: 0

Факультет TikTok, NASA спасает Землю, презентация Apple

NASA отправит космический аппарат в астероид, открылся первый в мире факультет ТикТока, встречаем умные очки от Xiaomi — об этих и других новостях недели рассказывает Джуана в новом выпуске weekly-дайджеста.

Таймлайн новостей:

00:15 NASA против астероида

01:27 Факультет TikTok в Киеве 

02:17 Умные очки Xiaomi

03:16 Новинки от Apple

05:28 Слежка через приложение в Китае

06:51 Первые гражданские на орбите

 


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

Гайд по отладке Android-приложения: ищем баги и читаем логи

Иногда в приложении встречаются ошибки, которые нельзя увидеть даже после запуска. Например, код компилируется, проект запускается, но результат далёк от желаемого: приложение падает или вдруг появляется какая-то ошибка (баг). В таких случаях приходится «запасаться логами», «брать в руки отладчик» и искать ошибки.

Часто процесс поиска и исправления бага состоит из трёх шагов:

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

Если приложение не падает и чтение логов ничего не даёт, то найти точное место ошибки в коде помогает дебаггер (отладчик) — инструмент среды разработки.

    Чтобы посмотреть на логи и воспользоваться дебаггером, давайте напишем простое тестовое (и заведомо неправильное) приложение, которое даст нам все возможности для поиска ошибок.

    Это будет приложение, которое сравнивает два числа. Если числа равны, то будет выводиться результат «Равно», и наоборот. Начнём с простых шагов:

  1. Открываем Android Studio. 
  2. Создаём проект с шаблоном Empty Activity. 
  3. Выбираем язык Java, так как его, как правило, знают больше людей, чем Kotlin. 

Нам автоматически откроются две вкладки: activity_main.xml и MainActivity.java. Сначала нарисуем макет: просто замените всё, что есть в activity_main.xml, на код ниже:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  tools:context=".MainActivity">
 
  <EditText
     android:id="@+id/first_number_et"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:ems="10"
     android:gravity="center"
     app:layout_constraintLeft_toLeftOf="parent"
     app:layout_constraintRight_toRightOf="parent"
     app:layout_constraintTop_toTopOf="parent" />
 
  <EditText
     android:id="@+id/second_number_et"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:ems="10"
     android:gravity="center"
     app:layout_constraintLeft_toLeftOf="parent"
     app:layout_constraintRight_toRightOf="parent"
     app:layout_constraintTop_toBottomOf="@+id/first_number_et" />
 
  <Button
     android:id="@+id/button"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="Равно?"
     app:layout_constraintLeft_toLeftOf="parent"
     app:layout_constraintRight_toRightOf="parent"
     app:layout_constraintTop_toBottomOf="@+id/second_number_et" />
 
  <TextView
     android:id="@+id/answer_tv"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text=""
     android:textSize="32sp"
     app:layout_constraintLeft_toLeftOf="parent"
     app:layout_constraintRight_toRightOf="parent"
     app:layout_constraintTop_toBottomOf="@+id/button" />
</androidx.constraintlayout.widget.ConstraintLayout>

Можете запустить проект и посмотреть, что получилось:

Теперь оживим наше приложение. Скопируйте в MainActivity этот код:

public class MainActivity extends AppCompatActivity {
 
  @Override
  protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_main);
 
     final Button button = (Button) findViewById(R.id.button);
     final EditText first = (EditText) findViewById(R.id.first_number_et);
     final EditText second = (EditText) findViewById(R.id.second_number_et);
     final TextView answer = (TextView) findViewById(R.id.answer_tv);
 
     button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
           Integer firstInt = Integer.parseInt(first.getText().toString());
           Integer secondInt = Integer.parseInt(second.getText().toString());
           if (firstInt == secondInt) {
              answer.setText("Равно");
           } else {
              answer.setText("Равно");
           }
        }
     });
  }
}

В этом коде всё просто: 

  1. Находим поля ввода, поле с текстом и кнопку.
  2. Вешаем на кнопку слушатель нажатий.
  3. По нажатию на кнопку получаем числа из полей ввода и сравниваем их.
  4. В зависимости от результата выводим «Равно» или «Не равно».

Запустим приложение и введём буквы вместо чисел:

Нажмём на кнопку, и приложение упадёт! Время читать логи. Открываем внизу слева вкладку «6: Logcat» и видим:

Читать логи просто: нужно найти красный текст и прочитать сообщение системы. В нашем случае это java.lang.NumberFormatException: For input string: "f". Указан тип ошибки NumberFormatException, который говорит, что возникла какая-то проблема с форматированием числа. И дополнение: For input string: "f". Введено “f”. Уже можно догадаться, что программа ждёт число, а мы передаём ей символ. Далее в красном тексте видно и ссылку на проблемную строку: at com.example.appdebugging.MainActivity$1.onClick(MainActivity.java:26). Проблема в методе onClick класса MainActivity, строка 24. Можно просто кликнуть по ссылке и перейти на указанную строку:

int firstInt = Integer.parseInt(first.getText().toString());

Конечно, метод parseInt может принимать только числовые значения, но никак не буквенные! Даже в его описании это сказано — и мы можем увидеть, какой тип ошибки этот метод выбрасывает (NumberFormatException).

Здесь мы привели один из примеров. Типов ошибок может быть огромное количество, все мы рассматривать не будем. Но все ошибки в Logcat’е указываются по похожему принципу: 

  • красный текст;
  • тип ошибки — в нашем случае это NumberFormatException;
  • пояснение — у нас это For input string: "f";
  • ссылка на строку, на которой произошла ошибка — здесь видим MainActivity.java:26. 

Исправим эту ошибку и обезопасим себя от некорректного ввода. Добавим в наши поля ввода android:inputType="number", а остальной код оставим без изменений:

...
<EditText
  android:id="@+id/first_number_et"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:ems="10"
  android:gravity="center"
  android:inputType="number"
  app:layout_constraintLeft_toLeftOf="parent"
  app:layout_constraintRight_toRightOf="parent"
  app:layout_constraintTop_toTopOf="parent" />
 
<EditText
  android:id="@+id/second_number_et"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:ems="10"
  android:gravity="center"
  android:inputType="number"
  app:layout_constraintLeft_toLeftOf="parent"
  app:layout_constraintRight_toRightOf="parent"
  app:layout_constraintTop_toBottomOf="@+id/first_number_et" />
...

    Теперь можем вводить только числа. Проверим, как работает равенство: введём одинаковые числа в оба поля. Всё в порядке:

На равенство проверили. Введём разные числа: 

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

  1. Воспроизведём ошибку: да, ошибка воспроизводится стабильно с любыми двумя разными числами.
  2. Подумаем, где может быть ошибка: наверняка там, где сравниваются числа. Туда и будем смотреть.
  3. Исправим ошибку: сначала найдём её с помощью дебаггера, а когда поймём, в чём проблема, — будем исправлять.

И здесь на помощь приходит отладчик. Для начала поставим точки останова сразу в трёх местах:

    Чтобы поставить или снять точку останова, достаточно кликнуть левой кнопкой мыши справа от номера строки или поставить курсор на нужную строку, а затем нажать CTRL+F8. Почему мы хотим остановить программу именно там? Чтобы посмотреть, правильные ли числа сравниваются, а затем определить, в какую ветку в нашем ветвлении заходит программа дальше. Запускаем программу с помощью сочетания клавиш SHIFT+F9 или нажимаем на кнопку с жучком:

  

    Появится дополнительное окно, в котором нужно выбрать ваш девайс и приложение:

Вы в режиме дебага. Обратите внимание на две вещи:

  1. Точки останова теперь помечены галочками. Это значит, что вы находитесь на экране, где стоят эти точки, и что дебаггер готов к работе.
  2. Открылось окно дебага внизу: вкладка «5: Debug». В нём будет отображаться необходимая вам информация.

    Введём неравные числа и нажмём кнопку «РАВНО?». Программа остановилась на первой точке:

Давайте разбираться:

  1. Сразу подсвечивается синим строка, где программа остановлена: в окне кода на 28-й строке и в левом окне отладчика (там даже можно увидеть, какой метод вызван, — onClick).
  2. В правом, основном окне отладчика, всё гораздо интереснее. Здесь можно увидеть инстансы наших вью (answer, first, second), в конце которых серым текстом даже отображаются их id. Но интереснее всего посмотреть на firstInt и secondInt. Там записаны значения, которые мы сейчас будем сравнивать.

Как видим, значения именно такие, какие мы и ввели. Значит, проблема не в получении чисел из полей. Давайте двигаться дальше — нам нужно посмотреть, в правильную ли ветку мы заходим. Для этого можно нажать F8 (перейти на следующую строку выполнения кода). А если следующая точка останова далеко или в другом классе, можно нажать F9 — программа просто возобновит работу и остановится на следующей точке. В интерфейсе эти кнопки находятся здесь:

Остановить дебаггер, если он больше не нужен, можно через CTRL+F2 или кнопку «Стоп»:

    В нашем случае неважно, какую кнопку нажимать (F9 или F8). Мы сразу переходим к следующей точке останова программы:

Ветка правильная, то есть логика программы верна, числа firstInt и secondInt не изменились. Зато мы сразу видим, что подпись некорректная! Вот в чём была ошибка. Исправим подпись и проверим программу ещё раз.

    Мы уже починили два бага: падение приложения с помощью логов и некорректную логику (с помощью отладчика). Хеппи пас (happy path) пройден. То есть основная функциональность при корректных данных работает. Но нам надо проверить не только хеппи пас — пользователь может ввести что угодно. И программа может нормально работать в большинстве случаев, но вести себя странно в специфических состояниях. Давайте введём числа побольше и посмотрим, что будет:

Не сработало — программа хочет сказать, что 1000 не равна 1000, но это абсурд. Запускаем приложение в режиме отладки. Точка останова уже есть. Смотрим в отладчик:

Числа одинаковые, что могло пойти не так? Обращаем внимание на тип переменной — Integer. Так вот в чём проблема! Это не примитивный тип данных, а ссылочный. Ссылочные типы нельзя сравнивать через ==, потому что будут сравниваться ссылки объектов, а не они сами. Но для Integer в Java есть нюанс: Integer может кешироваться до 127, и если мы вводим по единице в оба поля числа до 127, то фактически сравниваем просто int. А если вводим больше, то получаем два разных объекта. Адреса у объектов не совпадают, а именно так Java сравнивает их.

Есть два решения проблемы:

  1. Изменить тип Integer на примитив int.
  2. Сравнивать как объекты.

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

if (firstInt.equals(secondInt)) {
  answer.setText("Равно");
} else {
  answer.setText("Не равно");
}

Проверяем:

Всё работает. Наконец-то! Хотя… Давайте посмотрим, что будет, если пользователь ничего не введёт, но нажмёт на кнопку? Приложение опять упало… Смотрим в логи:

Опять NumberFormatException, при этом строка пустая. Давайте поставим точку останова на 26-й строке и заглянем с помощью отладчика глубже.

Нажмём F8 — и перейдём в глубины операционной системы:

    Интересно! Давайте обернём код в try/catch и посмотрим ошибке в лицо. Если что, поправим приложение. Выделяем код внутри метода onClick() и нажимаем Ctrl+Alt+T:

Выбираем try / catch, среда разработки сама допишет код. Поставим точку останова. Получим:

Запускаем приложение и ловим ошибку:

Действительно, как и в логах, — NumberFormatException. Метод parseInt выбрасывает исключение, если в него передать пустую строку. Как обрабатывать такую проблему — решать исключительно вам. Два самых простых способа:

  1. Проверять получаемые строки first.getText().toString() и second.getText().toString() на пустые значения. И если хоть одно значение пустое — говорить об этом пользователю и не вызывать метод parseInt.
  2. Или использовать уже готовую конструкцию try / catch:

Теперь-то точно всё в порядке! Хотя профессиональным тестировщикам это приложение никто не отдавал: поищете ещё ошибки? :)

 


31 авг, 17:37
0 0
Статистика 1
Показы: 1 Охват: 0 Прочтений: 0

Лазерная реклама в космосе, радио TikTok, OnlyFans одумались

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

Таймлайн новостей:

00:00 Приветствие

00:19 OnlyFans стали прежними

01:10 Instagram отказывался от свайпа 

02:02 Российский стартап рекламы в космосе

03:43 Дополненная реальность и радио от TikTok

05:03 Модный плеер от Канье Уэста

05:59 В приложении Netflix появились игры

 


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

Вокруг цвета: как подобрать палитру в веб-дизайне

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

  1. Ликбез: что важно учитывать
  2. Модные сочетания цветов в веб-дизайне
  3. 8 полезных сервисов 
  4. Немного литературы
  5. Вместо заключения

Ликбез: что важно учитывать

Сочетания цветов в web-дизайне подбираются под задачу. Важна не только гармония, но и правильное визуальное сообщение. Ведь по статистике только одни цвета (без учёта графики и других элементов дизайна) на 90% определяют первое впечатление пользователя.

Цветовой круг: гармония, тёплые и холодные цвета

Самый примитивный вариант цветового круга

Цветовой круг — основа теории цвета в веб-дизайне. Он помогает подобрать сочетаемые цвета — например, те, которые находятся напротив, гармонично соотносятся между собой. Это самый простой вариант комбинации — комплементарная цветовая схема. И таких схем очень много.

Другие варианты гармоничных цветовых схем

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

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

Культурный контекст

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

Танец дракона в Китае

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

Цвет как инструмент управления вниманием и настроением

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

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

Фрагмент интерфейса Telegram

Зелёный. Означает успешный результат, завершение процесса. Побуждает к действию, поэтому им часто маркируются кнопки «Зарегистрироваться» и «Купить».

 

Сообщение об успешном завершении регистрации

Синий. Синий цвет в веб-дизайне по данным исследования Джо Халлока предпочитает 42% пользователей. Он создаёт нейтральный фон и вызывает чувство доверия, спокойствия и безопасности. Именно поэтому многие соцсети и мессенджеры выбирают его в качестве основного. Кроме того, дальтоникам легче увидеть синие оттенки.

Синий в интерфейсе ВКонтакте

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

Тёмный режим в Google Chrome

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

Большая часть интерфейса — оттенки серого

5 модных сочетаний цветов в веб-дизайне

В 2021 году в тренде яркие естественные тона, неожиданные гармоничные сочетания, приглушенные оттенки и природные палитры.

Выделяющаяся насыщенность

Насыщенные цвета в сочетании с более блёклым фоном, который делает их ещё более яркими — трендовая комбинация этого года.

автор: Arian Sefy

Оттенки человеческой кожи

В ход идут не только привычные нюдовые цвета, а весь спектр оттенков человеческой кожи.

автор: Ana-Ruxandra Nastase

Плавные градиенты

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

автор: Elvira Ramaldanova

Сюрреалистичность

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

автор: Lera Nezhdan

автор: Asma khalid

Монохром плюс один

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

автор: Zamil Ahamed

8 полезных сервисов

ColorScheme 

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

Paletton

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

Coolors

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

Adobe Color

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

DeGraeve

Загружаем картинку — получаем её цветовую палитру для веб-дизайна. На таком сервисе можно с интересом зависать часами!

Palette Generator

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

Pallettable

Подбор цветов превращается в увлекательную игру — сервис предлагает выбрать нравится или не нравится вам оттенок.

Flat Color Palettes

Сервис предлагает выбрать модные цвета для веб-дизайна в плоском стиле.

Немного литературы

Если вы хотите вникнуть поглубже и стать гуру в области колористики, то вот парочка полезных книг:

  • «Сочетание цветов на практике», Наоми Куно
  • «Искусство цвета», Иоханнес Иттен
  • «Диалектика мифа», Алексей Лосев (уровень «со звёздочкой» — для тех, кто хочет понимать всю глубину символизма цвета)

Вместо заключения

Цвет в веб-дизайне — самый красноречивый инструмент, ведь на подсознательном уровне он считывается первым. Форма вторична. Поэтому подбирать палитру цветов для веб-дизайна стоит осознанно.

А в этом помогут:

  1. Понимание основ теории цвета.
  2. Учёт культурного контекста.
  3. Знание актуальных трендов.
  4. Сервисы для подбора сочетаний цветов в веб-дизайне.
  5. Наши бесплатные курсы: «Визуальный язык и его элементы» и «Figma. Начальный уровень»  

И помните: правила созданы, чтобы их нарушать! Но, чтобы правильно это делать, нужно их знать. И помнить о цели, с которой создаётся дизайн.

 


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

«Я не знаю, каким будет будущее, но я готов к нему»

О складе ума и трудностях выбора

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

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

О первой работе в финансовом анализе

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

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

Там я научился работать с точки зрения структурности. У нас были явно выраженные технические навыки и определённый набор софт-скилов, которым нужно соответствовать. Именно здесь сформировалась рабочая дисциплина, понимание, как общаться с клиентами и почему нельзя не успеть к дедлайну.

О переходе в аналитику интернет-маркетинга

Будни в «большой четвёрке» на 95% состоят из работы в Excel и на 5% из общения с коллегами. Excel как инструмент мне нравится, но не настолько, чтобы заниматься им по 8–10 часов в сутки. Ты быстро достигаешь предела владения инструментом, и тебе неинтересно развиваться. Также это очень регламентированная сфера. Она не креативная, и если ты с чем-то не согласен, то это твоя личная проблема.

Я же хотел заниматься аналитикой в более свободной сфере и увлёкся интернет-маркетингом. Офлайн-маркетинг мне никогда не нравился, потому что невозможно посчитать результат. Вот у тебя билборд на Тверской, и ты не знаешь, приносит он продажи или нет. А когда я изучил интернет-маркетинг, я понял, что там другая ситуация. Если правильно анализировать, то становится сверхочевидно, что работает и как.

В 2015–2016 годах я работал в Яндексе аналитиком по контекстной рекламе. Мы глубоко анализировали Яндекс.Директ, юзабельность сайтов. Это был период, когда большая часть компаний ещё не использовала контекстную рекламу на эффективном уровне. Тогда на рынке было мало аналитиков. Но уже через пару лет не было проблемы нанять хорошего специалиста.

О переходе в BI-аналитику

Из аналитики интернет-маркетинга я плавно перешёл в BI-аналитику. Сам скачал Power BI, загрузил туда данные, поиграл с ними. Мне понравилось, я понял, что потенциально это очень круто. Когда щупаешь новый инструмент, должен появиться щелчок, что это твоё. А когда получаешь деньги за работу, ты думаешь: «О, так мне ещё и платят за это!». Это тот самый мэтчинг. В этой специальности есть баланс между моим интересом, моими навыками и потребностью рынка.

Если говорить просто, BI-аналитика ― это Excel + PowerPoint. У нас есть возможность анализа данных и их визуализации в одном инструменте. Если говорить более сложно, это инструменты, позволяющие объединять данные из разных систем, автоматизировать их обработку, приводить их к единому формату, делать статистические расчёты и интерактивную визуализацию, а также делиться ими с коллегами.

Этот инструмент помогает автоматизировать совсем рутинные операции аналитика и освобождает его время для более креативных задач. BI-системы забирают данные из Google Analytics, Яндекс.Метрики, CRM-систем. Это очень полезно: например, при анализе интернет-маркетинга ты 50% времени проводишь в этих сервисах. А сейчас мы оттуда только забираем данные.

О собственном бизнесе

С 2013–2014 годов развитие моей карьеры идёт в двух направлениях. Я начал заниматься параллельно работой и бизнесом. Были периоды, когда я только развивал бизнес или только работал.

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

В 2016 году я начал плотно заниматься другим бизнесом, который развиваю до сих пор. Сначала это было не про деньги, а про поиск того, что больше всего вызывает эмоции в работе. Я, как рациональный человек, понимал, что если найти любимое дело и оно окажется перспективным, то это неизбежно приведёт к успеху. Такой прорыв случился в 2017–2018 годах, когда пошёл существенный рост.

Когда я размышлял об идее бизнеса, у меня всё было просто. Данные в компаниях множатся каждый год, а их качество отвратительное. То, что я видел в найме даже в самых крупных компаниях, было между «плохо» и «очень плохо» в плане качества данных. Потребность будет расти, поэтому эта сфера идеально подходит.

Мы развиваем проекты BI-аналитики, а в этом году добавили проекты по построению корпоративных хранилищ данных. Наш партнёр ― Microsoft, и 90% работы мы делаем на стеке Microsoft. Мы добавили Power BI и ещё несколько продуктов в своё портфолио для настройки автоматизации и взаимодействия между приложениями. В GeekBrains я в том числе начал преподавать BI-аналитику, так как мне кажется, что это будет next big thing [следующая большая идея].

О преподавании в GeekBrains

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

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

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

О профессиях будущего

В выборе профессии я отталкивался от потребностей рынка. В восемь лет я не мечтал о карьере BI-аналитика, потому что тогда этой специальности просто не существовало.

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

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


У вас тоже получится

Разработчик — первая Программа обучения для осознанного выбора специальности и карьерной траектории в сфере информационных технологий от GeekBrains при участии Skillbox.

Получите востребованную профессию или откройте бизнес в сфере информационных технологий.

 


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

Кроме диплома: как получали опыт выпускники курса DevOps

Как всё начиналось: разыскиваются DevOps-инженеры

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

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

«Когда Git in Sky, пионеры формирования DevOps-культуры в России и одна из ведущих компаний на рынке DevOps-аутсорсинга, обратилась к нам с просьбой порекомендовать им перспективных студентов для возможного трудоустройства, мы предложили им самим выбрать себе новых потенциальных сотрудников, выступив для них в роли заказчика с реальным проектом.

Идея определенно была формата «win-win-win» — компания получала возможность оценить реальные профессиональные качества (в том числе и soft skills) своих будущих сотрудников, студенты – бесценный практический опыт, а мы — возможность понять, хорошо ли ребята усвоили материал и всё ли необходимое было им дано в теоретической части. Так что решено, проекту — быть!» — рассказала нам менеджер GeekBrains по партнерским проектам Анна Стерняева.

Формируем проект: команды, процессы, оборудование

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

При этом в техническом задании (ТЗ) были обозначены четыре контрольные точки (даты), к которым должны были быть закрыты определенные технические потребности. Например, ко второй контрольной точке должна присутствовать возможность восстановления системы из резервных копий.

Важно понимать, что DevOps-инженеры обычно работают в достаточно крупных компаниях с большой и сложной IT-инфраструктурой. Для выполнения задач уровня таких компаний нужны серьезные вычислительные мощности. За ними мы обратились к нашим давним партнёрам из облачной платформы Mаil.ru Cloud Solutions. К тому же использование облаков становится стандартом современной разработки и специалисты должны уметь работать с облаком и хорошо представлять возможности, которое оно даёт для создания новых цифровых продуктов. Каждой группе студентов было предоставлено шесть виртуальных машин — три для работы с базами данных, остальные — для работы с приложениями и средствами мониторинга.

«Нам понравилась идея того, чтобы помочь студентам получить востребованные на рынке знания и приближенный к реальной профессиональный жизни опыт, поэтому мы рады были предоставить ресурсы платформы Mail.ru Cloud Solutions для этого проекта» — отметил директор по маркетингу «Mail.ru Цифровые технологии» Вадим Кожин.

«Оценив ТЗ и задачу от Git in Sky, мы решили выделить на написание дипломной работы 17 дней — это вполне реальные рабочие сроки для такого проекта, а неопытность студентов при этом компенсировалась возможностью в любой момент проконсультироваться как с преподавателями факультета, так и с представителем заказчика. Нам важно было, чтобы студенты, впервые столкнувшиеся с объемным реальным проектом, не чувствовали себя растерянными и не стопорились в работе. Поэтому во всех чатах со студентами состоял и представитель заказчика, тимлид технической команды Git in sky Илья Бараулин, всегда готовый ответить на любые вопросы» — уточнил методист факультета DevOps Иван Нетреба.

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

Кстати, команды, студенты в которых не ограничивались общением в чатах, а проводили регулярные Zoom-созвоны, оказались более продуктивными и сплоченными. Всё-таки важно чувствовать рядом дружеское плечо, пусть и виртуальное.

Не для «преподов», а для заказчика: особенности дипломного проекта

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

Между брифингом и защитой у нас также было два вебинара-консультации — один с представителем заказчика от Git in Sky и второй — с преподавателем GeekBrains от факультета DevOps, на которых обсуждались как общие вопросы и рекомендации, так и проекты отдельных групп.

Для нас было важно создать реальную рабочую атмосферу, поэтому представитель Git in Sky выполнял роль не педагога, а именно заказчика — отслеживал процессы, запрашивал статус. Иногда заказчик мог намеренно что-то недосказать, чтобы проверить, напишет ли ему команда с уточнениями, оценивал также своевременность и полноту ответов на его запросы со стороны команд.

Ещё одной особенностью формата был жёсткий дедлайн — в день защиты необходимо было предъявить проект в том виде, в каком вы успеете его подготовить, даже если он ещё «сыроват», ведь в реальном бизнесе задержки грозят убытками для всей компании. А DevOps-инженер, как человек, отвечающий за техническую составляющую именно процессов, в первую очередь не должен выбиваться из сроков.

Защищая не только диплом

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

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

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

Обратная связь

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

Оказалось, что с количественным составом и сроками мы в целом угадали — состав в 3-4 человека и продолжительность в 3-4 недели большинство студентов сочли оптимальными, единственным пожеланием было проводить подобные проекты чаще, не один, а 4-5 раз за весь период обучения в полтора года. Но главное — с точки зрения полезности проекта для профессионального развития большинство студентов оценило его на 10 из 10. А ещё немаловажным стало то, что сразу несколько участников проекта получили приглашения на собеседования и предложения по трудоустройству. 

Довольными остались и Git in Sky:

«Сегодня многие компании, где необходимы DevOps- или SRE-компетенции, испытывают кадровый голод — достаточно сложно найти готовых инженеров на различные стеки технологий. Отбирая лучших мотивированных студентов среди учеников топовых школ, таких как Geekbrains, мы планируем вырастить из выпускников уже через 1-2 года настоящих профессионалов», — отметил Илья Бараулин.

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

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

DevOps-инженер — увлекательная и востребованная на рынке профессия, поэтому новые потоки обучения на этом факультете мы запускаем ежемесячно. Узнать больше о профессии DevOps можно на странице факультета.

 


27 авг, 11:19
0 0
Статистика 1
Показы: 1 Охват: 0 Прочтений: 0
Темы с 1 по 10 | всего: 1136

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

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

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

Люди

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