Отвечают за «внешнюю» сторону приложения, сайта или программы — собирают удобный и понятный интерфейс, который пользователи видят в браузере. Верстают его, если в команде нет отдельного верстальщика. Отвечают за то, как интерфейс выглядит и работает на разных устройствах. Например, вы кликаете на кнопку, а она меняет цвет — это один из простейших процессов, который делает frontend-разработчик.
Отвечают за «внутреннюю» — серверную, программно-административную часть, которую не видит пользователь. Например, когда вы регистрируетесь на каком-либо сайте, ваши данные попадают в базу — сам процесс вы не видите, но теперь знаете, что за него отвечают backend-разработчики.
Это те, кто изучает обе «стороны» проекта, полный цикл. Такой разработчик владеет разными языками программирования и технологиями и может в одиночку создать сайт.
Те, которые делают приложения для мобильных устройств: для телефонов, GPS-навигаторов, умных часов, электронных книг. В крупных компаниях мобильная разработка внутри также делится на Backend и Frontend. Но в большинстве случаев мобильные разработчики изучают полный цикл создания приложения и могут работать с любой частью проекта — и с интерфейсом, и с внутренней логикой приложения.
Занимаются приложениями для мобильных устройств под управлением ОС Android.
Java, Kotlin, OpenGL, Android SDK
Занимаются приложениями для мобильных устройств под iOS (ОС для устройств Apple).
Objective-C, Swift, CoreData, CoreGraphics, OpenGL, Cocoa Touch
DevOps — это методика повышения качества программного обеспечения, а DevOps-инженер использует ее для синхронизации всех этапов создания ИТ-продукта и совмещает в себе разработчика, тестировщика, менеджера и сисадмина. Он контролирует и автоматизирует работу разработчиков и других ИТ-специалистов, которые связаны с продуктом.
В любой компании ведётся учет продаж, зарплат, налогов. Все эти данные собираются в базы. И тут разработчик БД делает всё, чтобы компании было удобно работать с этими массивами информации: создает эти базы, автоматизирует сбор и обеспечивает безопасность данных.
Самые популярные системы учета в России и СНГ — это продукты компании «1С». Поэтому выделяют отдельное направление разработчиков — программистов 1С, которые внедряют и сопровождают программы 1С в организациях, устанавливают и настраивают, дорабатывают и обновляют их.
Те, кто занимаются разработкой игр с нуля, а также поддержкой, исправлением багов и другими обновлениями. Обычно Game-разработчики делятся на специализации: разработка десктопных, мобильных игр и MMORPG (ролевых онлайн-игр, где много пользователей).
Продуктовый разработчик (ПР) находится посередине между программистом и продакт-менеджером (это специалист, который управляет работой команды разработки, следит за метриками и делает всё, чтобы сам продукт и результаты стали лучше). Работа ПР не заканчивается на написании кода. Он также заботится и о пользовательском опыте — предлагает гипотезы, как можно сделать условное приложение еще удобнее и эффективнее. То есть он настолько хорошо понимает продукт, что может с технической точки зрения помогать продактам достигать целей и предлагать варианты, как проверить гипотезу минимальными средствами. А после проверки, если гипотеза подтвердилась, обновляет продукт и внедряет фичи.
Карьеру по вертикали можно разделить на 4 основных уровня. Важно не забывать, что срок перехода с уровня на уровень индивидуален и условен. То, насколько быстро вы будете развиваться, сильно зависит в первую очередь от вас самих, а также от компании и способов определения уровня внутри неё.
Здесь вы находитесь, если ещё только смотрите в сторону профессии разработчика или пока проходите обучение, но ещё не сталкивались с реальными практическими задачами.
Самый простой способ перейти отсюда на следующий уровень — пройти стажировку. Многие ИТ-компании регулярно набирают к себе студентов и выпускников, чтобы «вырастить» крутых специалистов.
Либо второй вариант — работать над личным pet-проектом, который можно будет добавить в портфолио
Это уже не нулевой уровень, а уровень начинающего программиста после обучения и некоторой практики. Джуны работают с мелкими частями проекта, не обязательно вникая в его масштабы и часто обращаясь за поддержкой наставника или руководителя.
Транслитерировать входящую строку, написать подпрограмму для проверки значений.
Не бояться брать на себя больше ответственности, обращаться к наставнику в компании или внешнему ментору.
Мидл — это уже вполне самостоятельный разработчик, который может справиться с любой задачей. Мидл понимает, какие цели и задачи у продукта, который он разрабатывает, а также хорошо разбирается в предметной области, в которой он работает, — например, в финансовой.
Разработать логику новостной ленты для существующего приложения или создать новый раздел на сайте. Мидл должен самостоятельно выбрать инструментарий, выстроить архитектуру, обосновать и защитить свои решения, прописать план и обозначить сроки выполнения. И уложиться в них, конечно.
Пробовать себя в разных проектах, прокачивать хард скилы и навыки управления как своим временем, так и временем команды разработки.
Синьор — это программист высшей квалификации. Он глубоко понимает структуру проекта, фреймворков и инструментов разработки. Может заранее предвидеть, как в будущем изменится проект и как его оптимально поддерживать. Выполняет всё, что делает мидл, только быстрее и «чище», и разрабатывает архитектуру новой программы или сайта.
Разработать и запустить новое мобильное приложение. Для того чтобы это приложение было создано, потребуются и другие специалисты, поэтому синьор должен обладать навыками руководителя: видеть цель, объяснять её подчинённым и вдохновлять их, обучать и проконтролировать, проводить работу над ошибками.
Дальнейшее развитие зависит только от того, что вам ближе. Вы можете прокачивать свои лидерские навыки и уходить в менеджерские позиции, а можете развивать свой скилл разработки и расти как эксперт в своей сфере.
Лидер команды разработки. Пocтoяннo oбщaeтcя c paзpaбoтчикaми, мeнeджepaми и кoллeгaми из дpyгиx oтдeлoв. Необходим, ecли в кoмaнде проектов бoльшe 5 чeлoвeк, oт кoтopыx нужны эффeктивнocть и пpoдyктивнocть.
Отвечает за стратегию технологического развития компании и руководит всем техническим блоком
Один из самых опытных сотрудников, отвечающий за «чистоту» кода. Он нe тoлькo caм пишeт его, нo и зaнимaeтcя пpopaбoткoй pиcкoв и oбyчaeт дpyгиx coтpyдникoв.
Достаточно редкая профессия. Это высококвалифицированный специалист, работающий сразу на нескольких проектах. Он занимается проектированием сложных интегрированных проектов, масштабированием и рефакторингом.
Первый вариант — двигаться внутри разработки, меняя направления
Менять направления можно будет и внутри компании — мы в QIWI часто сталкиваемся с такими кейсами и всегда рады помочь разработчикам совершить горизонтальный переход. При этом важно учесть и быть готовым к тому, что вам в любом случае понадобится время на адаптацию в новых фреймворках, на изучение новых языков или гайдлайнов платформ. На первое время после перехода ваша эффективность как сотрудника снизится.
При этом учить второй язык программирования намного проще, чем первый. Вы уже понимаете, как устроено программирование как таковое, достаточно разобраться с синтаксисом — как пишутся функции, какой стиль приветствуется и т.д.
Второй вариант — смена профессии
Здесь представлены специалисты, с которыми вы уже будете работать в команде, будучи разработчиком. В эти сферы легче всего перейти из разработки.
Небольшой (от 1 недели до 4) отрезок времени, за который команда делает какую-то часть проекта, — в конце спринта что-то обязательно должно заработать. На спринты делят работу над большими и сложными проектами.
Основные этапы спринта: