5 причин выбрать направление мобильной разработки


Содержание

Важные мелочи при разработке мобильных приложений

Рассказывает Мария Г., аналитик SibEDGE

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

В чём отличия заказной разработки мобильных приложений от продуктовой

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

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

То есть одна из задач создания продукта — удовлетворённость целевой аудитории.

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

И всё это очень напоминает сюжеты фильмов Тарантино: как всех обмануть, чтобы потом за это ничего не было.

Может ли это к чему-то привести?

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

Но давайте оставим вопросы кадров HR-ам и поговорим о качестве разрабатываемых мобильных приложений.

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

В заказной же разработке перечень функций часто диктует заказчик. И делает он это не основываясь на пользовательском опыте и анализе рынка, а просто потому, что «я знаю, что это гениально!» или «я у соседа такое видел». А аргумент, что сосед занимается продажей винтиков и гаек, а мы хотим людей клингонскому языку обучать, его не интересует. Также в заказной разработке часто встречаются накладки по времени и ресурсам — дата релиза уже запланирована, а iOS- или Android-разработчик внезапно ударился в буддизм, ушёл в горы, и заменить его, в общем-то, некем. Поэтому после экстренных поисков нового сотрудника мы получаем отставание от календарного плана в N дней, а фичи или даже основную функциональность приходится делать абы как, чтобы успеть в срок. Да и толком оттестировать приложение времени нет. И сырой продукт с багами уходит в маркеты. Как следствие — плохие отзывы, малое количество скачиваний, провальный для заказчика проект.

Юзабилити

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

Есть довольно большой пользовательский опыт, который жизненно необходимо учитывать при разработке UIX. При этом следует помнить, что приложения должны быть нативными. Так что дизайнера, который рисует одинаковые компоненты для iOS и Android просто потому, что «нужно ж одинаково», гоните в Интернет или из проекта в зависимости от времени. Пользователь Android будет ядом самой гремучей змеи плеваться, если ему придётся выбирать время на iOS-ном барабане.

Приложения должны быть нативными. Дизайнера, который рисует одинаковые компоненты для iOS и Android, гоните в Интернет или из проекта.

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

Если в приложении предусмотрены поля ввода, крайне необходимо менять вид экранной клавиатуры. Если пользователь вводит e-mail, он не должен искать символ «@» на дополнительных вкладках. А если набирает номер телефона, предоставьте ему клавиатуру с цифрами и знаками «+», «*» и «#». Также правилом хорошего тона станет дублирование кнопок интерфейса «Ок» или «Далее» на экранной клавиатуре. А ещё учтите, что кнопка, спрятавшаяся за развёрнутой клавиатурой, действует на некоторых пользователей как красная тряпка.

Кнопка, спрятавшаяся за развёрнутой клавиатурой, действует на некоторых пользователей как красная тряпка.

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

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

Вывод

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

Основной совет для разработки хорошего мобильного приложения такой: попробуйте посмотреть на своё приложение глазами пользователя. Вас что-то бесит? Кажется неочевидным? Тогда лучше пересмотреть реализацию или дизайн.

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

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

5 правил разработки мобильного приложения

Планируй бюджет

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

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

Реально оценивай свои силы

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

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

Для разработки серверной части приложений Cuberto использует язык программирования NODE.JS, на котором написаны программы от Google, Yandex, IBM, Paypal и других известных корпораций. Так как в NODE.JS процессы выполняются параллельно, то вся система работает существенно быстрее и справляется с большими нагрузками, что означает стабильность и быстродействие твоего приложения.

Над каждым из проектов работает команда от 7 до 10 специалистов, и разработка проходит в несколько этапов:

1. Аналитика и проектирование. Агентство собирает необходимую информацию о продукте, уточняет изначальные требования, рассматривает и обсуждает редкие кейсы, создает блок-схему, продумывает логику взаимодействия и навигации.
2. Создание креативной концепции и дизайна приложения. Создается уникальный стиль приложения, учитывая пожелания заказчика и тренды, креативная концепция, анимация, а также проводится отрисовка экранов на основе UX-карты.
3. Back-end разработка.
4. Front-end программирование под iOS и Android. Подготавливаются экраны для программирования, настраивается среда разработки, проводится разработка, включающая front-end программирование и работу с API, реализуется функционал, проводится тестирование промежуточных билдов, улучшается код и проводится приемочное тестирование.

