Message to administrator
Имя:
Email:
Message:
Sign In
Username:
Password:

Donation  •  Journal  •  About  •  Advertisement  •  Place ads banner  •  Send content  •  Timeline  •  Translate  •  Featured  •  Message to admin Guests: 15    Members: 0 Авторизация Sign In   Sign Up 
Scientific Poke Method
RULVEN
Search  
Blackball iMag | интернет-журнал
RSS-лента
Share link:
Catalogue


Home » Software development » Программист 2020: Терминатор отдыхает

Программист 2020: Терминатор отдыхает


Программист 2020: Терминатор отдыхает
Added: Пн 12.10.2020 • Sergeant
Source: source
Views: 539
Comments: 0


Программист сегодня не то что прежде — одного знания языка (или языков) программирования мало, чтобы быть действительно конкурентным на рынке труда. Ты можешь сколько угодно прописывать в коде на С++ указатель на указатель на указатель, но какой в этом толк, если твой работодатель плачет (менее ванильные ребята орут, лишают премии, угрожают и стоят на стороне клиента — в смысле живого клиента и пользователя вашей программы, а не того, что обменивается информацией с сервером)? Какое-то время назад что гаджеты, что концепции управления, что тенденции подбора персонала тяготели к одному и тому же: модульности, дискретности, а то и даже примитивизации и узкой специализации сотрудников, софта, инструментов. Но эволюция повернула не туда и теперь мир требует умные устройства, которые умеют всё, многофункциональные программы и приложения (привет, Яндекс Go) и, конечно, универсальных специалистов. Концепция «человека-оркестра» вернулась в тренд, не успев уйти из него.

Итак, что вам нужно для полного программистского счастья соответствия набора в конце 2020?

▍ Структуры данных и алгоритмы

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

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

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

▍ Бизнес-процессы

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

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

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

▍ Математика

Царица полей. Ну или наук, не суть. Как бы мы с вами в айтишном мире ни избегали математики, с каждым годом её важность возрастает. Ни машинное обучение, ни нейронные сети, ни искусственный интеллект без знания математики разработать не получится. И если вы, разработчик сайтов или фронтендер, сейчас хмыкнули и пошли читать следующий пункт, остановитесь, это касается всех. Потому что в скором времени программы без хоть каких-то зачатков ML/AI/нейросетей/BigData будут в ряде отстающих. Поэтому, выход простой: пока не поздно, изучайте необходимый срез математики.

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

▍ Базовые знания в смежных областях

Этот пункт может возмутить любого, но да — программисту и его коллегам будет лучше, если все они будут чуть больше знать о работе соседа по опенспейсу, кабинету, команде. Если вы программист, вам лучше знать какие-то основы UI/UX, фронтенда и бекенда, системного администрирования, тестирования и т.д. Это позволит выстраивать продуктивный рабочий диалог без взаимных обвинений и подозрений. Не нужно вникать в самую глубину предмета — достаточно базового учебника, онлайн-лекций и интернет-курса. Если вы реально заинтересованы в карьере разработчика, можно пройти какую-нибудь очную программу комплексной разработки ПО — там всё будет дано в умеренных объёмах, правда, чаще всего платно.

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

▍ Техно-трио, без которого в будущее не пустят

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

  1. Облачные технологии. Облако — это не только экономия и простая масштабируемость для компаний, это ещё и огромные вычислительные мощности, которые доступны любой компании (а вот собственные сервера на такие мощности практически недоступны по стоимости и сложности управления). За облачными системами наше с вами инфраструктурное будущее. Поэтому понимание и умение использовать Amazon Web Service (AWS), Google Cloud Platform (GCP) или Microsoft Azure гарантированно увеличат стоимость программиста на рынке труда.
  2. Микросервисы. Микросервисная архитектура решает многие проблемы безопасности, управления и эксплуатации высоконагруженных проектов, работы с огромными базами данных. Микросервисные архитектуры пока востребованы, в основном крупными компаниями, но совсем скоро они шагнут и средний бизнес. Спрос на программиста с таким навыком будет ещё долго (пока наносервисы не изобретут).
  3. Контейнеры (пока это конкретно Docker и Kubernetes) упрощают процесс развёртывания ПО на проекте, облегчают тестирование приложений и процесс управления зависимостями, гарантируют масштабирование на лету. И самое интересное, что в отличие от микросервисов, контейнеры используют компании любого уровня, поскольку это удобно, просто в изучении и широко распространено.

