«Ближе к народу»: Нужно ли руководителю разбираться в программировании



    / фото Sean Hagen CC

    Мы в 1cloud постоянно работаем над оптимизацией взаимодействия наших специалистов и стараемся перенимать опыт коллег. Это дает свои плоды и в виде постов на Хабре.

    На прошлой неделе мы подготовили сразу два холиварных материала по теме: дали 6 «вредных» советов разработчикам и пару ценных рекомендаций на тему общения их коллегам по цеху.

    Сегодня мы решили поднять вопрос о необходимости наличия (как минимум) базовых знаний и навыков программирования у тех, кто руководит современной компанией (так или иначе использующей ИТ-решения).


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

    Марк Андриссен (Marc Andreessen) в 2011 году написал известную статью «Почему программы поедают мир» («Why Software Is Eating the World»), где отметил, что даже ведущие музыкальные компании заняты в сфере software: Apple, Spotify и Pandora. Также в его список вошли транспортные компании (Uber), компании, занятые в гостиничном бизнесе (AirBnB), и финансовые организации (Coinbase) – все они предоставляют свои сервисы онлайн.

    В связи с этим важно, чтобы руководители компаний могли понимать и ориентироваться в цифровом мире. «Иначе компания рискует остаться позади. Конкуренты попросту вырвутся вперед», – говорит Таавет Хинрикус (Taavet Hinrikus), соучредитель TransferWise.

    Определенный уровень понимания программирования и технических наук поднимает авторитет предпринимателя. «По своему опыту могу сказать, что разработчики программного обеспечения редко воспринимают всерьез тех, кто не умеет «кодить», – отмечает Бенуа Курди (Benoit Curdy) из Vocalytics. – Генеральный директор, не умеющий программировать, вынужден скрываться за спиной технического директора. Это неэффективно».

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

    Многие личности, от создателя Facebook Марка Цукерберга до физика и космолога Стивена Хокинга, публично заявляли о том, что базовые навыки программирования необходимы всем в современном мире. Эти цитаты и цитаты многих других знаменитостей, можно найти на сайте code.org.

    Такой спрос привел к появлению стартапов, предлагающих уроки программирования. General Assembly предлагает офлайн-курсы. Сайт онлайн-образования Codeacademy в 2014 году достиг порога в 24 млн пользователей, которые выполнили свыше 100 млн упражнений. Основатель Codeacademy Зак Симмс (Zach Simms) как-то сказал в интервью The Wall Street Journal, что уметь программировать не обязательно, но важно знать теорию алгоритмов и понимать, в каких ситуациях их можно применить.

    Также стоит отметить, что большую активность в этом вопросе проявляют высшие учебные заведения. Университеты в Нью-Йорке и Чикаго вводят новые образовательные программы, чтобы подготавливать студентов к жизни в «техническом мире». Гарвардский университет сообщил, что компьютерные науки уже обогнали экономику в списке самых популярных курсов.

    Искусство написания кода постепенно становится трендом. Даже мэр Нью-Йорка Майкл Блумберг (Michael Bloomberg) отмечал, что желает научиться программировать.

    Другая точка зрения


    Однако не все придерживаются этой точки зрения. В ответ на заявление мэра Нью-Йорка Майкла Блумберга в 2012 году, что тот начнет изучать программирование, программист Джефф Этвуд (Jeff Atwood), автор блога Code Horror, вопрошает: «Можете ли вы мне объяснить, почему Майкл Блумберг стал бы более эффективен как мэр самого большого города США, если бы однажды утром проснулся первоклассным Java-разработчиком?».

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

    Предприниматели всегда находятся под давлением – им нужно думать о продукте, клиентах, партнерах, поставках и так далее. По этой причине, считает Синдху Джозеф (Sindhu Joseph), непрактично изучать то, что другие делают лучше. «Если бы я начинала бизнес сегодня и не умела программировать, то направила все свои усилия на развитие лидерских качеств, а также на изучение маркетинга», – комментирует Синдху.

    Катрин Букенмайер (Katrin Buckenmaier), соучредитель и СЕО компании TravelMenu в России, также говорит, что предприниматели должны думать о грамотном распределении рабочей силы и денежных средств и о том, как создать сильную команду, обладающую всеми необходимыми умениями. Иными словами, руководство компании должно заниматься грамотным подбором персонала, а это целая наука, которую нужно постичь.

    Тибо Фавр (Thibauld Favre), инженер в парижской компании AllmyApps, считает, что навыки программирования будут полезны только в течение нескольких первых лет работы над проектом. «Это поможет вам быстро превратить идею в продукт, но затем навыки программирования становятся все менее важными. Вам приходится заниматься продажами, маркетингом, планированием и так далее, – говорит Тибо. – Самая сложная часть заключается именно в понимании того, когда следует перестать «строчить код».

    Мифы и заблуждения


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

    1. Я всегда могу нанять кого-нибудь для работы с техническими вопросами

    Марк Бениофф (Marc Benioff), Марк Цукерберг, Марисса Майер (Marissa Mayer) или Джефф Безос (Jeff Bezos) сейчас вряд ли пишут код самостоятельно, однако успехом они обязаны своему техническому бэкграунду.

    Например, Марк Бениофф занимался программированием в молодости, еще он работал в Oracle. Весь накопленный опыт Марк использовал для того, чтобы основать Salesforce – компанию, чей доход в 2015 году превысил 5 миллиардов долларов.

    Джон Доерр (John Doerr) также начинал свой путь в технической сфере и только потом присоединился к Kleiner Perkins Caufield & Byers – одной из самых успешных венчурных фирм Кремниевой долины.

    2. Я не хочу в одиночку сидеть перед компьютером и программировать



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

    3. Я не силен в математике

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

    Программирование в первую очередь учит новому мышлению, поскольку превратить абстрактную идею в реальный продукт не так-то просто – это требует креативности и знания тонкостей используемого языка.

    4. Уже поздно учиться программировать



    Начинать никогда не поздно. Вам не потребуется много времени на приобретение достойного набора технических навыков. Многие молодые основатели, например Эван Шпигель (Evan Spiegel) из Snapchat, построили миллиардные компании, имея опыт в программировании не более двух лет. Потому смело выбирайте для себя курс и начинайте его изучение (для начала можете поискать что-нибудь в этом треде на Reddit).

    Заключение


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

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

    Что еще почитать по теме:

    Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

    Должен ли руководитель быть с программированием на «ты»?

    1cloud.ru
    141,00
    IaaS, VPS, VDS, Частное и публичное облако, SSL
    Поделиться публикацией

    Комментарии 20

      +19

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

        +9
        Отличное замечание. Тут стоит задуматься о взаимоотношениях в команде. Хороший руководитель должен быть готов воспринимать критику, а разработчик — уметь донести свою точку зрения. Очень часто все упирается в выдуманную иерархию вместо аргументов и открытого обсуждения проблем.
          +2
          Руководитель должен разбираться в тех вопросах, по которым принимает решения. Не обязательно это IT. Если прораб ничего не понимает в тонкости кладки кирпича, но решит, что его нужно класть лопатой из ведра, то ничего не получится.
            +2
            С другой стороны: руководитель может и сам предложить «класть лопатой из ведра». Об этом выше говорил человек. Вот тут баланс нужно искать
              0
              Полагаю, ilyaplot прораба приравнял к руководителю в данном случае
          +3
          Если это компания которая выпускает ПО на мой взгляд то безусловно должен.
          Если это компания которая выпускает туалетную бумагу, но там есть IT отдел то в общем то не должен.

          К сожалению у нас в России и СНГ большинство софтверных компаний нанимают не пойми каких
          менеджеров для руководства IT проектами, которые в IT не в зуб ногой и это печально.
            +2
            Что-то мне подсказывает, что не только «у нас в России и СНГ» :)
              0
              Руководитель должен разбираться на уровне юниор во всем, но всегда советоваться с начальниками отделов при принятии решений. Его главная задача соеденить всех и получить результат.
              0
              Должен ли руководитель разбираться в технологиях? Чаще всего это не требуется.
              Должен ли руководитель ориентироваться в технология? Чаще всего это не лишнее.
              Но всегда качества руководителя для успеха важнее чем качества IT-шника.
                +2
                Но всегда качества руководителя для успеха важнее чем качества IT-шника

                И тут мы приходим к чему-то вроде «незаменимых нет»? Как раз такой подход и «губит» многих руководителей, которые относятся к разработчикам подобным образом
                +1
                Если брать именно руководство процессом разработки — то без опыта работы программистом толка от руководителя никакого.
                  0
                  А меня это задело: «Мы же поголовно не изучаем слесарное или водопроводное дело»!
                  Каждый, уважающий себя мужчина, должен это уметь хотя бы на базовом уровне!
                    +1

                    А причем тут мужчина?

                      0
                      Потому что сексизм — это не всегда зло, а в некоторых случаях разумное разделение ответственности.
                    0
                    Люди которые создают программный продукт должны не то, что ументь программировать, они должны понимать как этот продукт вообще создается, надо понимать сам процесс. Первоклассным разработчиком быть не нужно, но опыт считаю должен быть.
                      0
                      Руководитель должен разбираться в том, что производит фирма, иначе этот руководитель не отличается от бухгалтерши: вроде своё дело знает, а тут его и применить не к чему.
                      Как пример: технический директор. Должность при которой нужно понимать что ты производишь, но и с маркетологами и прочими общаться на их уровне.
                        0
                        Меня всегда удивляла категоричность такого вопроса. Как и категоричность отвечающих на него — да. При этом они редко могут сформулировать почему да.

                        Поясню свою точку зрения.
                        Вопрос звучит так: "Нужно ли руководителю разбираться в программировании?". И я специально выделил начало вопроса. Нужно ли? И ответ именно в этой формулировке — нет. Было бы лучше? И ответ в данной формулировке — безусловно.

                        Любой проект это изменения. Ведь даже написание кода — это процесс внесения изменений в листинг программы. Любые изменения вызывают проблемы. Все изменения не происходят сами собой, их производят люди.

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

                        По мнению того же PMI нет разницы при подготовке PMP для медицины или для строительства или для софтового проекта. Этих делений не существует. Руководитель просто должен уметь пользоваться имеющимися у него инструментами и знание в предметной области это всего лишь один из инструментов.

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

                        Разработчики часто этого не понимают или не хотят понимать веря в исключительность своего рода деятельности.

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

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

                            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                            Самое читаемое