Подсматривай у других

Зачем изобретать велосипед, когда можно подсмотреть, что там в аналогичном приложении. И сразу заметим, что мы говорим именно о структуре приложения, а не о том, чтобы выдирать из кода строчки и просто копировать в свой. В случае с проприетарными приложениями это незаконно, подло при использовании без спроса кода из open source проекта.

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

Найди грамотного специалиста

Да, может, в школе и университете тебя и учили VB или Pascal, но эти языки уже давным-давно устарели. Для разработки приложений на iOS используется современный язык Swift, а для Android — Java. Нанимай только опытного программиста, который пишет строгий код. Но какого специалиста выбрать? Привлечь к разработке фрилансера, компанию, предлагающую услуги профессиональных программистов, или взять сотрудников в штат? На эти вопросы нам ответил Алексей Мартыненко, директор студии Aplica.

Перспективные направления мобильной разработки

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

  • Рынок мобильных приложений растет, и это особенно заметно на фоне замедления продаж настольных компьютеров и ноутбуков. В самом деле, современный смартфон от китайских производителей можно приобрести за весьма скромные деньги, что позволяет даже малообеспеченным жителям стран третьего мира приобретать себе такие устройства.
  • Мобильное устройство – это и смартфон, и телефон. Оно практически всегда находится близко к пользователю, что позволяет использовать его в случаях, когда невозможно или неудобно использовать «большие» машины.

В целом, можно выделить 4 основных направления развития:

Игры

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

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

Встречаются подходы, когда для игры создается определенный программный каркас, который практически идентичен для всех игр определенной серии, и затем просто меняются декорации. В качестве примера можно посмотреть на популярные игры серии «room escape» – по сути одна игра отличается от другой только сочетанием задачек.

Социальные приложения

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

Приложения, основанные на работе датчиков

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

Некоторые специализированные приложения для бизнеса

Если говорить о перспективности разработки и конкуренции, то ситуация с мобильными приложениями складывается довольно любопытная. Мобильные платформы предоставляют огромное количество возможностей взаимодействия с пользователем, и оно постоянно растет. Еще 3-4 года назад вынести часть функционала смартфона из, собственно, смартфона не представлялось возможным. Сегодня на рынке появились «смарт-часы», которые, по сути, также представляют мобильные устройства, позволяющие еще больше расширить возможности взаимодействия.

Цукерберг рекомендует:  Двоичное число - Требуется помощь

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

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

Алексей Лосич
архитектор ПО/мобильного ПО

Самые востребованные направления разработки в 2020 году: следствие ведёт Noveo!

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

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

Кроме того, многие студенты и начинающие специалисты задумываются, какой язык программирования изучать, чем заняться, чтобы гарантированно быть востребованным специалистом, решать интересные задачи, да и просто быть “нарасхват” у HR-ов. Для человека, открытого новым знаниям, важно умение фильтровать огромный поток информации, который открывает нам Сеть, и выбирать только необходимое. Для этого не будет лишним иметь общее представление о том, как обстоят дела на рынке вакансий IT, и о том, какие направления развития перспективнее остальных.

Естественно, специфика аутсорс-компании предполагает свои особенности в том числе и в подборе кадров: например, велика вероятность, что для разработки коммерческого ПО пока останется актуальным спрос на веб-разработчиков и специалистов в области кроссплатформенной разработки, в то время как для продуктовых компаний станут более востребованными специалисты в таких новомодных направлениях, как machine learning и big data, организация бизнес-процессов с использованием технологии блокчейн и т.д.

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

Что было в последние несколько лет?

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

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

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

Что касается развлечений, игр и рекламы, прогресс тоже не стоит на месте. В течение 2020 года был стабилен спрос на специалистов в области технологий дополненной реальности и 3D-визуализации. Активно пишется софт для очков виртуальной реальности, разрабатываются новые, всё более зрелищные игры, область геймдева не потеряла своей популярности. Кроме того, настоящий бум сделали квадрокоптеры: для них пишется много программ, они активно используются как для развлечений, так и для более серьезных целей, например, видеосъемки от любительских блогов до настоящих фильмов.

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

Важно заметить, что в 2015-2020 годы обозначилась сильная тенденция перехода с “тяжёлого” десктопного ПО на веб-приложения. На то есть ряд причин: во-первых, пользователям гораздо проще перейти по ссылке за пару кликов, чем устанавливать новый софт; во-вторых, поддерживать и обновлять веб-приложения проще и надежнее, чем несколько версий ПО для разных платформ; кроме того, большинство приложений требует доступа к Интернету, так почему бы сразу не разместить их в Сети? Для нас очевидно, что, вопреки некоторым прогнозам, мобильные приложения еще не захватили мир, и люди по-прежнему активно используют веб-сайты, в том числе и на смартфонах (а в перспективе и на более мелких девайсах, например, Apple watch — кстати, вот и одна из причин популярности адаптивного дизайна).

Логично, что из всего этого вытекает растущий спрос на веб-разработчиков — как Frontend, так и Backend. Сравните сами: в одном из типовых рейтингов самых востребованных языков программирования 2015 года PHP занимает лишь пятое, а JavaScript — шестое место из восьми представленных, в то время как сегодня это едва ли не самые популярные и актуальные направления разработки, судя по количеству соответствующих открытых вакансий на HeadHunter.

Чего ждать от 2020 года?

Результатами нашего расследования стал рейтинг самых популярных вакансий на конец весны 2020 года.

Менеджеры проектов сходятся во мнении, что заказчики прежде всего заинтересованы в получении качественного результата, и в первую очередь внимание падает на интерфейс — насколько он отзывчивый, гармонично ли выглядит, удобен ли в использовании. Внешний вид сайтов и приложений зависит не только от макетов, которые обычно предоставляет клиент, но и от того, как спроектируют его реализацию frontend-разработчики. Отзывчивость же может достигаться за счет создания быстрого одностраничного приложения, например, с использованием стека технологий React/Redux или Vue/Vuex на языке JavaScript.

Естественно, важен не только интерфейс, но и backend-часть, отвечающая за основные функции приложения, и здесь наш стек — это и JavaScript (Node.js, Koa2), и PHP (Symfony3, Laravel 5), и Ruby on Rails.


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

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

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

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

Этот рейтинг совпадает и с нашим собственным хит-парадом — топ-4 востребованных направления разработки по версии Noveo :)

Прогресс не стоит на месте

Что касается развития технологий, 2020 год принес нам и новые тенденции: например, в последнее время стабильно растет потребность в специалистах в областях machine learning и big data, однако эти направления более перспективны для банков и продуктовых компаний, чем для аутсорса. Аналогично сложилась ситуация с блокчейн и криптовалютой — они обошли нас стороной, хотя нельзя отрицать их возросшую популярность. Тем не менее, вопреки ситуации с “виртуальной” валютой, системы взаимодействия с реальными финансами остаются важными и необходимыми: кешбэк-сервисы, онлайн и оффлайн, маркетплейсы и рекламные платформы продолжают развиваться, и наш опыт показывает, что разработчики, способные справиться с задачами, возникающими в ходе создания таких сложных и высоконагруженных систем, становятся всё более востребованными.

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

Ещё одна тенденция, не оставившая нас равнодушными — progressive web apps, разработка, позволяющая “подружить” веб- и мобильные технологии. Главной особенностью PWA стала схожесть веб-приложений с мобильными, которая характеризуется отзывчивостью интерфейса, гибкостью дизайна (приложение должно хорошо выглядеть и на мониторе с большим разрешением, и на экране смартфона), и удобством использования. Разумеется, это не может не наложить отпечаток на востребованность веб-разработчиков, особенно frontend’еров, в ближайшее время.

Наши прогнозы на будущее

Говоря о будущем, необходимо учитывать много факторов, например:

  1. Актуальную ситуацию на рынке аутсорса;
  2. Новые направления разработки и языки программирования;
  3. Девайсы: модные новинки и “мамонты”, которые доживают последние годы, чтобы уступить место новым технологиям;
  4. Важный момент: особенности компании, о которой идёт речь, ее специализацию и потенциальных клиентов.

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

— Как Вы считаете, как обстоит ситуация со спросом на разработчиков разных специализаций сейчас? Какие специалисты наиболее востребованы?

Веб, веб, веб и ещё раз веб. JavaScript, Java, PHP, .NET.

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

Всё, что связано с десктопом и инфраструктурой прошлого десятилетия, постепенно устаревает и потихоньку пропадает с рынка.

— Как Вам кажется, какие из новых языков программирования перспективны для изучения и, вероятно, будут популярны в ближайшем будущем (в пределах 1-2 лет)?

Знаете, с языками сложнее всего. Чего-то прямо прорывного, честно говоря, лично мной не замечено. В целом сохраняется тенденция к языкам с хорошей экономикой. Это прежде всего широкие возможности для решения задач в современном окружении при низком пороге вхождения программистов в предметную область и относительно недорогой поддержке/развитии кода. Например, JavaScript и PHP. Хотя если говорить о зарплатах, то менее распространённые на сегодня языки (причём это может быть как Ruby on Rails или Go, так и C/C++), при наличии серьезного опыта в них, практически гарантируют высокие заработки программистам.

— Какие из существующих уже популярных ЯП будут стабильно востребованы и актуальны в ближайшие пару лет?

Я не думаю, что что-то радикально поменяется, Java, JavaScript, PHP, .NET, Swift, Ruby On Rails точно будут присутствовать на рынке.

В заключение

Мы верим: все профессии нужны, все профессии важны :) Никто не знает наверняка, как будет идти развитие технологий и информационных систем, но мы можем попробовать предугадать результаты, а ещё жить здесь и сейчас, развивая те навыки и компетенции, которые особенно ценятся в настоящий момент. Кем бы мы ни были — frontend-, backend-, fullstack-, Java-, Ruby-, .Net-, iOS- или Android-разработчиками, QA, DevOps или кем-то еще в необъятной сфере IT, мы точно знаем, что изучение чего-то нового, применение знаний и навыков на практике, работа в команде и прокачка себя как специалиста — это интересно, увлекательно и приятно. Стек технологий будет меняться, что-то будет устаревать, а что-то оживать вновь и вновь, но мы точно знаем, что в специалисте любого уровня и направления есть одна общая важная черта: огонь в глазах и любовь к своему делу.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

7 причин провалов при заказной разработке мобильного приложения

Как адекватно оценить сроки и бюджет на разработку, а также опыт подрядчика.

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

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

Причина неудачи #1: Менеджер по продажам завышает ожидания и обещает золотые горы

Первый, с кем знакомится клиент — это менеджер по продажам (сейлз). Он — лицо компании-разработчика на этапе выбора подрядчика.

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

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

Что стоит учитывать

Живое общение и воодушевление сейлза — это здо́рово, но лучше познакомьтесь с человеком, который будет руководить разработкой. У него наверняка более реалистичные взгляды на проект, сроки и стоимость.

ТОП-100 лучших SEO-агентств России 2020

Кто лучше всех в России умеет продвигать сайты в поисковых системах – и к кому лучше обратиться за продвижением сайта своей компании?

Ответ – в свежем рейтинге SEO-компаний за 2020 год по версии RUWARD.

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

Причина неудачи #2: Недостаточная техническая экспертиза подрядчика

Больной вопрос для многих заказчиков: как понять, что эти ребята потянут уровень проекта и не придется через год переписывать всё с нуля? Как узнать, что «под капотом»?

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

Что стоит учитывать

  1. Посмотрите работы подрядчика. Удобство приложений, уровень дизайна, отзывы в «сторах» и историю обновлений.
  2. Скачайте и протестируйте приложения. Рекомендую не просто запустить, а попробовать выполнить сценарии использования. Особое внимание уделите нестандартным сценариям. Например, работе без или с плохим интернетом.
  3. Изучайте последние выпущенные приложения. Многим компаниям на заре мобильной разработки повезло поработать с крупными брендами, но это было давно. Узнайте, что из себя представляет компания сейчас.
  4. Сильные разработчики часто делятся опытом и знаниями: выступают на конференциях, пишут статьи, «шарят» наработки в github. Поинтересуйтесь вкладом компании в отрасль.
  5. «Не кладите все яйца в одну корзину». Заключите договор не на весь проект, а на малую часть. Если сроки будут сорваны или качество будет хромать, можно с минимальными потерями переключиться на другую компанию.

Причина неудачи #3: Обозначены неадекватные сроки

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

Цукерберг рекомендует:  Тестирование ПО на виртуальных машинах и гостевых ОС

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

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

  • согласование и подписание договора — 1 неделя;
  • сбор требований на разработку и написание ТЗ — 2-3 недели + время на согласование;
  • проектирование интерфейса — 1-2 недели + время на согласование;
  • дизайн — 1-2 недели + время на согласование;
  • разработка — 1 месяц;
  • тестирование и отладка — 1 неделя + время на тестирование заказчиком.
  • загрузка приложений в App Store и Google Play — 1-2 дня, если все пройдёт гладко.

ИТОГО (от идеи до воплощения проекта) — минимум 2,5 месяца.

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

Что стоит учитывать

Смотрите реально на сроки выполнения и используйте стратегию MVP (Minimum Viable Product): начните с минимального функционала.

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

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

Причина неудачи #4: Неправильно рассчитан бюджет

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

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

Что стоит учитывать

Держите в голове, что вам понадобится дополнительный бюджет на развитие и продвижение. Лучше упростите идею до минимума и реализуйте (про MVP я уже говорил). Сосредоточьтесь на основном функционале, остальное вам подскажут пользователи. А после релиза развивайте исходя из данных аналитики и отзывов аудитории.

Причина неудачи #5: Изначально бесполезный проект

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

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

(Но это не значит, что другие разработчики не позарятся на ваши деньги без каких-либо обсуждений.)

Что стоит учитывать

Совет стартапам

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

Совет работающему бизнесу

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

Совет для всех

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


Причина неудачи #6: Незнание собственного продукта

Классические примеры лидов, которые к нам часто приходят:

  1. Описывают проект завуалировано, так как это «супер-пупер ноу-хау», но хотят хотя бы примерную оценку сроков и стоимости с погрешностью не более 20-30%.
  2. Хотят всего и побольше. Например, соцсеть с возможностью обмена фото и видео, поиском достопримечательностей на карте, построением маршрута до них, аудиоэкскурсией, возможностью заказа такси, интеграцией с умными часами и геймификацией для удержания пользователей.
  3. Просят сделать для них клон Uber, Instagram, Prisma или Pokemon Go. Обычно просят точную оценку: «У вас же есть пример. Нужен точно такой же продукт, но под нашим брендом».

Факт: не бывает двух одинаковых приложений!

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

Совет

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

Причина неудачи #7: Неиспользование экспертизы подрядчика

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

Простой совет

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

Заключение: как получить то, что нужно?

Для разработки качественного продукта и заказчик, и исполнитель должны работать как слаженная команда. Это значит, что вы должны найти нужных исполнителей и придерживаться простых правил «игры».

В самом начале:

  • определитесь, что за проект вы хотите сделать, кто его ЦА, как на нём зарабатывать;
  • опишите проект и постарайтесь выделить MVP;
  • определите, какой исполнитель вам нужен. Выберите два из трёх параметров: дёшево, быстро, качественно.

При выборе исполнителя:

  • ориентируйтесь на портфолио и отзывы;
  • опыт и техническую экспертизу;
  • состав команды и мнение/отношение к проекту.

Начиная работу:

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

После запуска проекта:

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

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

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

5 причин для запуска мобильного обучения в компании

Обучение становится мобильным. Сегодня 74% жителей земли получают новую информацию через планшет и телефон. Это данные исследования LinkedIn.

Уловив тренд, многие мировые компании стали применять мобильные технологии в развитии сотрудников. Гаджет вместо учебников уже используют в Deloitte, Honeywell, Johnson & Johnson и FYMCA Medical. Вместе с Вячеславом Усковым, директором по развитию продуктов компании iSpring, мы насчитали 5 причин, почему стоит перевести обучение в мобильный формат.

1. Сотрудники учатся без отрыва от работы

Аналитики Merrill Lynch выяснили, что 55% жителей США учатся на ходу: во время командировки или по пути в офис. Люди сами составляют расписание занятий и не зависят от графика бизнес-тренера. Обучение не мешает работе и личной жизни.

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

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

2. Курсы на телефоне проходят вдвое быстрее, чем на компьютере