▍ Софт скиллы не дичь какая-то

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

Сейчас время коммуникаций, которые чем реже, тем ценнее, поэтому записывайте, что вам нужно прокачать:

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

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

Вообще, интересно развивается наша жизнь: я сейчас вспоминаю, какими прорывными были Google Glass, как чётко зашли Pokemon Go, как взлетели и тут же рухнули разные системы управления проектами. Это были волны хайпового спроса, спроса на трендах. Поэтому перечисленные навыки программиста в 2020 году кажутся такими «кондовыми»: они долгосрочные, а не на пару сезонов. То есть с ними можно дожить примерно до 2030 года без особого напряга. А остальной мир держится на этих слонах. Ну, а языки программирования, конечно, черепаха под слонами, основа основ.

К чему это мы? С днём программиста, друзья! Вы меняете жизнь к лучшему с помощью кода, вы делаете требования рабочими приложениями, вы читаете ТЗ между строк и знаете, что думает заказчик или тимлид. Любите свою работу, растите над ней и над собой, и пусть не будет пропущена ни одна «;». Всем hello world и меньше багов.



Мне нравится 0   Мне не нравится 0



Comments

Чтобы добавить видео с YouTube, нужно написать [@youtube=xxxxx] , где xxxxx – ID видео.


Комментарии: 0
Нет ни одного комментария.

Новое
Зал короля Артура оказался неолитическим загоном для скота 3 дня назад, 09:05
Зал короля Артура оказался неолитическим загоном для скота
15 действительно вкусных салатов с крабовыми палочками Сб 16.11.2024
15 действительно вкусных салатов с крабовыми палочками
Почему W-образные моторы уходят в прошлое, если они были лучше V-образных Ср 13.11.2024
Почему W-образные моторы уходят в прошлое, если они были лучше V-образных
Когда устал от алгоритмов: Ревью кода на собеседовании Вт 12.11.2024
Когда устал от алгоритмов: Ревью кода на собеседовании
Вирусы на Android: подробное руководство по обеспечению безопасности Пн 11.11.2024
Вирусы на Android: подробное руководство по обеспечению безопасности
Пн 11.11.2024
10 не самых очевидных причин, чтобы уволиться
Искусственный мозг против квантового компьютера: кто возьмет верх? Вс 10.11.2024
Искусственный мозг против квантового компьютера: кто возьмет верх?
10 лучших салатов с кукурузой Сб 09.11.2024
10 лучших салатов с кукурузой
10 вкусных салатов с фасолью, которые хочется готовить снова и снова Сб 02.11.2024
10 вкусных салатов с фасолью, которые хочется готовить снова и снова
Пишем одностраничное приложение с помощью htmx Вт 29.10.2024
Пишем одностраничное приложение с помощью htmx
Books
Blazor in Action Вт 04.06.2024
Blazor in Action
Год: 2022
Security for Containers and Kubernetes Вт 28.05.2024
Security for Containers and Kubernetes
Год: 2023
Designing Data-Intensive Applications Вт 14.05.2024
Designing Data-Intensive Applications
Год: 2017
Fundamentals of Software Architecture Вт 07.05.2024
Fundamentals of Software Architecture
Год: 2020
Разработано на основе BlackNight CMS
Release v.2024-11-16
© 2000–2024 Blackball
Design & programming:
AboutAdvertising
Visitors
Web-site performed by Sergey Drozdov
BlackballAdvertisingStatsПоддержка
MusicPlaylistsCinemaVideoGamesAudioDownloadsMagazinePicturesHumorForumWebsite journalSend contentFeatured