Pull to refresh

Я устал

Reading time5 min
Views57K
Создание программных продуктов – это стиль, это умение думать, понимать. Часто программистов ассоциируют с архитекторами, которые строят будущее жилище для людей, которое будет удобным, качественным и т.д.

Однажды я столкнулся с такой вакансией:

Текст вакансии

Требования:
Опыт поисковой оптимизации сайтов (SEO).
Опыт разработки с использованием LINQ, WCF, WPF, Silverlight, VBA.
Опыт работы с ORM-платформами.
Опыт командной разработки и использования систем управления версиями.
Наличие сертификатов.
Хорошие коммуникационные навыки.
Высшее техническое образование (информационные технологии, информационные системы, вычислительные системы).
Кроссбраузерная вёрстка.
Отличное знание XHTML/Javascript/CSS, Ruby on Rails, Perl, PHP, C++, Java, SQL, СУБД Oracle Enterprise, Microsoft SQL Server.
Владение графическими пакетами: Adobe Photoshop, CorelDraw

Опыт работы с различными CMS (Joomla, Drupal, NetCat, WP).
Опыт разработки и уверенное знание платформы .NET, языка C#, технологии ASP.NET и ASP.NET MVC.
Опыт работы в среде Visual Studio 2005/2008.
Отличное понимание принципов ООП.
Уверенное знание теории БД, опыт проектирования БД, опыт работы с промышленными СУБД, знание языка SQL и опыт написания запросов.
Знание принципов, подходов и архитектуры построения традиционных телефонных и IP-телефонных сетей;
Опыт участия в проектах по внедрению и сопровождению систем обработки и передачи голосовой информации;
Опыт работы с оборудованием Cisco (Catalyst, ISR/ISR G2);
Знание ПО Cisco Systems (Unified Communications Manager, Unified Contact Center Express);
Знание ОС Windows XP/2003/2008, AD, exchange, DNS, DHCP, Proxy, Firewall, MS ISA Server, Terminal Server, VPN

Провернув вверх, я увидел, что требовался «Помощник программиста».
На мой вопрос друзьям–программистам чем же он отличается от обычного (хотя, тут больше подойдет необычного) программиста я получил ответ – наличием бороды.

Давайте посмотрим: системные администраторы смогли отделиться от программистов ну хоть как-то, хоть иногда и выполняют функции первых, у них все-таки свой ограниченный круг обязанностей.

Дизайнеры вообще всегда существовали отдельной линией.

А программисты?


Универсальный программист в современном обществе — состояние нормальное.
Давайте посмотрим на требование к web-программисту: PHP (4/5) / .Net / Python / RoR, HTML (HTML5), XHTML, CSS (1-3), JavaScript, ООП, MVC, умение работать с фотошопом и по мелочи — пишу все по памяти.

Если умения работать с фотошопом часто является всего-лишь знанием вырезать-вставить, то php (или любой другой язык) — это back-end программист, который работает только с ним, по всем современным теориям того же ООП и MVC.

Знание JavaScript + HTML + CSS совмещаются еще в логическом понимании, хотя есть отдельные Front-end программисты, а есть верстальщики.

О том, что почти каждый программист имеет знания администрирования, думаю даже упоминать не стоит: настройка LAMP, WAMP, IIS для них являются нормальными знаниями с требования заказчиков, да и для собственного улучшения.

Теперь подробнее


Давайте глянем на JavaScript. Это мой любимый язык, поэтому рассматривать его мне легче.

Существует JQuery, который заменяет почти большую часть знаний языка. Да, это мощный продукт, который решает половину проблем совместимости…
Но я часто встречаю людей, которые знают JavaScript на уровне синтаксиса для работы только с JQuery и, при возникновении проблем, просто теряются, ругаются и ищут решения в интернете без возможности понимания и вникания в суть, требуя решения на их любимом JQuery.
О понимании ими таких вещей как замыкания, заимствования и декорирования нет и речи.
Они просто пользователи наработанного процесса программирования, которые демпингуют зарплаты оных, повышая требования, умения и знания.

Иногда, я забываю, что пишу под фреймворк, решая свои проблемы на чистом JS…

Поиск работы


Случилось время, когда я приехал после долгого пребывания заграницей и работы там. Мне понадобилось искать работу в России.
У меня не было особой привязки к городу/стране и т.д.
У меня есть список языков, на которых я легко программирую, есть список, с которыми сложнее, а есть список языков, которые я понимаю, найду проблему или просто их читаю.
Это я всегда указываю в своем резюме в подробном виде.
Стараюсь указывать над чем я работал, что представлял собой проект и т.д.

Первое, с чем я столкнулся — отметание неадекватных предложений и спама, а то и банального лохотрона.
В большинстве, HR просто видит знакомые слова («Java для мобильных платформ (Android и BlackBerry) — средний уровень» — у меня так и написано) и зовут на позицию Senior Java Developer.

Неумение или нежелание читать русский язык меня уже не удивляет, также как хотя бы попытаться понять, что ПК и Сервера не являются мобильными платформами (хотя, с современными тенденциями, это мнение понемногу меняется, но я все еще не представляю Windows Server с Metro интерфейсом).

Далее мне приходилось отметать позиции, где начальники не только не умели вести себя с подчиненными (от банальной фамильярности, до того, что даже «забывали» представляться).
Я на всю жизнь запомню фразу: "Я считаю, что зарплата программистов во всем мире слишком превышена и они должны понимать за что они работают и быть рады полученной зарплате" — это сказал собеседующий меня менеджер на позицию «С++ разработчик» с явной завистью к программистам в глазах — иначе я не могу это объяснить.

В итоге, я устроился в гос.структуру по рекомендации (ах, да — я без высшего образования) на достойную зарплату.

Я увидел ужасный проект. Файл генерации отчета занимал 27 тысяч строк.
Примерно это выглядело вот так:
//....
        sharedStringTable81.Append(sharedStringItem1383);
        sharedStringTable81.Append(sharedStringItem1384);
        sharedStringTable81.Append(sharedStringItem1385);
        sharedStringTable81.Append(sharedStringItem1386);
        sharedStringTable81.Append(sharedStringItem1387);
        sharedStringTable81.Append(sharedStringItem1388);
//...

Проект разрабатывался уже третий год, сменил 4 разработчиков, а последний разработчик даже не помнил о такой вещи как вывести переменную как результат обработки (да-да, банальный Response.Write(varname);). О чем говорить, если в других язык он был не силен…

Как он там работал? Да просто человека было жалко увольнять. О его способностях знали все. Больше запомнилось мне, когда он пришел ко мне с вопросом где я беру информацию (я не знал тогда C# достаточно), на что получил ответ Yandex, Google, MSDN…

А суть?


Смотря в прошлое, я понимаю, что также учился программировать, учусь и сейчас.
Но я никогда не говорил что умею все, реально оценивая свои силы, прося соответствующую, как я считал, зарплату.

Однажды я получил приглашение на работу заграницей вновь. Front-end программистом. В Норвегии.
И был сильно удивлен тому, что зарплата, после учета расходов и примерных цен, была в несколько раз выше.

И тогда я начал понимать: тут мало кому нужны профессиональные программисты — ты должен уметь все.
Да, чем больше ты умеешь, тем больше ты имеешь выбора, знаний…
Знание других технологий и решений нужно, но выполнять работу за всех — это истинно российский менталитет работодателя.

Я понимаю, что уровень входа в данную профессию низок, но уровень развития до профессионала превышает уровень требований рынка, поэтому профессионалов мало — это факт, а не оскорбление.

Кто поддерживает данный путь? Да все:
  • работодатели, которым выгодны эникейщики;
  • начинающие работники без опыта, которые не хотят набираться оным на каких-либо семинарах, самостоятельно или практике;
  • и даже профессиональные программисты, которые порой ленятся выполнять работу, деградируя до информационных охотников, блогеров и комментаторов (что уж говорить об умении объяснять)


Вывод?


А не будет вывода. Для каждого он свой. Для кого-то его нет.
Для кого-то это крик бегущего и сумасшедшего…

Но Вы часто задумывались от фразы: «Если ты такой умный, то почему такой бедный?»
Tags:
Hubs:
+90
Comments93

Articles

Change theme settings