Инвестиционная компания Merrill Lynch провела эксперимент: одна группа людей проходила онлайн-курсы только на компьютере, другая — на смартфонах. Последние закончили обучение на 45% быстрее.

После этого в Merrill Lynch сделали ставку на мобильное обучение. В итоге компания стала вдвое быстрее доносить новую информацию по продуктам или бизнес-процессам до 60 000 человек из 38 стран мира. А успеваемость сотрудников увеличилась на 1,21% по сравнению с очными тренингами.

3. Мобильное обучение популярно среди миллениалов

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

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

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

Еще один важный момент: миллениалы ценят свободу и хотят подстроить учебное расписание под себя. Все эти преимущества дает мобильное обучение.

Пример. В российском подразделении Honeywell дистанционно обучают менеджеров по продажам. Это молодые люди. Средний возраст: 25-30 лет. Смотреть трехчасовые видеолекции им скучно, очные тренинги тоже не пользуются популярностью. Потому для них разрабатывают короткие онлайн-курсы на 10-15 минут, которые можно посмотреть в планшете и телефоне.

Результат. Посещаемость системы дистанционного обучения (СДО) — 100%. По отчетам видно, что постоянно учатся все 500 менеджеров: кто-то проходит новые курсы, кто-то повторяет старые.

4. Удобно обучать удаленных сотрудников

Торговые представители, копирайтеры, переводчики, дизайнеры, фотографы — специалисты многих профессий предпочитают работать удаленно. По данным исследовательской компании Gallup, 43% сотрудников в США вообще не приходят в офис.

Если у вас большой штат «полевых» сотрудников, собрать их на очный тренинг будет сложно. Такой проблемы не возникнет, если использовать мобильное обучение.

В российском подразделении Johnson & Johnson пять лет назад очно обучали 400 медицинских представителей из 60 городов. Бизнес-тренеры не вылезали из командировок, а сотрудники жаловались, что ради занятий им приходится переносить важные встречи с клиентом и ехать в офис.

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

Что это дает компании? Руководители обучения видят уровень подготовки в каждом регионе и могут быстро устранить «болевые точки». Благодаря регулярной аттестации все медицинские представители работают по одним корпоративным стандартам.

Онлайн-формат экономит время. К примеру, в компании вышел новый продукт. Чтобы рассказать о нем 400 сотрудникам, хватит двух дней. При очном обучении на это уходило около месяца.

5. Все учебные материалы доступны офлайн

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

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

Преимущества мобильного обучения

Сотрудники могут учиться, когда хотят, а не когда «надо».

Курсы на телефоне проходят вдвое быстрее, чем на компьютере.

Мобильное обучение популярно среди миллениалов.

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

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

Мобильная разработка: почему это круто и где такому учат

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

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

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

Сейчас, пожалуй, самый удачный момент, чтобы освоить эту профессию. Рынок бурно развивается, но ещё не перенасыщен кадрами, так что у вас есть вполне реальный шанс предложить свои услуги и получить за них достойное вознаграждение. Не умеете? Учитесь. :)

Где научиться

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

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

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

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

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

Программа обучения

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

Цукерберг рекомендует:  Itunesconnect - Публикация приложения в ITunesConnect

Ну так вот, семь курсов. Начинается всё с Java. Базовый курс расскажет о том, что это вообще за язык и каковы его особенности. Вы изучите объектно-ориентированное программирование и научитесь работать с графическим интерфейсом. «Java. Уровень 2» раскроет вопросы взаимодействия с платформой более подробно, а заключительные два урока вы посвятите созданию сетевого чата.

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

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

Получается, вы одновременно приобретаете навыки, которые позволят работать сразу на двух рынках. Курс, посвящённый iOS, опять-таки разделён на две части — программирование под iPhone и iPad и профессиональную разработку приложений и игр. Вы изучите язык Objective C, попробуете поработать в среде COCOA и напишете приложение под iPhone. Заключительный этап — знакомство с языком Swift: его основными возможностями, отличиями от Objective C, разработкой игр и приложений.


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

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

Что выбрать: мобильную или веб-разработку?

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

