Языки, культура и сторонние проекты не делают реальностью

Я тоскую по временам настоящих программистов. Не те жалкие оправдания для программистов, которые есть у нас сегодня, которым нужны такие вещи, как IDE, GUI и API, а программисты, которые знали, как программировать, как настоящие гики, спорящие с 1 и 0 или живущие в vi и Emacs. Они определенно не писали на так называемых интерпретируемых языках, таких как JavaScript, Ruby или Python. Ни за что! Настоящие программисты компилируют написанный ими код на настоящих языках, таких как C++, Java и Haskell.

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

Несколько недель назад разработчик в Твиттере взорвался возмущением понижением в должности фронтенд-инжиниринга. Тоби Лютке, основатель и генеральный директор Shopify, вызвал дебаты своим комментарием:

«100 % не должно быть такого понятия, как разработчик внешнего интерфейса вне контекста супермладших. Все разработчики должны продумать все уровни, на которых они работают, чтобы быть эффективными».

Твиттер был не лучшим местом для выражения нюансов, и Тоби подвергся нападению разъяренной толпы за плохо сформулированное мнение. В его твите было некоторое зерно понимания того, что разработчики должны лучше понимать, как их код взаимодействует с другими аспектами кодовой базы. Жаль, что он затерялся в огромной дозе флюидов «настоящего программиста».

Почти сорок лет назад Эд Пост написал: Настоящие программисты не используют Pascal». Это была пародия на книгу-бестселлер того времени под названием Настоящие мужчины не едят пирог с пирогом, и его эссе быстро стало классикой среди гиков. Ему удалось идеально проткнуть непокорных, застрявших на своем пути программистов 60-х и 70-х, которые возмущались новым поколением разработчиков 80-х, жадно хватавшихся за современные технологии, такие как Pascal.

Это немного длинновато, поэтому вот несколько моих любимых цитат «Настоящего программиста»:

  • «Настоящие программисты используют Фортран. Любители пирогов используют Паскаль… Если вы не можете сделать это на Фортране, сделайте это на ассемблере. Если вы не можете сделать это на языке ассемблера, это не стоит делать».
  • «Настоящие программисты не боятся использовать GOTO».
  • «Настоящим программистам комментарии не нужны — код и так очевиден».
  • «Ни один настоящий программист никогда не будет пользоваться компьютером, операционная система которого называется SmallTalk, и уж точно не будет разговаривать с компьютером с помощью мыши».
  • «На вечеринке Настоящие Программисты сидят в углу и говорят о безопасности операционной системы и о том, как ее обойти».
  • «Настоящие программисты пишут программы, а не документацию. Оставьте это обслуживающему персоналу».
  • «Настоящие программисты выживают на твинки и кофе».
  • «Суждено ли нам стать индустрией Unix-хакеров и программистов на Pascal?»

В свое время я был хакером Unix. Мне также пришлось столкнуться со своим «настоящим программистом», когда я вернулся к программированию в 2008 году, когда все было на Ruby on Rails и Heroku. Создание современных интерфейсов было еще более сложной задачей, до такой степени, что я в конце концов прошел курс Front-End Engineering в General Assembly. Что бы ни думал Тоби, его взгляды на программирование устарели. Фронтенд-работа настолько же технически сложна, как и все, что я когда-либо создавал на стороне сервера.

Неуважение, проявленное к фронтенд-инженерам, — лишь один из примеров долгой истории контроля доступа. Поскольку такие вещи, как HTML, CSS и UX-дизайн, не кажутся такими сложными, «настоящие программисты» чувствуют себя довольными и даже вправе принижать значение целой категории программирования. Это продолжает идею о том, что визуальные эффекты проще, чем сантехника и логика. Это явно неправда. Во всяком случае, UX еще более важен, когда потребители в конечном итоге определяют успех приложения по тому, насколько легко им пользоваться. В этом заключается магия хорошо продуманного пользовательского интерфейса.

Недавно разговор о HTML как о языке программирования вызвал очередную перепалку в кругах разработчиков. На этот раз кто-то неблагоразумно разыграл карту у вас есть степень в области компьютерных наук», и все пошло не так. Кроме того, никогда не злитесь на Кори:

Есть множество аргументов за и против, которые вы можете привести о том, является ли HTML законным языком программирования. Но это не главное. Это еще один пример того, как один сегмент сообщества программистов пренебрежительно отбрасывает ценность и достоинства другого сегмента, который просто обладает опытом в использовании других инструментов и навыков.

Однако наихудший тип привратника проявляется в форме получения образования и найма. Стала известна информация о процессе проверки кандидатов, созданном бывшими сотрудниками Google во время работы в Twitter. Когда вы читаете критерии, вы можете выбрать один из двух способов:

  1. Кандидату нужно только иметь хотя бы один из критериев, так что не так уж плохо, или,
  2. Кандидату лучше иметь степень информатики в достойном колледже.

Помимо того факта, что в список не включены многие отличные программы по информатике в ведущих университетах США и всего мира, он также игнорирует тот факт, что степень на самом деле ничего не доказывает. Это ленивый фильтр, который я понял, когда начал нанимать и работать с недавними выпускниками компьютерных наук из лучших школ. Теорию знали. Они могли закодировать любой вариант алгоритма сортировки, который вы хотели. Но они изо всех сил пытались написать, протестировать и развернуть код производственного качества без значительного наставничества.

Использование дипломов колледжа в качестве фильтра также существенно ограничивает разнообразие отличных кандидатов, которых может привлечь компания. Многие отличные кандидаты из HBCU (колледжи и университеты, исторически принадлежавшие чернокожим) были бы отклонены по критериям Google. В этом нет смысла, особенно когда талант разработчиков стоит дорого и его трудно найти, и это значительно усложняет создание инклюзивной культуры. Использование степеней колледжа и того, что кто-то окончил, в качестве фильтров для найма и продвижения по службе — худший способ контроля в технологической индустрии.

Кто тогда настоящие программисты? Просто люди, которые программируют и называют себя программистами. Их мотивация может заключаться в том, чтобы программировать для развлечения, изучать его в школе, делать это как свою работу, создавать что-то в качестве хобби или заниматься программированием за деньги. Все законные занятия. Пока вы программируете, наслаждаетесь вызовом и хотите продолжать учиться, вы являетесь программистом, разработчиком, инженером-программистом, кодером или кем-то еще, кем вы хотите себя называть.

Настоящие программисты — это люди, которые программируют и считают себя программистами

Проведение искусственных линий на песке никому не помогает. Когда мы начинаем говорить, что одна группа на основе предвзятых критериев является настоящими программистами, мы начинаем сворачивать на 10-кратную территорию инженеров. Реальность такова, что некоторые программисты будут исключительно одаренными, но это не сбрасывает со счетов и не уменьшает ценность остальных 99% программистов, которые сегодня кодируют и вносят большую часть производственного кода в мире.

Когда я работал в Stack Overflow, меня всегда восхищала одна статистика. Несмотря на то, что по самым щедрым оценкам число разработчиков на планете составляет 25 миллионов, каждый месяц в Stack Overflow появлялось вдвое больше. Когда я посмотрел на количество уникальных посетителей Stack Overflow в Гонконге и Сингапуре, это было почти 10% населения. Кодеры окружают нас каждый день.

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

Мы все можем стать частью переосмысления того, кто такие «настоящие программисты»!

Марк Берч, редактор и основатель DEV.BIZ.OPS

Я хочу попросить об одолжении. Я сотрудничал с разработчиком, чтобы запустить расширение Chrome, которое поможет вам найти лучшие хэштеги для использования при создании публикации в LinkedIn. Зачем это строить? Потому что я вижу, как многие люди пытаются расширить охват своих постов, используя хэштеги, у которых почти нет подписчиков, поэтому их посты не набирают обороты.

Ключевые особенности хэштегов LinkedIn включают в себя:

⭐Значок на панели инструментов позволяет искать хэштеги и показывает количество подписчиков.

⭐ Количество подписчиков отображается динамически при добавлении хэштегов к сообщению.

⭐Кнопка «Получить подписчиков» показывает общее количество подписчиков для всех постов с хэштегами.

Был бы очень признателен, если бы вы могли скачать расширение и попробовать его 😀

Попробуйте хэштеги LinkedIn

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

Дайте мне знать, если вы сочтете это полезным, какие функции вы хотели бы видеть добавленными и что еще вы хотели бы улучшить в отношении публикации сообщений в LinkedIn 👍

Наконец, я не мог опубликовать эссе под названием Настоящие программисты, не поделившись этим классическим комиксом xkcd:

Хотите узнать больше о DEVBIZOPS и узнать больше об ИТ, технологиях и разумной работе. Получайте нашу еженедельную рассылку, подписавшись на наш Substack!