Истории с тегом: мысли о вечном

Всего историй: 830

9915

Тулкит этой недели

Вот интересно, как меняется наша жизнь. Лет пятнадцать назад для платформы Windows было два десятка сред программирования: хочешь — MS Visual Basic, хочешь — Visual C, хочешь — продукты Borland, а там и Delphi и всё тот же C++. Не хочешь их — возьми поменьше. Плюс ещё живы были среды разработки под DOS. И каждая среда таскала свои библиотеки, не всегда совместимые друг с другом; DLL hell выглядывал из-за каждого обновления и мерзко хихикал над программистом. А тулкиты? Оставшиеся в наследство от старых версий Win.G, новые Win32s, ещё более новые дополнительные контролы, свои собственные в тех же Delphi или Visual Basic. Работать невозможно.

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

Сейчас же под Android написана и портирована куча библиотек, не всегда правильно друг с другом работающих, плюс сама платформа развивается настолько быстро, что тут старые системные средства отрисовки интерфейса соседствуют с новыми. Сред разработки я уже знаю минимум три, наверняка есть что-то ещё. И совсем другая история — Windows Phone, под которую, по сути, один тулкит, один компилятор и одна IDE.

Чем распространённее платформа, чем больше возможностей она предоставляет, тем больше под неё средств разработки и тем сложнее под неё писать. Можно, конечно, свалить с Android на Windows Phone. Можно. Только пользоваться твоей программой будут те три с половиной гика, которые купили смарт Nokia по старой памяти. Хочется писать для маленькой и стройной платформы — попиши лучше для MenuetOS, там вообще всё красиво, а главное — приложения не тормозят, всё на ассемблере. И пользователей — три человека во всём мире.

9880

Каждый охотник обязан знать

Дизайнер криворукий, бухгалтер бестолковый, менеджер тупой, комдир глупый? Да потому что так и есть! Они обязаны знать эти вещи, это входит в круг обязанностей. Не просто нажимать на кнопки, которые сумел запомнить, а знать, что делаешь. Когда ищешь работу, а в списке требований есть новая для тебя технология, ты же понимаешь, что тебе её придется выучить? Скажем, на прошлой работе всё делалось на Yii, а тут Zend. Что делать? Учить. Если нет, то искать другое место. А бухгалтерам, значит, можно плевать на свои обязанности?

Наша девочка-бухгалтер прекрасно управляется с клиентом 1С, причём лучше, чем админ или программеры. Она сама способна нажать «any key». Это её обязанность, это те требования, которые были в описании вакансии.

Наш босс постоянно приходит после обеда, часто с перегаром. Он тупой? Нет. Каждый понимает, что он босс. Что у него огромный опыт. Стоит к нему обратиться — и он разжуёт вещи, которые изначально казались архисложными. А будет аврал — он присоединится к нам и будем до трёх утра доделывать проект, чтобы его сдать вовремя. Кто, если не он, после попойки в честь нового офиса будет сидеть до трёх, поднимая сервер важного клиента? Поэтому он вызывает уважение, и никто никого не ругает.

Настоящий специалист не вызывает раздражения, потому что знает все свои инструменты работы идеально (или стремится к этому), а не зовёт на помощь каждые полчаса и не тупит неделями.

9855

Я не хочу ничего решать, я хочу работать

Вы привыкли видеть работу любой организации только со своей стороны. Не спорьте — я знаю. Попробуйте посмотреть со стороны других сотрудников.

Менеджер. Не тот, который управляющий, а наш, российский менеджер, то есть специалист по нажиманию кнопок в своей программе. Он не хочет разбираться в компьютере, выяснять, что означает фраза «спулер драйвера принтера», он хочет кофе и зарплату. Поэтому он просто нажимает на кнопки, которые сумел запомнить, чтобы программа позволила ему сделать его работу. А если программа не позволяет делать работу, он зовёт сисадмина. И ваша задача — сделать так, чтобы не слетал драйвер, не переполнялся спулер, печатал принтер, сканил сканер.

Бухгалтер. Любимый сисадминский антигерой. Как правило, существо совершенно бестолковое и глупое, так? А вот и нет: бухгалтерия полна тонкостей и сюрпризов, и в то время, пока вы путаете платёжку с накладной, бухгалтер вынужден разбираться в тонкостях применения разьяснений ЦБ о порядке проведения проводки 22У по счёту 84 субконто субсчёта 2 после 12 числа прошлого месяца. Примерно так. Он не хочет разбираться, почему не работает банк-клиент, он хочет печеньку и чтобы платёжка прошла. И ваше дело — обеспечить.

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

Наконец, генеральный. Его дело — организация работы всех остальных. Решать, с каким клиентом стоит вести работу, а какой принесёт одни лишь убытки; куда направить средства — на закупку ещё одного принтера, на премию менеджеру, успешно заключившему крупную сделку, или на оплату услуг более квалифицированного дизайнера; расширить штат сотрудников, изыскивая помещения и деньги, или увеличить эффективность существующих, перестраивая бизнес-процессы? Он не хочет выяснять, почему отделы жалуются на айтишников, он хочет, чтобы всё работало без сбоев.

Если какая-то программа кривая и неудобная, это пламенный привет программистам-быдлокодерам. Но всё остальное — это вы, сисадмины. Вы же умные, с интеллектом. Вот и делайте.

Регулярно глючит железо? А не надо было закупать всякое дерьмо подешевле, выкраивая на новую крутую видюшку для админского компа.

Тупят принтеры? Надо было брать классические модели с PCL или PS — глюков на порядок меньше.

Вешаются сервера и программы? Посмотрите на более надёжные аналоги. Ну и что, что незнакомое — вы же умные, разберётесь при желании.

Дизайнер криворукий, бухгалтер бестолковый, менеджер тупой, комдир глупый? Идите на их место, получайте их зарплату, работайте. У нас вроде бы никто наличия клейма гильдии не требует.

Не хотите или не берут? Тогда вернитесь в админскую и занимайтесь уже своим делом.

9853

Трудно быть богом

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

Как правило, это молодые люди, проработавшие год-два и возомнившие себя богами. Программисты, запомните одну вещь: рекрутёр не обязан разбираться в тонкостях вашей работы. Это обязанность того, кто будет проводить с вами техническое интервью. Мы же знаем основные требования и проводим с вами беседу общего характера, чтобы составить впечатление о вас как о личности. Вам это не нравится? Вы считаете, что вам дадут огромную зарплату просто так? Что компании не важен ваш психологический портрет? Что мы будем каждого, кто программировал на С++, допускать до руководства? Ну-ну.

Открою вам великую тайну. Технические навыки — лишь один из критериев оценки. Ваши вопли из серии «зачем мне общаться с HR (или агентством) и терять время» приведут только к скорому попаданию в чёрный список.

Ты годик-два программировал? Ты знаешь базы данных? Ты очкастый задрот, от которого плохо пахнет? Да-да, на собеседования часто приходят именно такие, с запахом и знанием C# .NET. Мы все сейчас упадём перед тобой на колени и предложим тебе 100 000 рублей на руки. Угу. Вот только сильнее разбежимся.

Задротики до 25 лет, считающие себя царями вселенной, вас много. Правда много. И это нам есть из чего выбирать, а не вам. Гонор, пафос и амбиции оставьте при себе. Вы стоите не больше 40 000. Можете сколько угодно претендовать на другие суммы и сидеть у мамы на шее, пока ищете работу.

Вот мне интересно: почему финансовый директор, которому мы с радостью готовы предложить не менее 200 000 рублей, подробно объясняет тонкости своей работы, вежливо общается, ведёт себя уважительно? Почему директор юридического департамента (500 000 рублей в месяц) отвечает на все вопросы, улыбается, уточняет малейшие детали? И почему ты, с твоим ничтожным опытом и неумением связать слова, смотришь на рекрутёра как на ничтожество из-за того, что он задал тебе уточняющий вопрос по C#? А я знаю почему. Потому что ты не понимаешь бизнес-процессов, не видишь разницы между рекрутёром и техническим специалистом. У тебя в голове только мониторы и код. И знаешь, судя по твоей внешности и зажатости, тебе не дают девушки.

Форумы — вот уж где айтишники поливают нас грязью! Мы, видите ли, не разбираемся ни в чём, мы пишем их высочествам письма и звоним (странно, резюме же размещено два дня назад), лезем со своими ненужными вопросами. «У меня же в резюме всё написано!» Ну да: «SQL Server 2005». А нам важно узнать, сколько было записей в базе, с которой ты работал, что ты конкретно делал, какие писал запросы. Может, это был лишь вспомогательный инструмент. Этого в твоём резюме не написано.