Несмотря на то, что популярностью пользуются оба направления, есть небольшой перевес в сторону веб-разработки: количество вакансий для создателей приложений на Android и iOS немного уступает таковым для веб-разработчиков, согласно данным Stack Overflow. В то же время заработная плата веб-разработчика ниже, чем у мобильных разработчиков, о чем свидетельствует статистика сервиса «Яндекс.Работа». Это обусловлено тем, что в веб-разработке доступно больше языков программирования: Java, C#, Go и многие другие, тогда как для той же iOS создание приложений в основном осуществляется с помощью Swift.

Что сложнее?

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

  • PHP
  • Ruby
  • C#
  • Go
  • C++
  • Java
  • JavaScript

Что прибыльнее?

Если средний оклад веб-разработчика составляет около 100 000 рублей, то Android-разработчик запросто может получать и 115 000 рублей в месяц, а создатель приложений для iOS — около 130 000 рублей. Разница не слишком большая, но стоит учитывать, что это средние показатели по рынку. В отдельных стартапах заработная плата iOS-разработчика может превышать 200 000 рублей.

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

Вопрос предпочтений

Многие разработчики скептически относятся к мобильным гаджетам из-за небольшого экрана и отсутствия элементов управления вроде «мыши», поэтому когда встает выбор, отдают предпочтение десктопу. Другие не любят разрабатывать приложения для смартфонов на Android ввиду необходимости тестировать программы для нескольких групп устройств. С iOS в этом плане попроще, но разработка программ при этом все равно может вызвать трудности.

Стоит только начать

Заняться изучением мобильной или веб-разработки можно как самостоятельно или в университете, так и с помощью портала GeekBrains. Отличие в том, что последний поможет стать профи в выбранном направлении всего за год. Для этого сервис разработал два расширенных курса — веб-разработчик и mobile-разработчик. Курсы отличаются только длительностью и наполнением: в обоих случаях по итогам обучения выдается свидетельство установленного образца, а в процессе студенты проходят гарантированную стажировку длительностью два месяца. Курс мобильной разработки на месяц меньше — за это время проходит изучение двух уровней Java, Swift, Android.

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

  • Общение с другими студентами и обратная связь
  • Домашние задания
  • Тестирования
  • Гарантированная стажировка
  • Участие в реальных проектах

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

Лучший комментарий

забавно читать рекомендации молодым разработчикам на сайте про тарелочки. чуваки, вот после «Мобильная разработка — это создание приложений для смартфонов и планшетов. И когда код становится сложнее, разработчику могут потребоваться расширенные математические знания в области алгоритмов, одного лишь языка программирования здесь будет недостаточно. В случае с веб-разработкой с упомянутыми трудностями можно не столкнуться» я читать не смог. Ну бред же, ну!
Ориентироваться на з\п при выборе направления тоже идея сомнительная: хороший разработчик в любой области будет зарабатывать достойно. Кстати говоря, в статье «забыли» упомянуть, что цифры в 100к — это з/п московских джунов, а чем дальше на восток, тем большая квалификация требуется для достижения этих же цифр. например, в томске з/п 15к для джуна вполне адекватна, а 30 — уже за счастье.

Какое программирование самое востребованное

Мы решили разобраться, какое программирование наиболее востребовано сегодня и останется таковым еще долго.

Где можно встретить программистов

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

Веб-разработка

Одно из популярных и разноплановых направлений. Здесь работают с JavaScript, PHP, Python, Java и Ruby, а также используют «язык структурированных запросов» SQL.

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

Мобильная разработка

Это направление сегодня считают самым популярным и перспективным. Смартфоны есть у всех, и их возможности непрерывно растут. Языки создания мобильных приложений: Java и Kotlin для Android, Swift для Apple, а также Python, JavaScript, C#.

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

Десктопные приложения

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

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

  • для Linux и кроссплатформенных приложений — C++;
  • для macOS — Swift и Objective-C;
  • для Windows — C#.

Разработка игр

Не так давно по геймдеву сходили с ума все поголовно — он был на пике роста популярности. Сегодня страсти улеглись, но это по-прежнему уважаемая и интересная область интернет-технологий. Годовой оборот рынка в 2020 году оценили в 100 миллиардов долларов.

Осознание того, что твоим продуктом пользуются миллионы фанатов по всему миру, дарит потрясающую эмоциональную отдачу разработчику игр. В индустрии высокие зарплаты, но идти туда нужно с готовностью к сложной работе и высоким нагрузкам. Языки геймдева: С++, C#, Lua и JavaScript для браузерных игр.

