Прошлую свою статью я написал по наитию и не думал, что она найдет столько откликов; считал, что её даже не пропустят из песочницы.
Два вопроса, которые, исходя из обсуждений, хочу раскрыть: что такое хороший программист и актуальны ли сегодня хакерские навыки и стиль мышления, или же хакер стал проблемой для бизнеса и токсичным «элементом».
Для начала, мысленно обращаясь к аксакалам, предлагаю вспомнить, что нас вообще привлекло в программировании? Когда мы с красными глазами сидели ночами за компьютерами, даже не понимая, как на этом можно заработать. Никто тогда не знал таких волшебных слов, как FAANG, синьор, бесплатный сок и скрам-митинг.
Думаю, не ошибусь, если скажу, что многих вдохновляла идея о том, что компьютер — это универсальное средство для избавления от рутины. Фактически, программист по определению — это человек, который стремится избегать рутины в своей жизни. Следовательно, качества хорошего программиста — это умение срезать углы, решать сложные задачи в условиях неопределенности и находить решение там, где другие следуют стандартным схемам. Программист — это, по сути, мета-инженер, инженер инженеров, голубая мечта которого — оставить в своей жизни только чистое творчество, передав всю рутину машинам.
Некоторые ехидно возражали мне, мол, спектрум-бейсик остался в прошлом, и такие задачи уже не актуальны. На собеседованиях у меня часто спрашивают, какими проектами я горжусь. Конечно, я всегда отвечаю, что горжусь вовремя выполненными задачами в Jira, но на самом деле могу привести пару других примеров.
Первый — это когда мне понадобилось получить справочные данные для проекта, которые были зашифрованы в стороннем проекте. Не обладая большим опытом в дизассемблировании, я все же через WinDbg и HexRays выяснил, что для дешифровки используется ключ из соседней колонки, но ни один из массовых алгоритмов дешифрования не подходил. После пары дней раздумий я написал сканер бинарного кода, который выделял последовательности констант, и, найдя её через поисковик, обнаружил алгоритм в заброшенной ветке GitHub. Это была победа — тот самый элемент творчества, о котором «войтивайтишники» не слышали.
Второй пример — падение посещаемости через поисковики на мой собственный проект. Изучив сайты схожей тематики, я понял, что один из владельцев активно пиарит информацию, которая мне казалась незначительной. Проанализировав структуру его сайта, я увидел, что он содержит огромное дерево ссылок, ведущих к этим данным. «Хм, видимо, это не случайно», — подумал я. Попросил GPT написать сканер данных, используя определенные теги, натравил на сайт… Доступ запрещен. Хорошо, GPT, предложи решения для обхода защиты. Теперь напиши скрипт, определяющий структуру таблиц и формат данных… Теперь создай маппинг, репозиторий и контроллер. На Angular напиши сервис и таблицу для отображения данных. Применив современные стили, сделал так, чтобы таблица выглядела стильно и современно. Результат — два вечера работы, и особая гордость: почти не заглядывая в код, я перенес функционал конкурента, на разработку которого у него, похоже, ушли месяцы и команда людей. Для меня — плюс 500 целевых заходов в сутки.
Очевидно, что такие хард‑ и софт‑скиллы сейчас оцениваются работодателем как токсичные. Бизнесу нужно совсем другое. Продукт создаёт бизнес, а программист поддерживает код. Задача программиста (точнее, кодера) — не убирать рутину из жизни, а наоборот, стать частью чужого рутинного процесса. Работодателя интересует не то, как вы виртуозно срезаете углы, а то, насколько вы безотказны, надёжны и взаимозаменяемы.
Комментарии (67)
artemmoscow Автор
30.10.2024 10:59Хотел сказать что личные и профессиональные качества которые ценишь в себе прямо перпендикулярны тому, что нужно современному работодателю. По моим убуждениям хороший специалист, это тот, которые решит любую задачу из подручных средств, найдет решение там, где другие не видят. Если войтиватишника попросить ломануть чужую базу или поднять посещаемость сайта за одну неделю в 2 раза, он будет с открытым ртом лупать глазами и говорить что в джире нету такой таски, зато он такой модный стильный молодежный на зубок знает синтаксис новейших стрелочных функций. А решать плохо сформулированные сложные задачи в условиях неопределенности - нет, это не для него.
nronnie
30.10.2024 10:59качества которые ценишь в себе прямо перпендикулярны тому, что нужно современному работодателю
Вообще-то они абсолютно всем похер - кому какое дело что вы там сами в себе цените :D
denismartyanov
30.10.2024 10:59Видимо я вайтишник, потому что если мне скажут "поднять посещаемость сайта за одну неделю в 2 раза", я отвечу "Ты с ума что ли сошел, это не моя работа, ищи себе SEO или маркетолога".
artemmoscow Автор
30.10.2024 10:59кому ты скажешь, если хозяин сайта - ты сам?
denismartyanov
30.10.2024 10:59Так вы вроде про работодателей пишете в комментарии и что кто-то "войтиватишника" просит, откуда там свой сайт взялся?
artemmoscow Автор
30.10.2024 10:59вы перечитайте что я пишу. Где я писал, что работодателю нужен хороший программист, покажите это место
denismartyanov
30.10.2024 10:59Хотел сказать что личные и профессиональные качества которые ценишь в себе прямо перпендикулярны тому, что нужно современному работодателю
Вот вы пишите про работодателя.
Если войтиватишника попросить ломануть чужую базу или поднять посещаемость сайта за одну неделю в 2 раза
Вот вы пишите что кто-то просит. Видимо, это работодатель и есть, потому что если это мой проект/сайт, зачем и как мне самому у себя просить?
artemmoscow Автор
30.10.2024 10:59если заменить "попросить" на "встанет задача" - вас устроит формулировка?
denismartyanov
30.10.2024 10:59Да, так будет понятно.
Впрочем, на мой взгляд задачи вида "поднять посещаемость сайта" это всё же не задачи программиста, и никак не говорят о его уровне. Разделение труда придумали не зря, и специалист должен прежде всего разбираться в своей области.
artemmoscow Автор
30.10.2024 10:59Ну что сказать, если для вас "польза для компании" достаточное условие для самореализации, я за Вас рад. Мне внутри себя безразлично кто и как меня оценил, мне более важно понимание что я могу решить даже самую неочевидную проблему без инструкции, а уж насколько я выгоден как работник.. лишь бы самому капало. Но у вас может быть другая картина мира.
denismartyanov
30.10.2024 10:59Ну для меня работа вообще это для зарабатывания денег на жизнь и хобби, и меня в общем-то не сильно волнует насколько я выгоден компании (если мне платят устраивающую меня заработную плату). Конечно я стараюсь делать свою работу качественно, потому что качественная работа - это меньше усилий для поддержки/дополнений в будущем, меньше стресса из-за каких-то ошибок, меньше проблем от пользователей, и лучшее отношение ко мне, но именно "польза для компании" для меня мало значит.
Видимо у нас и правда просто разные картины мира, потому что программированием я никогда не горел - программистом я стал потому что это по совокупности наиболее простая для меня область деятельности, заниматься которой более-менее интересно и с наименьшими стрессами.
MasterMentor
30.10.2024 10:59Я тоже не понял какие претензии к бизнесу? Бизнес выставил условия и ценник. Хочешь - работай, хочешь - нет.
И условия его не "от балды" - а жизнь такая. А то, что Ваши ожидания не совпадают с требованиями бизнеса - такое бывает.
И, кстати, хороший совет от @Thomas_Hanniball
Если хочется программировать для удовольствия, не беспокоиться о качестве разработки и вечных дедлайнах, то сделайте программирование своим хобби.
Почему IT такое, какое оно есть https://habr.com/ru/articles/707436/ЗЫ А что за сайт? Ссылку в студию!
artemmoscow Автор
30.10.2024 10:59Да но нужно понимать что бизнес никакой вам не друг, и ваше настоящее развитие - это деградация для бизнеса и наоборот. Ссылку могу в личку дать, не хочу оставлять цифровой след, тем более что клиентов тут я не найду
MasterMentor
30.10.2024 10:59нужно понимать что бизнес никакой вам не друг
Мне кажется, нужно очень сильно стараться, чтобы это не понять.
Да, давайте в личку.
artemmoscow Автор
30.10.2024 10:59я не уверен, что все это понимают. на работе по сути не программирование, на работе - заработок денег согласно устроенному кем-то бизнес-процессу. Печально, когда на самооценку людей влияет их текущее положение на рынке труда. По факту же есть 2 более релевантных критерия - сколько ты заработал и отдельно какой сложности задачи ты решаешь. Оферы и похвала руководства - это фикция.
FurySeer
Резкий скачок от ассебмлера к gpt в соседних абзацах, при этом что там творчество, что тут гордость. В финале - снова что-то про токсичность.
Что хотел сказать автор?
artemmoscow Автор
так нету резкого скачака. что то что другое просто инструмент для решения задач.
Thomas_Hanniball
Что он уже старый и никому не нужен на современном рынке труда, поэтому всё, что ему остаётся - это ностальгировать, что раньше было лучше, деревья выше и зеленее. Единственное, чем он может гордиться, это скромные достижения эпохи палеолита, когда были ещё живы мамонты и динозавры.
artemmoscow Автор
Не волнуйся, ты тоже будешь не нужен уже очень скоро. Со всеми твоими знаниями синтаксиса и написанием юнит тестов легко справится ИИ. Я свой проект с asp.net pages перевел на ангуляр всего за 2 месяца, а там было на минуточку 0.7 мегабайт кода на форнтэнде. Причем ангуляр учил походу. Но ты можешь опять остроумно пошутить про спектрум бейсик. Да и не так уж и много лет мне
MasterMentor
Рекомендовал бы остыть. Грубость здесь не любят. Быстро нахватаете минусов в карму.
(По-моему это была шутка, в которой, как известно, есть только доля шутки.)