Айтишники, запомните: вы не боги. Вы обычные специалисты. И то, что ваша область довольно сложна для понимания, не значит, что нужно хамить, строить из себя всезнаек и выпендриваться. Сколько существует типов интервью? Какие есть в психологии метапрограммы? Что такое локус контроля? Что такое интервью по компетенциям? Какие есть источники поиска? Что такое executive search и чем он отличается от headhunting? Вы это знаете? Не знаете. Но мы же не смотрим на вас из-за этого как на дерьмо.

Оглянитесь вокруг, задроты с опытом в пару лет. Вас на hh.ru как грязи. И если ты хамишь, ты просто не получишь работу. Всё просто: если ты хамишь на собеседовании мне, ты будешь хамить своим будущим коллегам, и твоё знание программирования уже не сыграет никакой роли. Удачи в поиске работы!

9849

Семь раз отмерь, один скомпилируй

Читаешь код, напичканный красивыми решениями, и диву даёшься. После недели непрерывной отладки оказывается, что нагромождение сложнейших конструкций даёт десяток ошибок на пути исполнения. Работает это всё только потому, что ошибки каким-то хитрым образом компенсируют друг друга. Не обрабатываются, а именно компенсируют. Да и то только до той поры, пока за компьютер не сядет какой-нибудь дотошный пользователь. На бумаге всё получается красиво, а на практике хочется повеситься.

Ещё одна проблема: наворотит программист супермегаконструкций, а потом, когда приходит пора немного расширить код, оказывается, что применённые конструкции настолько жёсткие, что добавить в них что-то не представляется возможным. Я работаю в поддержке системного ПО на одном из мейнфреймов. Таких конструкций я насмотрелся столько, что три, десять, пятьдесят раз подумаю, прежде чем вносить исправления. Ведь я точно знаю: после меня этот код тоже кто-то будет читать, и этот кто-то может проклясть меня, а может сказать спасибо.

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

Сначала подумайте. Потом подумайте ещё раза три. Потом нарисуйте то, что вы придумали, потом на недельку положите это в стол — и уже потом пишите. А еще читайте Макконнелла. Даже если вы знаете его наизусть, всё равно читайте.

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

9844

In your humble opinion

Дорогие друзья, почти что коллеги! Позвольте представиться: дизайнер-разработчик с функциями менеджера, который сделал карьеру до коммерческого директора крупной московской компании. Хочу обратиться к большинству гордых тружеников IT. Задолбали вы, всезнайки!

Я прекрасно понимаю, что объём знаний, которым вы обладаете, даёт вам повод для гордости, а знание объектно-ориентированного подхода к программированию и глубокие познания в языках высокого уровня позволяют вам смотреть на всех свысока. Но позвольте опустить вас на грешную землю. Вы — не пуп земли и не ключевой сотрудник в компании. Вы помогаете оперативно решать «проблемы нажатия кнопочек» людям, которые не сильно владеют компьютером, и работаете с сервером.

Если вы считаете, что менеджер неправильно ведёт переговоры, и вообще он должен искать другого партнёра, а не договариваться с кем-то, это ваше личное мнение.

Если вас не устраивает, как дизайнер сверстал листовку, и вы считаете, что это хреновая реклама, это ваше личное мнение.

Если политика ведения дел коммерческого директора с образованием MBA, на ваш взгляд, ничем не обоснована, это ваше личное мнение.

Как вы понимаете, ключевое слово здесь — «личное». В большинстве случаев мнение вы обязаны оставить при себе. Берите пример со своих коллег по цеху, 1C- и SAP-программистов хотя бы, которые прекрасно понимают, чем они занимаются в компании. Ключевые сотрудники — главный бухгалтер и начальник отдела юристов. Запомните это, ибо, судя по опыту общения, достали вы далеко не меня одного.

9765

Вот барышня и вся тут

Я та самая сферическая девушка-админ в вакууме. Без маникюра, причёски, макияжа, дорогого парфюма и каблуков. Часто говорю о себе в мужском роде. Гей-порно не смотрю, предпочитаю «Доктора Хауса». Нет, мне не стыдно, что на фоне мальчика с накрашенными ногтями я похожа на серую мышку. Выгляжу я нормальным рокером — с косухой, рюкзаком, татуировками и коротко стриженными волосами. Неопрятность вообще не из этой оперы. Сложно оставаться при полном параде, ползая под столами с витухой в зубах, но гигиену никто не отменял.

Я не жалуюсь на отсутствие личной жизни — её у меня просто нет. Не хочу. Работа в IT подразумевает наличие какого-никакого, а интеллекта. В связи с этим гипотетического партнёра оценивать получается по единственно важному параметру — уму.

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

Привлекательный и интересный с точки зрения большинства человек подразумевает «прелесть какую глупенькую» девушку, кругозор которой ограничивается знанием меню в модном ресторане, героев «Дома-2» и умением «быть в тренде». У Салтыкова-Щедрина есть цитата старого вояки Стриженого: «Конфекты, духи, помада… вот барышня и вся тут!» В пересчёте на современные реалии — айфон, «Вконтакте», «Космо».

Итак, умеющих поддерживать разговор, к сожалению, единицы, вне зависимости от того, обсуждаем ли мы мотоциклы, сборку аудиосистемы в домашних условиях или последний фильм Альмадовара. Вот и приходится общаться с такими же «свитерами», беседовать о прикручивании FCoE к ESX и до потери пульса спорить на тему того, что круче — винда или линукс.

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

Секс? Найти себе партнёра для удовлетворения физиологической потребности несложно, а ради стейка не стоит покупать целую корову.

Семья? Я не считаю возможным совместное проживание с человеком, не способным к интересному общению.

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

9751

Доработка напильником на микроскопическом уровне

Сегодня восстанавливал загрузчик после очередной установки «хрюши». Дабы удостовериться в результате до перезагрузки, лазаю по мелким программкам, blkid посмотрел, зашёл в дисковую утилиту.

Поразил меня GParted. При изменении размера раздела есть чекбокс с интереснейшей подписью: «Округлить до цилиндров». Конечно, основы дискового строения я знаю: цилиндры, секторы, кластеры и т. д., но складывается впечатление, что ext4 разбивает на параллелепипеды, а уж потом скругляет.

9716

90% магии

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

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

«Юзеры» — люди, которые живут как по известной картинке: 10% интерфейса, 90% магии. Для них существуют события, поступки и их, юзеров, на эти события реакция. Но они не хотят понимать, почему и как случилось именно это. Вот только порой невозможно, не разбираясь в деталях, правильно отреагировать на то или иное событие. И тогда «юзеры» обращаются к «программистам».

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

Нельзя быть одновременно и «юзером», и «программистом». Это зависит не от того, можете ли вы самостоятельно понять поступки человека или что-то вроде того. Это зависит лишь от желания понимать. А значит, что как «юзер» может стать «программистом», так и наоборот.

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

В качестве хэппи-энда скажу: юзеры и программисты, будь то cфера IT, медицина или лингвистика, всегда нужны друг другу. Вы — две части одного целого. Помогайте друг другу и будьте счастливы.

9714

Всеобщая айтишная обязанность

Вова проснулся от громкого крика: «Команда, подъём!» За три месяца этот мерзкий голос старшего (или, как его правильно называть, тимлида) Вове уже опротивел. Ему опротивела эта комната, ему опротивел старый компьютер, которым ему разрешали пользоваться, ему вообще опротивели все компьютеры и информационные технологии. Он уже много раз проклял того, кто всё это придумал. Всю жизнь Вова хотел быть учителем и работать с детьми.

Еще один день Вове предстояло заниматься странной, бессмысленной работой. Обычно Вова и его товарищи просматривали письма со спамом и заносили IP-адреса отправителей в огромную базу спам-фильтра. Иногда их заставляли протягивать какие-нибудь кабели, причём часто после окончания работы сразу следовало указание протянутый кабель убрать. Иногда начальство требовало переносить содержимое одного сервера на другой. Делать это тоже требовалось вручную, из консоли, по одному файлу. Тех, кто пытался облегчить себе жизнь, копируя целые папки или как-то автоматизируя свою деятельность, строго наказывали. Наказывали не только того, кто «провинился», но и всю команду сразу. Считалось, что это поддерживает дисциплину. В дисциплину также входила например, расстановка мышек и клавиатур по одной линии после работы. Иногда на это уходило полчаса, а то и час, ведь провода должны были также лежать одинаково.

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

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

Вова тяжело вздохнул и начал подниматься. «Надо было давно уехать из этой страны», — думал он.