Data Science

Тоже модное сегодня направление в IT, которое, выходит далеко за его пределы. Хранение, обработка и анализ больших данных есть в любой сфере экономики. Поэтому Data Science находится на стыке интернет-технологий и бизнеса.

«Data scientist — самая сексуальная профессия XXI века».

Специалисту по Big Data необходимы серьезные знания математического анализа, статистики, машинного и глубокого обучения и текстовой аналитики. Языки программирования, на которых «говорят» здесь, — R, SAS и Python.

Программирование встроенных систем

Embedded — микроконтроллеры, промышленное оборудование, ЧПУ и тому подобные вещи. Полная противоположность интернету и веб-технологиям. Здесь нужно понимать аппаратную часть машины, для которой создается ПО. Необходимые языки — С, С++ и специализированные для тех или иных микроконтроллеров.

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

Интернет вещей (IoT)

Отчасти пересекающийся с предыдущим сегмент рынка. Интернету вещей пророчат большое будущее и активное развитие в ближайшее время. Аналитики компании Ericsson прогнозируют среднегодовой темп роста до2021 года 23%.

Интернет вещей — это создание smart-устройств, подключенных к сети «умного» города или дома. Направление молодое и перспективное, поэтому войти в него сегодня проще, чем через 10–20 лет.

Автоматизация бизнеса

Программные продукты для компаний из трендов не уйдут: наоборот, появляются новые и конкурируют между собой. Популярные в России — «Мегаплан», amoCRM, «Битрикс24», 1С. Лидеры международного рынка: SAP, Salesforce, Microsoft Dynamics CRM, Siebel Oracle CRM и другие.

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

В сфере SaaS относительно невысокий порог входа и неплохая заработная плата, есть возможность развиваться и как программист, и как финансист.

Самые популярные языки программирования

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

Их популярность рейтинги определяют по различным параметрам. Топ TIOBE основывается на количестве поисковых запросов, обучающих курсов и специалистов. Здесь лидеры выглядят так:

Рейтинг IEEE Spectrum анализирует частоту поисковых запросов, число проектов на GitHub, а также упоминания в Twitter и главных IT-порталах сети. Здесь в пятерке лидеров — Python, C++, Java, C, C#.

Если ориентироваться на данные российского сайта HeadHunter, картина меняется. Наглядно она представлена таблицей из статьи в корпоративном блоге HeadHunter на Хабре:

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

Какое программирование самое востребованное?

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

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

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

5 причин писать нативные мобильные приложения

За несколько последних лет соотношение популярности популярных платформ особо не изменилось — Android и iOS вместе покрывают 99.3% рынка.

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

О разработке кроссплатформенных приложений

Если вкратце, то идея такова, что сначала приложение пишется на каком-нибудь языке (например, C# или JavaScript), а затем с помощью различных оболочек этот код исполняется и на iOS, и на Android (а возможно и на других платформах).

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

Причина №1: множество нативных библиотек

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

Причина №2: поддержка от Google

Новейшие версии Android SDK доступны сразу как Google публикует их, и не нужно ждать, пока кто-то портирует их (например, как в случае с Xamarin.Android).

Причина №3: Stackoverflow

Stackoverflow содержит огромное количество решений проблем. На момент написания статьи (06.03.2020) 959,397 вопросов с тегом «Android» и только 20,289 с тегом «Xamarin». И такое соотношение можно наблюдать и на других ресурсах, не посвящённых одной конкретной платформе.

Причина №4: Android Studio

С тех пор как Google перешёл с Eclipse на платформу IntelliJ и предложил Android Studio, эта IDE стала намного лучше.

Причина №5: Время запуска и объём приложения

Вместе с кодом кроссплатформенного приложения зачастую запускается среда для запуска его кода. И если JVM в Android запущена всегда, то та самая среда для запуска приложения постоянно запускается заново, увеличивая время запуска приложения. Также сама среда исполнения входит в приложение, что увеличивает общий объём.

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

Когда писать кроссплатформенные приложения

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

Итак, вот причины, оправдывающие кроссплатформенную разработку.

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