Тренды 2022 года в Dev и QA от команды SoftTeco
Тренды в IT — актуальная тема всякой дискуссии. Эта сфера вызывает повышенный интерес и у новичков-“войтишников», и у опытных специалистов, и у людей, вообще не связанных с IT. Судите сами, ведь Информационные технологии (Information Technology, IT) — самый бурно развивающийся сектор мировой экономики.
Мы решили провести информационный блиц и пригласили пять специалистов, чтобы задать им одинаковые вопросы о том, что интересного произошло в 2021 и как они видят 2022 год в перспективе развития IT. Итак, 5 технологий + 5 экспертов + 5 вопросов для обсуждения = отличный контент. Поехали!
Традиционно начнем со знакомства. Наши герои работают в Международной группе IT-компаний SoftTeco:
- Игорь Маслаков, Deputy Head of Frontend Department
- Артем Парфененков, Node.js-разработчик
- Александр Нитиевский, Java-разработчик
- Тарас Питлик, .NET-разработчик
- Анастасия Свистунова, QA-инженер
Все ребята опытные, с хорошим бэкграундом. У каждого свой путь и свой выбор. И именно с этого мы начнем наш разговор.
— Коллеги, расскажите о себе и том, почему вы выбрали именно ту технологию, в которой сейчас развиваетесь. Начнем?
Игорь Маслаков, Deputy Head of Frontend department:
Мой опыт в коммерческой разработке — более 9 лет. Я занимался различными технологиями: разрабатывал мобильные приложения, работал над бэкендом.
В текущий момент я работаю фронтенд-разработчиком. Да, в бэкенде много крутых алгоритмов и решений, но визуальной составляющей мне не хватало. Это одна из важных причин, почему я ушел во фронтенд. Я слежу за трендами и нововведениями в своей сфере и хочу поделиться с вами своими наблюдениями.
Артем Парфененков, Node.js-разработчик:
Я FullStack-разработчик на JavaScript [Fullstack разработчик — это специалист, который принимает участие во всех этапах разработки приложений от создания визуальной части до реализации базы данных и бэкенд приложения. — прим. ред.]. И чтобы прийти туда, где я есть, я проделал достаточно долгий путь, попробовал себя в разных профессиях и специальностях. Некоторое время я даже работал поисковым оптимизатором и занимался SEO-продвижением.
Но начиналось все достаточно стандартно. Я закончил БГУИР [Белорусский государственный университет информатики и радиоэлектроники — прим. ред.] по специальности маркетолог, однако был знаком с программированием благодаря специфике ВУЗа. Поэтому в качестве самого легкого порога входа в IT я выбрал JavaScript, писал на React фронтенд. В какой-то момент мне понадобилось отправить запрос на сервер, и я задумался: а как и почему все работает на сервере? Этот вопрос заставил меня углубиться в бэкенд. В качестве оптимального пути я выбрал Node.js. Так я решил изучать оба направления и стал FullStack-разработчиком.
Александр Нитиевский, Java-разработчик:
Всем привет! В IT и, в частности, в Java, я пришел не сразу. Долгое время я занимался онлайн-торговлей — продавал парфюмерию. Решая по ходу этой деятельности задачи, связанные с программированием, я понял, что мне интересно IT, а именно бэкенд. Мне нравилось изучать, как как происходит обработка данных согласно бизнес правилам, как данные хранятся и используются. Когда решил «войти в IT», я выбрал Java. Java регулярно входит в топ-3 самых популярных и востребованных языков, на этом языке пишутся приложения практически во всех сферах и есть огромное комьюнити, благодаря которому можно найти любые фреймворки для решения своих задач. Поэтому мой выбор был очевиден — Java, и я очень доволен.
Тарас Питлик, .NET-разработчик:
Привет! Я, как и многие другие, не сразу пришел в разработку. Я работал в университете, занимался научной и преподавательской деятельностью. Там я и познакомился с платформой.NET и языком программирования C#. Поэтому для работы в IT я выбрал это направление. В тот момент на платформе.NET произошли крутые изменения, о которых я расскажу позже. Это определило мой выбор!
Анастасия Свистунова, QA-инженер:
Вобщем-то по образованию я технарь — окончила БНТУ. И в одном научно-производственном центре «Беспилотные авиационные комплексы» успела поработать инженером, метрологом и даже заведующей технического отделения. Перепробовав множество ролей, я поняла, что это все не то. Еще немного, и меня настигнет стагнация. Тогда я решила попробовать свои силы в IT. Все мои навыки, умения и опыт говорили, что из меня выйдет хороший тестировщик: я усидчива, внимательна, разбираюсь в технике, люблю и фронтенд, и бэкенд. Мне сложно остановиться на какой-то одной технологии. Рискнула и не прогадала. Я закончила курсы по ручному тестированию и работаю в SoftTeco уже почти 4 года.
— Спасибо! Продолжим наш блиц. И следующий вопрос: Какие решения позволяет создавать / оптимизировать ваша технология?
Артем Парфененков, Node.js-разработчик:
Лучше спросить, что Node.js не может [улыбается]. Node.js можно применить везде. На Node.js можно написать практически любой продукт, кроме игр, наверное. Хотя я видел, что в Node.js можно импортировать Unity с C# и использовать внутри — получается уже игра на Node.js!
Надо сказать, что Node.js — это не язык программирования, это лишь среда выполнения для JavaScript. Буквально взяли классный движок V8 из Google Chrome, выкинули из него всё, что нам не надо (это добавление HTML-тегов, DOM), и добавили классные штуки для работы с файлами, потоками, WebSocket и многим другим.
Node.js живёт и применяется повсеместно. Даже если мы вернемся к вопросу про среды разработки, многими любимый бесплатный VSCode также написан с использованием JavaScript в Node.js с помощью фреймворка Electron.
Насколько мне известно, многие компании используют Node.js не в качестве какого-то особенного решения, а скорее для оптимизации и ускорения. Node.js позволяет писать меньше кода и быстрее, плюс пропадает проблема коммуникации. Например, любой фронтенд-разработчик, если по какой-то причине бэкенд-разработчик сейчас недоступен, может зайти посмотреть, что происходит в коде на сервере, и понять, как ему правильно работать с бэкендом.
В доказательство своих слов я хочу привести пару примеров. Все знают Netflix, эта платформа использует Node.js на своем бэкенде в большей части. Также Uber написал свой бэкенд на Node.js, который позволил им обрабатывать до 2 млн удаленных операций в секунду. Это невероятное количество! Даже PayPal переписал свой бэкенд с Java на Node.js. Поверьте, Java — замечательный язык, ничего не имею против и уважаю! Но PayPal в итоге понадобилось меньше на 33% строк кода и на 40% меньше файлов в общем проекте. В крупнейшем доменном провайдере GoDaddy переписали бэкенд с Ruby on Rails на Node.js, что позволило им выполнять ту же нагрузку (150 000 доменных транзакций в день) лишь с 10% от требуемых ранее мощностей. И тем самым они сократили в 10 раз количество необходимых физических серверов! Это невероятная экономия для бизнеса.
Александр Нитиевский, Java-разработчик:
Java как технология затрагивает многие отрасли и сферы. Область финансов, банковские и трейдинговые системы, медицинское направление, научные базы данных — все это, как правило, пишется на Java.
Также многие Web RESTful приложения разрабатываются, используя популярный Java фреймворк Spring MVC. Множество старых проектов, написанных еще на Servlet-ах, до сих пор поддерживаются и применяются в государственных проектах. Java активно используется в мобильной разработке на платформе Android, фреймворки помогают решать задачи для мобильных приложений.
Даже многие международные сервисы онлайн-игр написаны на этом языке программирования. И это при том, насколько часто происходят транзакции в этих системах и какая сложная внутренняя вычислительная система. Java отлично справляется с такими задачами!
Сложно найти сферу, в которой нет Java. Наверное, речь только об игровой индустрии. Язык был не для этого придуман, но даже всем известная игра Minecraft была написана на Java! Это тоже говорит о том, что Java может вообще всё.
Хочу добавить, что такие топовые среды разработки, как IntelliJ IDEA, Eclipse, NetBeans написаны на Java. Это свидетельствует о популярности и востребованности языка Java!
Игорь Маслаков, Deputy Head of Frontend Department:
Нет нужды объяснять, что такое фронтенд. Ведь все мы каждый день взаимодействуем с ним! По своей сути фронтенд — это интерфейс для конечного пользователя для взаимодействия с приложением. Сложную логику мы можем спрятать за нажатием одной кнопки. И даже программистам заказывать пиццу напрямую, дергая REST API, было бы не очень удобно. Мы, фронтенд-разработчики, делаем все более удобным и помогаем выстроить взаимодействие пользователя и приложения.
Тарас Питлик, .NET-разработчик:
В принципе, на вопрос «Какие приложения можно создавать и использовать через платформу.Net?» можно было бы ответить коротко: любые. Одной из важнейших задач.Net является разработка web-приложений, причем любого масштаба. Можно создавать десктопные приложения, здесь на выбор не один, а несколько фреймворков. .Net позволяет создавать GUI приложения используя декларативный синтаксис и язык XAML, который является основой фреймворка WPF. Хотя вы можете взять более традиционный платформу Windows Forms. Или даже можете создавать универсальные приложения для Windows — всё к вашим услугам.
Хотите разрабатывать игры или другие приложения, которые работают с трехмерной графикой? .Net поможет и тут! К вашим услугам движок Unity, который можно использовать совместно с платформой.Net. А ещё интернет вещей (IoT)! Если взять любое устройство, на котором худо-бедно можно запустить Linux, вы можете для этого устройства создать какое-либо ПО. Из модных трендов.Net — машинное обучение. Относительно недавно, в 2019 году, компания Microsoft представила фреймворк, который называется ML.NET. Он позволяет использовать машинное обучение и создавать приложения для машинного обучения. И, конечно же, кросс-платформенные мобильные приложения, куда же без них! Используя технологию Xamarin и.Net можно создавать приложения для двух самых популярных мобильных платформ — IOS и Android.
Анастасия Свистунова, QA-инженер:
Quality Assurance — обеспечение качества. Это наша главная цель! Мы отвечаем за качество продукта с целью «порадовать» и удовлетворить конечного пользователя правильно работающим приложением, а заказчика — успешной финансовой составляющей.
Приведу пример. За последние 30 лет тестирование сильно изменилось. Все начиналось еще тогда, когда для обучения чему-либо использовались дискеты. Их записывали и отправляли конечным пользователям. При возникновении каких-либо ошибок в ПО дискеты возвращались назад, совершенствовались и отправлялись вновь. И это мог быть практически бесконечный процесс. Сейчас процесс тестирования проводится до выхода крупного релиза (новой версии приложения). Поэтому современный пользователь получает качественные приложения.
— Поговорим о прошедшем 2021 годе. Чем он был интересен, что принес нового и важного в сферу IT?
Александр Нитиевский, Java-разработчик:
В прошлом году мы наблюдали динамичное развитие Java–фреймворков. В 2021 году во фреймворке Spring (основной и самый популярный фреймворк) развивались модули. В целом пятая версия Spring в данный момент довольно плотно наполнена релизами, очевидно, что все работали в поте лица. И уже совсем скоро выйдет шестая!
Комьюнити порадовала библиотека Hibernate! Это библиотека ORM для управления данными и интеграцией с базами данных. Вышло очень важное решение: внутренний проект Hibernate — OGM. Он позволяет интегрироваться с нереляционными базами данных NoSQL (MongoDB, Cassandra). До этого разработчикам необходимо было писать очень много шаблонного кода, сложно создавать отдельные коннекшены и транзакции, все это надо было закрывать, обрабатывать исключения. Написание такого кода требовало времени и усилий.
По трендам отметил бы в области автоматизации развертывания проект Docker. Это ПО, которое позволяет удобно упаковывать приложения в изолированный контейнер с необходимыми для запуска зависимостями. Мы можем запустить приложение в изолированном контейнере изолированно от нашей операционной системы. Все работает, как картридж из приставки!
В плане облачных инфраструктур отметил бы проект Kubernetes. Топовые поставщики облачных услуг — Amazon Web Services, Google Cloud, Microsoft Azure — поддерживают кластер Kubernetes. Это позволяет все контейнеризированные приложения разместить в кластере Kubernetes (особенно если у вас микросервисная архитектура), масштабировать горизонтально, реплицировать и обеспечить этим максимальную производительность и отказоустойчивость.
Я бы добавил, что 8 LTS-версия Java сейчас наиболее часто используется. И в прошлом году произошел некоторый сдвиг к версии 11. Но 8 версия с 2014 года пока самая популярная, т. к. максимально поддерживается всеми фреймворками и библиотеками. В будущем мы ждем новую революционную версию.
Тарас Питлик, .NET-разработчик:
В конце 2021 года Microsoft выпустили новый релиз платформы –.NET 6. Тут может возникнуть вопрос: платформе в этом году как раз исполняется 20 лет, а за это время было всего 6 релизов? Не все так просто! Краткий экскурс: платформа появилась в 2001 году, сначала это была сугубо проприетарная платформа Microsoft, которая работала только на Windows. И это длилось довольно долго. В 2016 году список вышла совершенно новая версия фреймворка –.NET Core с открытым исходным кодом и поддержкой платформ, отличных от wintel (windows + intel). И так пошла новая нумерация: .NET Core 1, .NET Core 2 и т. д.
Надо сказать, что обе платформы.NET Core и.NET не были полностью совместимы, потому что такую совместимость было практически невозможно обеспечить. Некоторое время.Net Core и.Net развивались параллельно, .NET Core — более прогрессивная и кросс-платформенная, .Net — консервативная, но поддерживающая большее число типов приложений и технологий. Это было неудобно, потому что для разных типов разработки требовались разные версии. В четвертой версии.Net Core Microsoft попыталась максимально решить все проблемы совместимости и назвали релиз.NET 5. Почему? Во-первых, чтобы не путать.NET Core 4 и.NET 4, а во-вторых, чтобы подчеркнуть, что именно.Net Core в лице.Net 5 теперь основной вектор развития платформы.Net. В.NET 6, самой актуальной версии платформы.NET, мы получили 10 версию языка С# и огромное количеством нововведений, в том числе и preview-версию фреймворка MAUI, который придет на смену Xamarin.
В конце 2021 года мы получили новую версию среды разработки Visual Studio 2022, которая впервые стала-64 битной, отличается заметно подросшей скоростью работы и широкой функциональностью.
Анастасия Свистунова, QA-инженер:
Я поделюсь с вами важным для меня событием, которое тесно связано с трендами в тестировании: я закончила курсы по автоматизации на Java! Автоматизированное тестирование развивается активно последние несколько лет. Востребованному тестировщику сейчас следует разбираться в автотестах и том, как они запускаются, в том числе важно понимание CI [Continuous Integration — это сборка, деплой и тестирование приложения без участия человека. — прим. ред.]. Сейчас идет прогрессивный рост, потому что требования к качеству увеличиваются, а количество времени на тестирование и стабилизацию приложений уменьшается. Современному специалисту по обеспечению качества необходимо уметь автоматизировать возможное процессы в тестировании с целью экономии времени, денег и производительности команды.
Игорь Маслаков, Deputy Head of Frontend Department:
Если говорить о Frontend, то по-прежнему лидируют React, Vue и Angular. Они получили обновления своих версий в 2021 году. Популярность набирают более новые проекты, например, NextJS либо SSG-решения, как Eleventy и Gatsby.
Но поговорим о людях. В 2021 меня порадовало отличное настроение во Frontend-комьюнити. Люди общаются и обкатывают нововведения, делятся опытом и экспериментируют. Ярким примером может служить коллаборация React и NextJS-команд. Также благодаря комьюнити мы увидели множество конференций, митапов. И мы в компании SoftTeco привносим свой вклад в развитие нашего движения, проводя митапы и выступая в качестве спикеров на больших конференциях. Хотелось бы побольше личного общения, ведь нетворкинг заменить нельзя.
По технологическим трендам 2021 года: много внимания было уделено SSR и SSG. Забавно, что когда-то так и работали все приложения. Все идет словно по спирали. Работая во фронтенде, можно стать неплохим философом [смеется], потому что замечаешь, как тенденции возвращаются. В 2021 наблюдался переход оффлайн-бизнесов в онлайн из-за пандемии. Сама пандемия — страшное и жуткое событие, но она в целом способствовала развитию некоторых отраслей. Например, выросло количество вакансий во Frontend — эта сфера была самой открытой для входа в IT-индустрию в 2021 в качестве разработчика.
Артем Парфененков, Node.js-разработчик:
Самым интересным в 2021 году для меня было то, что я начал работать с Node.js! Если мы говорим о трендах, надо сказать, почему они в принципе могут появляться. В 2019 году у нас было две больших организации: Node.js Foundation и JavaScript Foundation. Они объединились в одну большую Open JS Foundation и создали комфортную экосистему для развития JavaScript. Теперь у нас в комьюнити будет более качественный подход к выпуску релизов и к обработке новых идей.
Тренды Node.JS не меняются уже несколько лет. Среди них использование Graph QL для ускорения процессов путем избегания недостатка и переизбытка данных сервера. Это и использование real-time приложений (Trello, Figma и пр). Node.js также отлично работает с интернетом вещей. Node.js — это про скорость.
Лично для меня трендом 2021 году стала Serverless-архитектура. Мы не думаем о том, как масштабировать наш сервер, не перегрузим ли мы его. Мы просто пишем классный код (потому что плохого мы писать не можем!), заливаем код на условный Amazon, он поднимает лямбда функции по необходимости и автоматически масштабирует или уменьшает мощности сервера.
Для меня стал открытием NestJS-фреймворк. Он позволяет привнести внутрь кода приложения более архитектурные и структурированные процессы с паттернами разработки. Можно использовать классные декораторы с Typescript, тем самым избегать неизвестных объектов, новых полей, мутаций. Полноценный строгий типизированный язык! Я надеюсь, что это сохранится в будущем.
— Поговорим о прогнозах на 2022 год. Что ждет сферу IT по вашему мнению в предстоящем году?
Игорь Маслаков, Deputy Head of Frontend Department:
Я верю в комьюнити и в то, что оно становится настоящим двигателем прогресса. В конце 2021-го прошла интересная конференция по React, где презентовали новую версию фреймворка. Она выйдет в релиз в 2022 году и принесет из коробки кучу крутых оптимизаций. У нас уменьшится количество ререндеров благодаря автоматическому батчингу. Suspense заработает на стороне сервера, что вообще меняет всю концепцию того, как будут работать web-приложения в 2022 году. Тот же SSR имел минусы, нововведение позволяет от этих минусов избавиться и делает приложения более отзывчивыми и быстрыми. По трендам: SSR, SSG, фреймворк Remix. Знаете, у нас во фронтенде каждый год есть свой трендовый фреймворк, как когда-то Svelte. Эти фреймворки не исчезают, но они не такие популярные, как большая тройка. Крепчает NextJS и усиливается его коллаборация с React.
В 2022 будет интересно всем: технарям и опытным специалистам, соискателям, пользователям. Рынок вакансий только вырастет. А приложения станут еще быстрее и отзывчивее для пользователей!
Александр Нитиевский, Java-разработчик:
Наблюдается активный интерес к микросервисной архитектуре. Многие проекты, которые долгое время использовали приложения-монолиты, при расширении бизнеса упирались в перфоманс: торможение запросов и ответов. Для ускорения бизнес-процессов все чаще принимается решение разделять приложения на более мелкие, либо создавать микросервисы с самого начала разработки ПО. Активное развитие Kubernetes помогает эти микросервисы между собой организовывать, оркестрировать, масштабировать, защищать от падения серверов. Мы ожидаем активное развитие проекта Spring, грядет новая 6 версия, в которой обещают классные обновления, например, новшества с многопоточностью. Активно разрабатывается проект Loom, который, возможно, приведет Java к сдвигу. Новые версии Java выпускаются, но бизнес не очень активно на них переходит. Нужно создание революционного решения, коим может стать Loom. В данном проекте вводится абстрактное понятие «виртуальные потоки» (некий пул потоков на уровне ОС), которое очень сильно увеличивает потенциальный перфоманс в HTTP-запросах и времени отклика баз данных и микросервисов. А для заказчика это важнее всего! Так что ждем запуск проекта Loom уже не в тестовых версиях и глобального обновления LTS версии Java в ближайшие годы. Java — удобный и логичный язык!
Анастасия Свистунова, QA-инженер:
В тестировании версий нет, поделиться чем-то таким я не могу. Однако я хотела поднять тему, опираясь на заявление Джеймса Уиттакера, который является автором книги «Как тестируют в Google». Он заявил, что эпоха искусственного интеллекта не за горами и перед тестировщиками стоит огромный челлендж — научиться тестировать искусственный интеллект.
За последние 30 лет было написано огромное количество обучающих книг для работы с софтом, и софт разложили вдоль и поперек. Мы понимаем, что есть некоторые входные данные, выходные данные, их структура и вычисления над ними. Но в AI [Artificial Intelligence. — прим. ред.] все совсем иначе. Самое большое различие между AI и софтом в том, что первый самообучаем. Даже если есть начальные входные данные, то они могут видоизменяться с течением времени.
Тенденция «разбора» AI в тестировании — это тренд, который будет актуален в ближайшие годы. Этот переход сравним с тем, когда мы перешли от бумажных носителей к цифровым. Хочу упомянуть как тренд интернет вещей: это помогает собирать информацию для тестирования AI. И, конечно, никуда без автоматизации тестирования!
Артем Парфененков, Node.js-разработчик:
У нас в Node.js в год выходит стабильно два релиза: четный и нечетный. Нечетный выходит как промежуточное решение для обкатки новых API, решений и пр. Обычно нечетные версии поддерживаются полгода, потом их поддержку прекращают, и выходит стабильная четная версия. В июле–августе этого года мы ждем 18 версию. Как обычно скажут, что в Node.js все поменялось! В последнем релизе нам дали много обновлений, улучшили движок V8, который ускорил некоторые операции в 30 раз! Теперь Node.js еще быстрее!
Нам завезли стабильный Promise Timeout API, который позволяет не использовать дополнительные библиотеки, чтобы обернуть все в Promise и использовать синхронный код.
Также добавили множество дополнительных оптимизаций. Например, AbortController для обрыва HTTP-запросов и экспериментальную реализацию крипто-API для создания хэш-ключей. Если такие результаты были в прошлом году, то в этом будет еще лучше! Open JS работают и стараются на наше благо. Я надеюсь, мы получим много интересных нововведений. Я хотел бы увидеть обновления для работы с сокетами. Да, у нас сейчас есть решения на выбор из двух библиотек, но я надеюсь, что нативное использование сокетов станет проще.
Тарас Питлик, .NET-разработчик:
В 2022 по-прежнему основной сферой применения.NET остается web-разработка. Для создания web-приложений чаще всего используется фреймворк ASP.NET, реализующий классическую архитектуру MVC, включая бэкенд и фронтенд. Если хочется чего-то более современного, обратите внимание на технологию Blazor. Эта технология позволяет запускать код, написанный на C#, непосредственно в браузере, используя технологию WebAssembly. Раньше вы хотели создать современное одностраничное web-приложение, вы писали бэкенд на C#, используя ASP.Net WebAPI, а фронтенд — на Angular или React. Сейчас это не обязательно так: при знании C# вы можете использовать Blazor и запускать код на C# прямо в браузере. Технология достаточно прогрессивная, она позволяет выполнять рендеринг страницы приложения непосредственно в браузере или на сервере. А конечный результат возвращать пользователю с использованием библиотеки SignalR, которая работает поверх вебсокетов.
В конце 2021 вышла финальная версия.NET 6 и одновременно Microsoft показали превью фреймворка MAUI — Multi-Platform App UI, который придет на смену Xamarin. Xamarin — это фреймворк, который позволяет разрабатывать кросс-платформенные, в первую очередь мобильные, GUI-приложения с использованием языка C# и платформы.Net. Основная идея Xamarin в том, что один и тот же код, может быть скомпилирован в приложение, которое запускается как на Android, так и IOS. Но у этой технологии есть некоторые недостатки, главный из которых — это не самая высокая производительность, большой размер приложений и задержки с поддержкой новых версий Android и IOS. Все графические компоненты переписаны с нуля, поэтому нам обещают заметно улучшенную производительность и универсальность!
В этом году ждем дальнейшее развитие фреймворка ML.NET!
— Спасибо, коллеги, за такой подробный разбор ситуации и позитивные прогнозы. Напоследок, как водится, мы просим дать несколько работающих советов от бывалых айтишников: «Как стать профессионалом такого же уровня, как ты?»
Игорь Маслаков, Deputy Head of Frontend Department:
Скажу со стороны разработчика. Наша профессия — это постоянное обучение. Учитесь и развивайтесь. Не храните деньги под подушкой, а знания в книжках — вкладывайте в себя! Обязательно учите основы. Читайте замечательные книги Роберта Мартина, Фаулера. Будьте любознательными. Посещайте различные конференции, митапы — это позволит использовать самые новые достижения отрасли в ваших проектах.
Нужно много практики. Пишите код и обязательно показывайте его коллегам. Если вы написали код и никому его не показали, то вы не узнаете, хороший он или плохой. Ищите фидбэк!
Учитесь работать в команде: разговаривать и решать конфликты (лучше их избегать), находить эффективные решения. Проекты делаются именно в команде, в связи с этим навыки Soft Skills ценятся, как и Hard Skills (даже иногда превалируют, например, у тимлида). Иии… Конечно, учите английский язык! Не называйте переменные в коде транслитом :)
Артем Парфененков, Node.js-разработчик:
IT — это обучение. Книги нас учат усидчивости и целеустремленности. В нашей сфере быть на месте и чувствовать себя комфортно — быть в стагнации. Учите новое и не бойтесь. А если что-то не получается, не отчаивайтесь. Программистом может стать почти каждый. Дорогу осилит идущий.
За год работы с Node.js я успел поработать над двумя проектами. И хочу сказать, что в нашей работе очень много коммуникации: звонки, обсуждения, ежедневные рабочие совещания. Учитесь общаться! И учитесь общаться на английском!
Помните, что учеба должна приносить удовольствие. Смотрите ролики и конференции, читайте статьи. Возможно, вам не стоит сразу переходить к документации, изучайте все на понятном вам уровне. И побольше отдыхайте, везде нужна мера. Не делайте работу своим хобби, старайтесь переключаться.
Тарас Питлик, .NET-разработчик:
Если вы задумываетесь войти в IT, ищите хорошие курсы. В наше время можно учиться онлайн, и это отличная возможность. Как показывает практика, онлайн-обучение не менее эффективно, чем оффлайн. IT — это про самообразование. Получив диплом, вы только начинаете учиться. В нашей сфере все меняется очень быстро! Надо все время бежать, чтобы оставаться на одном месте.
С чего начать? Надо попробовать поработать с несколькими технологиями и выбрать для себя направление, в котором нравится работать. Так вы будете продуктивными.
Пишите код, много кода. Книг по C# много, ищите подходящую для себя. Вы обязательно найдете то, что подойдет вам для основ. Можете выбрать себе пет-проект, который будет решать вашу маленькую посильную и важную задачу. Обкатывайте свои навыки! На собеседовании, кстати, вам уже понадобится портфолио с кодом.
Вы также можете попробовать контрибьютить благодаря огромному количеству открытых библиотек. Открывайте любой репозиторий на Github и пробуйте найти в нем ошибки, чтобы исправить. Это отличная тренировка.
Анастасия Свистунова, QA-инженер:
Начну с самых базовых советов: пейте витамины, занимайтесь спортом, найдите то, что вам нравится, прокрастинируйте в удовольствие. И много-много учитесь.
По тестированию советую книги Савина и Куликова, кому что нравится по манере подачи информации. Также при изучении тестирования я смотрела YouTube-канал Портного, уверена, сейчас их намного больше. Самое важное — уловить то, чем является тестирование. Создать у себя связи в голове и представить то, чем вы будете заниматься. Хороший совет — сейчас много курсов, которые предоставляют возможность тестирования реальных проектов. У меня на курсах было тестирование десктоп-калькулятора, которое больше мне не пригодилось вовсе. Так что ищите для себя лучшие возможности!
Александр Нитиевский, Java-разработчик:
Во-первых, надо иметь желание постоянно развиваться в сфере IT. Это очень интересное направление: здесь много умных и креативных людей, есть возможность раскрыть свои таланты. Эта профессия интернациональная: программисты востребованы в любой точке мира.
Нужно много читать. Я предпочитаю бумажные книги электронным. Ты можешь определить для себя ряд книг и пойти по списку, уделяя время чтению каждый день. По фреймворку Spring я бы порекомендовал «Spring в действии» Крейга Уоллса. По Hibernate я бы посоветовал книгу «Java Persistence API и Hibernate» Гэвина Кинга, Гэри Грегори, и Кристиана Бауэра. Когда ты уже освоил язык и понимаешь, как писать код, прочитай «Clean Code» Роберта Мартина.
Также рекомендую смотреть видеоконференции, там затрагиваются много полезных и интересных моментов из реальных проектов. Это плюс в копилку знаний, ведь разбираются нестандартные ситуации. Если в какой-то технологии чувствуешь себя неуверенно, можно наверстать это благодаря видеоконференциям. Еще можно читать практико-ориентированные статьи и параллельно писать код. Но на первом месте практика!
Отдельно рекомендую мониторить базу вакансий и смотреть, знание каких технологий чаще всего требуется от кандидатов.
Когда ты впервые в жизни берешь гитару, думаешь, что научиться играть невероятно тяжело. Но благодаря тренировкам и приложенным усилиям ты понимаешь, что у тебя все начинает получаться. И игра на гитаре уже не становится чем-то нереальным. Практика уходит в подсознание, и ты все делаешь с легкостью!
Все то, что находится за гранью твоего знания, кажется сложным и непостижимым. Но потом, когда ты это узнаешь, понимаешь, что здесь в принципе сложного ничего нет. Поэтому только вперёд!
Судя по всему, сфера IT продолжает развиваться, работать и удивлять. Впереди много важного, нужного и интересного. Отличный разговор получился! Спасибо.
Читать на dev.by