IT умер. Да здравствует IT!

Занимаясь в свободное время балдопинанием, начал обдумывать перспективы работы в IT. Вообще, как помню, я с детства мечтал работать программистом. Почему? Наверное, считал, что это круто. Да и мама ещё говорила (она в банке работала), что программисты неплохо зарабатывают в учреждениях подобных банкам. Надо сказать, скорее всего так и есть. И в тот банке именно так и было, скорее всего.

Когда передо мной встал выбор дальнейшего направления учёбы, я особо не выбирал. Пошёл туда, где было слово “Информатика”. Как я сейчас понимаю, мой универ – не самое лучшее место для того, чтобы стать программистом, но я ни о чём не жалею. Итак, я айтишник. Это будет не техническая статья, а скорее просто отдых для мозгов. Я напишу о своих заблуждениях и убеждениях касательно сферы IT.

Котятки спасут любой материал
Котятки спасут любой материал

Заблуждение 1. Программисты хорошо зарабатывают

Здесь чётко нужно разграничить программистов и “программистов”. Коллеги по цеху меня прекрасно понимают. Теперь, что касается зарплаты. Здесь самое главное – место. Можно попасть очень круто и поднимать большие деньги, поддерживая какой-либо проект или софт. Например та же банковская сфера, думаю, весьма перспективна. Можно пойти по 1С ветке и тоже неплохо зарабатывать. Но здесь и в других ветках типа Веб-программирование, разработка игр и приложений под мобильные устройства, возникают определённые сложности.

Здесь мало создать продукт. Его ещё нужно украсить (дизайн) и (самое главное) суметь его продать. Вот тут большинство программистов (интроверты?) испытывают понятные затруднения. Продавать умеют далеко не многие. Рассказать техническим языком о том как работает та или иная функция/программа – легко. А вот описать преимущества для бизнеса именно этого продукта – ой. И всё.

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

А опыт работы в университете на кафедре дал мне понять, что умение программировать (я тогда неплохо работал в Delphi и писал на PHP, VB, Pascal, C#) вовсе не гарантирует высокие заработки. Зато опыта в плане решения проблем с компьютером у меня просто завались ).

Заблуждение 2. Нужно обязательно хорошо знать математику

Ну тут уж я совсем не понимаю, где меня обманули. Постоянно твердилось, что программисту нужно отлично знать математику! Обязательно, иначе никак. Сейчас я понимаю, что во-первых, знаю людей, которые отлично знают математику, но они далеки от программирования (как я от математики), во-вторых, как я уже сказал, я не слишком силён в этой науке, однако не так часто сталкиваюсь с проблемами на этой почве при программировании.

Вот жеж странно. Наверное математика была нужна раньше, когда многие преобразования производились в уме. Хм, да и то там только базовые операции. А может речь идёт о тех сферах, где большинство программ работают с числовыми данными? Опять же, зачем тогда её знать, если можно проверять всё при помощи других программ или калькуляторов, а решения на бумаге выдавать – ну как-то несерьёзно. То есть всё, что нужно. Может пригодится какое-нибудь преобразование провести, но опять же, это скорее исключение, чем правило. Не понимаю.

Заблуждение 3. Нужно изучать низкий уровень

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

Я не говорю о чём-то сугубо специфичном вроде кодинга под определённый процессор, написании драйверов или разборе вирусов (и подобных случаев), но в целом так и есть. Низкий уровень сейчас типичному программисту вообще не нужен. Если что-то можно переписать на ассемблере – значит это уже переписано и где-то есть.

Заблуждение 4. Айтишник нужен всегда

Это весьма свежее заблуждение. Какие перспективы у нас? Ну вот мы умеем делать что-то хорошо. Кто-то чинит, кто-то пишет код. Кто-то администрирует сети. Что дальше? Сеть постепенно стремится к своему стабильному состоянию, а код – к завершению (если админ и программист действительно хорошо делают свою работу). Да, можно изучить пару новых технологий, освоить технику, пройти сертификацию. А что дальше? Вложив массу труда (и денег) в своё обучение, нашли ли мы место, где можно применить свои знания?

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

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

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

Появляются гаджеты, интернет в каждом кармане – колоссальные возможности для самообразования. Ан нет, смотрим паблики и ставим лайки сис#кам. Простите, вырвалось.

Да, а у каждого дома по компьютеру и опыт обращения с этим уже не настолько страшным (как раньше казалось) устройством есть практически у любого… такие вот дела, товарищи. Вымрем скоро, если не освоим что-то особенное.

… Если у кого-то ещё были какие-либо интересные заблуждения на счёт IT – пишие, с удовольствием обсудим и дополним статью!

Интересно? Поделись с другом
Litl-Admin.ru

Comments:

Comments: 6
  1. khomyachok

    У меня были точно такие же заблуждения, пока я не понял, что заблуждался дважды. Вопрос весь в том, о ком идёт речь. Если мы говорим о постсоветском понятии “программист”, мутировавшем из празднослоняющейся очкастой публики бесконечных разваливающихся НИИ конца 80-х, тогда да, всё верно. Беда только, что по мировым меркам 80% программиздов-программаторов СНГ это бездарности, сброд и неучи, которым надо в комментарии к коду вставлять анекдоты и котиков в ASCII, чтобы их последователи не выследили их после увольнения и передачи дел в тёмном переулке с топором.

    Золотой век IT мало того, что не кончился, он, похоже, ещё не начинался. Да, хоть мы уже лет десять как не первые машинисты на первых паровозах, не Эдисоны и не Циолковские, но бум IT не спадает по-хорошему уже 30 лет, с момента изобретения PC. Он только подогревается и пузырится то Интернетом (dot-com collapse, привет), то социальными сетями, то созданием абсолютно нового рынка мобильных устройств, теперь же все копят Big Data, чтобы через 10 лет ИИ буквально угадывал наши желания. И это ещё не конец, в 2020-м году в США будет дефицит программных инженеров в миллион рабочих мест, а их не заместишь индусско-китайским ширпотребом.

    Если мы говорим про такую специальность, как Software Engineer, то у неё всё прекрасно и радостно. Только Software Engineer это работник индустрии, со стандартами, с опытом, с образованием, неплохо было бы и PhD получить – словом, это не тот “программист”, перспективы работы которого весьма и весьма туманны. Программисты, способные сляпать сайт или настроить 1С, перейдут в категорию электриков, а то и вовсе уйдут с рынка, будучи замещёнными автоматизированными сервисами. Что делать? Быть тем, кто участвует в создании этих автоматизированных сервисов, нас везде так или иначе заместят машины, так не лучше ли начать заниматься созданием машин как можно раньше.

    Идём дальше, про уровень и компетенции “программистов”. С какой стати у всех них должны быть какие-то перспективы? У 80% бухгалтеров и адвокатов ровно так же нет никаких перспектив, и это нормально. Перспективы есть у самых лучших, и чем в меньшей процентили лучших вы находитесь, тем эти перспективы обширней. Перспектив у любого наёмного “ойтишнега” три: бизнес-аналитика, управление проектами и инженерия. Я говорю в данном случае именно про инженерию, потому что остальные две области мне лично малоинтересны.

    А теперь выблуждаем заблуждения:

    1) Учитывая всё вышеперечисленное, опытный и не сидящий на заднице программный инженер (в первую очередь инженер! А не “программизд”) в топовых конторах в Москве (да, в основном это банки, к сожалению) может получать до 200 тысяч, находясь на позиции лида или системного архитектора. Синьор левел – до 150 особо не утруждаясь. Ещё раз повторюсь, это топ 10-20% всей рабсилы ойте дармоедов-обезъян, именующихся программистами. Топ 1%, работающий в филиалах западных IT-транснационалов или в каких-нибудь Быдлоклассниках-Вконтактиках получает больше, но это звёзды, победители мат. олимпиад и прочее. Это можно сравнить с любой отраслью: топ 10-20% бухгалтеров уходят в финансовый анализ и аудит, где платят соответствующие деньги, инженеры материального мира тоже не бедствуют, где-нибудь в оборонке, других заводов в РФ особо нет. То же и с юристами, словом, 100% людей не должны жить хорошо, это несправедливо.
    Так что настоящие профессиональные разработчики, не мартышки-кодеры из Бангалора, получают прилично. А если кажется, что мало, то лучший способ повысить зарплату это новая работа – у меня всегда прокатывало.

    2) Теперь про математику. Я лично к IT прибился случайно, как как дворовая псина, и очень жалею, жалею, что не получил базового фундаментального, где-то даже ещё советского, математического образования. Математика тренирует мозг на такие уровни абстрактного мышления, на которые не способен больше никто («Давида Гильберта спросили об одном из его бывших учеников, где он. “А, такой-то? — вспомнил Гильберт. — Он стал поэтом. Для математики у него было слишком мало воображения.”»). Много я встречал идиотов, которые именовались “программисты”, но ни одного идиота я не встречал с МехМата МГУ или МатМеха СПбГУ. Ко всем этим людям я испытывал глубочайшее уважение, немного зависть и чему-то у них учился, хоть некоторые и были моложе меня лет на пять. Будучи изначально математиком, можно стать кем угодно, от скульптора до физика. Будучи изначально даже программным инженером, можно стать, ну, чуть лучшим инженером, не более. Не зря математика – царица наук, и уж тем более не зря нерешённые её теоремы по степени безумия и упоротости могут сотрудничать только с современной физикой второй половины 20-го века. Поэтому нужно хорошо знать математику, например, сейчас все начали усиленно заниматься кибербезопасностью, кто туда попадёт первым? Математики.

    3) Нужно изучать низкий уровень, это похоже на математику. Можно его не использовать, но изучать нужно – уже не надо прямо программировать на ассемблере, но понимать, что происходит внутри машины, когда ты с ней работаешь. Особенно важно, если работаешь на N-цатом виртуализированном уровне в динамическом скриптовом языке и среде. Опять же, топовый 1% программных инженеров без этого не обходятся, например, Facebook написал собственный транслятор PHP кода в C++, потому что скорости интерпретатора им не хватало, и наоборот, сейчас можно C++ транслировать в подмножество JavaScript, но для всего этого нужно если не знание и опыт низкого уровня, то хотя бы понимание. Все высококачественные и революционные программные продукты для массового потребителя без низкого уровня не обходятся в принципе из-за высоких нагрузок, это и поисковые движки, и виртуальные машины мобильных устройств, и Chrome с V8, я уже не говорю о банальных низкоуровневых приложениях вроде бортовых систем или физических мат. моделей. Для корпоративного, кстати, тоже: Microsoft Windows, Linux, Oracle Database, Java VM. В конце концов, Керниган и Ритчи не поймут (один в гробу перевернётся), и Тьюринг вместе с ними.

    4) Как вывод из трёх предыдущих: профессионалы нужны всегда. Хоть 7% ВВП Индии и занимает IT-аутсорс, высококвалифицированных Software Engineers (ещё и адекватных, чтобы социальные скилы были не как у табуретки) по-прежнему мало и будет мало всегда. Надо просто каждый день учиться и смотреть по сторонам, ну и заниматься тем, чем нравится и хочется.

    1. litladmin (author)

      Очень интересный и содержательный комментарий. И мне не с чем спорить, только вот некоторые нюансы есть. Насчёт безопасности – отчасти это криптография. Криптография тесно связана с математикой. Но насколько человеку нужно хорошо знать математику, чтобы применять криптографические схемы и алгоритмы? Не достаточно ли будет изучить стандарты (ГОСТ, DOD и т.д.), чтобы уже уметь этим пользоваться? Ведь не нужно каждый раз изобретать велосипед, переписывать алгоритм с нуля.

      Далее, говоря о низком уровне мы опять же видим скорее исключения, чем правила. Кто пользуется низким уровнем? Хакеры и “околожелезные” разработчики. Конечно, создаются компилируемые варианты php (слышал у ВК тоже что-то подобное есть), но опять же, это единичные случаи, когда нужно выработать максимум производительности. Примерно прикинем сферы, где это применяется? Ну положив руку на сердце – от силы 1% если наберётся таких задач. А теперь подумаем, каковы наши шансы попасть в тот самый ТОП программистов? Говорю за себя – lim -> 0.

      А то, что пройдёт десяток лет и всё будет иначе… ну раньше тоже думали, что в 21-ом веке будут трамваи до Луны ходить, но как-то не сложилось. Я думаю, что развитие будет, но гораздо медленнее ожидаемого. И наверное всё так и будет, как вы сказали – что “массу” программиздов заменит софт, написанный профессионалами. Скорее всего да. Но ведь будут городить такие вещи, которые нужно обслуживать именно низкоквалифицированным рабочим. Не может существовать общество, где все будут высокопрофессиональными разработчиками с зарплатами под 150-200тыр.

      1. khomyachok

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

        Про низкий уровень, почему он меня так увлёк и почему он нужен. В топ 1% можно и не попасть, но можно к нему стремиться, а иначе вы будете только отдаляться, ведь наши индийские друзья тоже на месте не сидят. Например, огромным плюсом при приёме на работу является участие в open source проектах, некоторые прямо заходят на ваш GitHub аккаунт и смотрят, чем вы занимаетесь. Хардкор ли это и 1%? Не думаю, но весь топ горячего open source, как V8, node.js, Redis какой-нибудь, ну и банальное ядро Linux, это C/C++, ну разве что JavaScript ещё в моде, потому что веб-девелопмент на пике.

        Мне сложно вас понять, поскольку IT-реалии РФ мне неизвестны (Москва != РФ), но за карьерой в любой области надо валить в Москву или из страны, кроме углеводородов.

        Я не знаю, кто раньше думал про светлое космическое будущее, советские пионеры не в счёт. Будет ровно то, что приносит бабло, а IT стабильно и давно приносит его ж/д составами, и обещает его ещё больше, просто надо за ним успевать, то есть повышать квалификацию, потому что вся чёрная работа будет полностью отдана на аутсорс в развивающиеся страны.

  2. Сергей Перехода

    Коллеги, какие мысли! Предлагаю диалог перенести в статью, очень интересно читать.

    1. khomyachok

      Мой коммент опубликован под лицензией WTFPL, делайте с ним, что хотите :P

      1. PrihoD
Leave a Reply