Когда о человеке можно сказать, что он стал программистом? +20


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

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

Мой вопрос звучал так:

Когда о человеке можно сказать, что он стал программистом?

  1. «Когда он способен абстрагироваться от инструментов. То есть может понять, что является ключевым для решения задачи вычислительными методами, независимо от того, какую технологию он использует».
  2. «Когда он задумывается о других разработчиках, создает код для людей, а не для машин. Соответственно, документация и читабельный код – обязательные условия».
  3. «Когда он начинает избегать споров по пустякам. Разговоры в духе „этот инструмент лучше, чем тот“ — это занятие, которое человек, разбирающийся в программировании, оставил в прошлом: он понимает, что оба инструмента могут быть полезны для выполнения определенных задач».
  4. «Он делится знаниями и принимает участие в жизни сообщества. Взять, допустим, программиста, который выучился в основном по бесплатным материалам из интернета. Исходя из своего опыта, он понимает, что единственный способ поддержать эту область знания – внести свою крупицу на благо окружающих. Он ведь и сам в прошлом извлекал пользу из чужих».
  5. «Когда он может браться за новые задачи и, должным образом в них разобравшись, писать рабочий код, поэтапно доводя дело до завершения. Решение при этом ориентировано на будущее, его не придется реализовывать заново ради выживания продукта. Такой человек – хороший программист».
  6. «Когда он понимает принцип действия операторов if, then, else в сочетании с циклами for и так далее. Говорить о том, что человек стал программистом, можно только тогда, когда он всё это освоит и научится применять. Разумеется, под применением понимается не просто вывод слов hello world на экран при помощи какого-нибудь языка».
  7. «Когда он создает программные решения для проблем. Необязательно даже пользоваться при этом языкам программирования (HTML, CSS, SQL или Excel). Достаточно просто прописывать алгоритмы в записной книжке – с этого момента уже можно говорить о создании программного обеспечения».
  8. «Когда к нему приходит понимание, что каждый язык служит своей цели, имеет свои плюсы и минусы и что его применимость нужно определять исходя из того, к какой области относится проблема».

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




Комментарии (116):

  1. EvilsInterrupt
    /#24971606 / +9

    Когда отлаживаем код, тогда и становимся программистами.

    • Mirzapch
      /#24971968 / -13

      В современном мире это называется альфа-тестированием. 1С, я вас снова приветствую.

    • dolovar
      /#24974980

      У меня в голове автотест сработал — это был ответ на вопрос «когда становится» (AR), а в заголовке вопрос «когда стал» (ER).

  2. x2v0
    /#24971614 / +1

    когда ты пишешь код, "который будет жить вечно"

    • vitaly_il1
      /#24975794 / +7

      Или наоборот - когда перестал в это верить :-)

    • MaxLevs
      /#24976736

      Hello world? Тут умирать нечему

    • mgearr
      /#24977874

      Зачем мне вечная игла для примуса? Я не собираюсь жить вечно

  3. FGV
    /#24971632 / +55

    Когда начал считать что в килограмме 1024 грамма...

    • EvilsInterrupt
      /#24971722 / +3

      Зря на хабре нет возмоности поставить смайл "Огонь" )))

    • MinimumLaw
      /#24972544 / +5

      Когда вес начинаешь измерять в киБИграммах, а расстояние в киБИметрах. Уже не интересно. Решено.

    • klirichek
      /#24974522 / +3

      А как назвать тех, кто считает, что в килограмме - 950, 900, 875 и т.д.?

    • Goupil
      /#24974604 / +1

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

      Мерять надо в строчках.

      • F0iL
        /#24974612 / +12

        Кто вообще вес додумался мерить в килограммах?

        Действительно странно, учитывая, что в системе СИ вес измеряется в ньютонах, а в килограммах измеряется масса. /душнила-mode off/

        • mgearr
          /#24977888

          А толку указывать вес без указания координат точки, где стояли весы (в том числе и координаты t, потому со временем изменяется как масса Земли, так и положение полюсов), и ускорения в момент измерений

          • Akon32
            /#24978042

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

        • shaggyone
          /#24978496

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

  4. Markscheider
    /#24971730 / +5

    Лично мне показалось, что именно "программистские" - только №1 и №6. Все остальное легко можно отнести к любой области человеческой (созидательной) деятельности.

    Так что это - практически 8 заповедей хорошего специалиста из любой области

  5. Fen1kz
    /#24971746 / +10

    Мне не нравится этот вопрос т.к. я вижу в нем элитизм. Я - Программист Математичный, а ты - кодер вонючий. Особенно этим страдают старперы из страны советов, для которых Программист это тот, кто перфокарты дырявил

    ну и бинарность с отсутствием конструктива тоже вопросу красоты не добавляют

    • pharo
      /#24972690 / +8

      Зря Вы так о стране Советов.
      Кто то помнит/читал книжку «Электрофикатору железных дорог о микропроцессорах»?
      (года выпуска середины 80-х годов)

      P.S. У нас, в институте, на первых курсах был доступ к диалогу с ЕС-ЭВМ (Рафос ОС) и языку программирования Фортран-77 в диалоговом режиме. (это примерно 1988г задолго до распада СССР).

      • Svbakulin
        /#24973166 / +9

        1988 - это 3 года до распада, совсем незадолго. в цивилизованном мире был доступ гораздо большего количества людей к гораздо большему количеству вещей уже лет 40 как. не надо отмаззывать страну советов, она была убогим ничтожеством паразитировавшим на людях которые без нее сделали бы больше хорошего.

        Мой личный наглядный пример - первый эпизод Том и Джерри вышел в 1940. последний (из классики) где то в 60х. советы до него доросли только в 90х, и то как показывают последние события очень небольшое количество.

        • shasoftX
          /#24974788 / +7

          "Цивилизованный" мир после второй мировой получил такой огромный гандикап, что не удивительно что там было гораздо лучше с развлечениями, чем в стране советов, которая вместо подъема экономики получила разрушение промышленной части страны + 27 миллионов людских потерь.

          • PanDubls
            /#24975608 / +4

            А в ФРГ, ГДР, Бельгии, Югославии, скажем, не было разрушения экономики и людских потерь? Как это объясняет, что люди при советской власти жили даже хуже, чем в Польше, которая потеряла (внимание) около 30% населения? Кстати, вы знаете, что от помощи СССР в рамках Маршалла, по которому были восстановлены руины той же Франции, отказалась сама страна Советов? Это к вопросу о том, с ней или без неё жить было бы лучше.

            • shasoftX
              /#24975620

              А в ФРГ, ГДР, Бельгии, Югославии, скажем, не было разрушения экономики и людских потерь? 

              Так в той же ГДР жили хуже ФРГ как раз потому что одним помогали СССР, а другим США.

              от помощи СССР в рамках Маршалла, по которому были восстановлены руины той же Франции, отказалась сама страна Советов

              Чтобы понять почему СССР отказалось, нужно просто знать цель плана Маршалла

              Заявленной США целью реализации плана было восстановление разрушенной войной экономики Европы, устранение торговых барьеров, модернизация промышленности европейских стран, вытеснение коммунистов из властных структур и развитие Европы в целом.

              • PanDubls
                /#24975710 / +8

                вытеснение коммунистов из властных структур

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

                • shasoftX
                  /#24975760 / +2

                  Падение власти коммунистов совсем не означает повышение уровня жизни населения. 90-ые наглядно это показали.

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

                  • PanDubls
                    /#24975768 / +3

                    Зато деньги по плану Маршалла - означают, а коммунисты лишили советское население доступа к ним ради сохранения своей власти. Это даже близко не единственная проблема, но этот факт сам по себе лишает силы аргумент "да у нас тут всё войной было разрушено". В ФРГ тоже было разрушено основательно, но они предпочли (ну, у них никто не спрашивал, конечно, судьба за них решила) благополучие - гордыне властной клики. А 90-е показали только то, что когда нефть стоит 15 долларов население России живёт сильно хуже, чем когда она стоит 150.

                    • shasoftX
                      /#24975790 / +3

                      Запад начал холодную войну ради сохранения своей власти. Но виновата советская власть.

                      Думаю на этом можно закончить обсуждение.

                      • anone9466
                        /#24976758

                        Запад начал холодную войну ради сохранения своей власти.

                        Этот запад сейчас с вами в одной комнате? Вы можете его видеть?

                      • rrrad
                        /#24977144 / +2

                        Да, всем родившемся в ссср очень тщательно объясняли о том, какой ссср хороший и какой плохой этот "запад".

                      • shasoftX
                        /#24977350

                        Последние 30 лет всё было ровно наоборот. Отсюда и "советская власть виновата"

                      • rrrad
                        /#24977480

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

                        До второй мировой войны ссср воспринимался как страна, которая несёт довольно серьёзную угрозу.

                      • Wesha
                        /#24977832

                        огромным государством с известной историей агрессивной политики, декларируемой идеологией непримиримостью к некоторым базовым вещам их обществ и правительством, периодически занимающимся попытками "экспорта революции"

                        Это Вы сейчас точно про СССР написали?

                      • vassabi
                        /#24977892 / +2

                        а что - в 1968 году в Чехословакии ничего не случилось?

                      • anone9466
                        /#24978888

                        1. Диктатура вводит в страну, стремящуюся к независимости, войска для установления своего правительства.

                        2. Демократия вводит войска для уничтожения диктатора-террориста.

                        Ряяя, это одно и тоже!!1!! Даже не смейте говорить что это разные вещи!!!! Ведь демократия и диктатура одно и тоже!!!!1!Адын!

        • RedCatX
          /#24975618

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

          Ну за 30 лет мы могли воочию убедиться сколько всего хорошего сделали люди без СССР.

          • addewyd
            /#24975676 / -1

            Из этих 30 следует вычесть последние 22. Просто не успели.

          • PanDubls
            /#24975732 / +7

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

      • leafup
        /#24979120

        Кто то помнит/читал книжку «Электрофикатору железных дорог о микропроцессорах»?

        Кстати что интересно, космический корабль буран смог в автомат режиме сесть в аэропорту рядом с ромбом, при этом спустившись с космоса.
        Там в буране был некий компьютер, оч умный и с хорошим кодом для того времени.
        Ну и як-141 с вертикальный взлётом — инженерное искусство.

    • geher
      /#24974740 / +8

      Особенно этим страдают старперы из страны советов, для которых Программист это тот, кто перфокарты дырявил

      "Старперы из страны советов" помнят, в отличие от вас, что перфокарты как правило дырявили не сами программисты, а специально обученные люди. Программисты приносили им программы, написанные от руки на специальных бумажных бланках. Причем, внезапно, на "загнивающем" тогда было практически то же самое.

      Машины без перфокарт (с терминалами) в "совке", опять же, внезапно, появились еще в 70-е или даже раньше. То, что машины с перфокартами дожили кое-где аж до конца 90-х, так на "загнивающем" до сих пор кобол в ходу.

      А программистом становятся тогда, когда в трудовой книжке или трудовом договоре появляется соответствующая запись. Дальше уже можно рассуждать о хороших программистах, плохих программистах, никаких программистах и т.д., и т.п.

      @Dolios

      Нет трудовой книжки - не программист :)

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

      • Areso
        /#24975212 / +1

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

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

        • geher
          /#24975522 / -1

          Однако, спорим о смысле слова с не до конца устоявшимся смыслом.

          Вот в старые дремучие времена программистами называли тех, кто вводит программу в ЭВМ. Не пишет, не пробивает на перфокарты, а именно вводит в ЭВМ (набирая ее тумблерами на пульте, скармливая ей колоду перфокарт, записывая прошивку в ПЗУ). Скажете, что это не программисты? А у некоторых из них в трудовой книжке было написано гордое "программист".

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

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

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

          Можно еще сослаться на бумажку об образовании ("учился на программиста"), но там другие вопросы встают. Достаточную ли квалификацию получил программист в процессе обучения? Если не работал некоторое время (и какое именно некоторое), не дисквалифицировался ли?

          • addewyd
            /#24975544 / +1

            Вот в старые дремучие времена программистами называли тех, кто вводит программу в ЭВМ. Не пишет, не пробивает на перфокарты, а именно вводит в ЭВМ (набирая ее тумблерами на пульте, скармливая ей колоду перфокарт, записывая прошивку в ПЗУ). Скажете, что это не программисты? А у некоторых из них в трудовой книжке было написано гордое «программист».


            В трудовой книжке было написано «оператор ЭВМ». Во всяком случае, у меня так было написано.
            А вот дальше было «инженер-программист II категории», потом I, и потом «ведущий инженер-программист». Просто «программист» нету…

            • geher
              /#24976874

              Слово программист есть. А обвязка, если это не слово "не" перед словом "программист", роли не играет.

          • PanDubls
            /#24975746 / +1

            то где универсальное определение этого допустимого уровня (или хотя бы разных уровней для различных отраслей)?

            Ну человечество в целом и русский язык в частности живёт же как то с аналогичной расплывчатостью в значении слова "художник". Вот я умею рисовать солнышко с лучиками, я художник? А Никас Сафронов обрисовывает фотки знаменитостей безвкусными декорациями - он художник? Рисовать он не умеет, но в трудовой у него написано "художник". А вот у Ван Гога в трудовой было бы написано "бомж", он, выходит, не художник?

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

            Короче, не исчерпывающий критерий определения у вас получается, хотя и стройный.

            • geher
              /#24977222

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

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

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

              а кто не состоит, тот, как Бродский, тунеядец и асоциальный элемент.

              А такое по вашему обязательно? В смысле если не признавать поэтом того, кто официально не зарегистрирован, то обязательно считать тунеядцем и асоциальным элементом. Попроще никак не получается?

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

              Короче, не исчерпывающий критерий определения у вас получается

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

    • Iwanowsky
      /#24975932 / +1

      Особенно этим страдают старперы из страны советов, для которых Программист это тот, кто перфокарты дырявил

      Чушь! Всегда было (в прошлом веке), что программисты писали программы, а перфокарты набивали операторы ЭВМ. На программистов учили в вузах, а на операторов ЭВМ — в ПТУ и техникумах.

  6. Akon32
    /#24971834 / +6

    Следует разделять профессию и роль.

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

    Программист по роли - тот, кому пришлось немного заниматься программированием для решения каких-либо бытовых или трудовых задач. Тут, наверно, операторов if/for достаточно, как в пункте 6. Здесь могут быть и люди, использующие электронные таблицы, мигающие лампочкой на arduino, настраивающие умный дом.

    • Rio
      /#24974832 / +2

      В моём мироощущении есть "программисты", а есть "люди, работающие программистами", и эти множества пересекаются не всегда. Формально, и те и те могут быть профессионалами (в том смысле, что работают на должности программиста и зарабатывают этим на жизнь). Но у первых программирование это неотъемлемая часть жизни, которая всегда при них, а у вторых - программирование это просто работа на работе (как пример, возьмём маляра Васю; а работе он маляр, стены красит, а как придёт домой - то он уже не маляр, а просто Вася; работу он на работе оставляет). Вот у них так же с программированием. При этом, люди из первой категории могут программистами и не работать (и себя таковыми всерьёз не считать), но при этом быть на голову круче многих из "людей, работающих программистами".

      Это я к тому, что на вопрос из заголовка статьи ответить в принципе не получится, потому что понятие "программист" очень уж само по себе неоднозначное.

      • semennikov
        /#24978038

        Ваши слова мне нравятся, по крайней мере, проясняют для меня смысл этого слова. Я еще в далеком 1974 в школе получил бумагу с указанием профессии «программист» и хотя ни разу не работал программистом, но с тех пор все мои работы были неразрывно связаны с программированием и до сих пор так. Вроде и не программист — практически не пишу код, но ни один мой проект не обходится без того, чтобы я не писал архитектуру, ТЗ, протоколы взаимодействия с железом, алгоритмы и отлаживал, искал ошибки и т.д. Программист ли я?

        • eptr
          /#24978174

          Нет.

          Программист -- это составитель управляющих программ для ЭВМ.

          Зато вы -- архитектор, разработчик ТЗ, разработчик протоколов, алгоритмист, отлаживатель/тестировщик (избавлятель программ от "лажи").

  7. Mirzapch
    /#24971866 / -1

    Призываю прекратить путать программистов с разработчиками.

    developers

    • addewyd
      /#24974154 / +3

      Слово-то какое «разработчик»… Кальку содрали с английского. Непонятно зачем.
      До 2016 года я был программистом. 01.01.2016 вдруг в приказном порядке стал «разработчиком» (и весь отдел разом). Странное, расплывчатое понятие. Разрабатывать можно месторождения, например.

      • Mirzapch
        /#24974680 / +3

        Какой нежный.

        Кальку скопировали с французского. Непонятно зачем. Но к кальке у вас претензий нет.

        А копию заимствовали из немецкого. Тоже непонятно. Ведь могли напрямую из латинского забрать.

    • SergeiMinaev
      /#24974466 / +1

      Вы как хотите, а для меня "программист" в конечном счёте звучит круче, чем "разработчик".

      • F0iL
        /#24974600

        В мировом IT, кстати, наоборот, повсеместно используется название профессии/должности "software developer", а вот "programmer" встречается гораздо реже.

      • Mirzapch
        /#24974666 / +1

        Настройщик рабочего места на базе ЭВМ - программист? А на такую специальность до сих пор ведётся набор в некоторых колледжах.

        Является ли оператор станка с ЧПУ программистом?

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

        Таких примеров можно привести десятки.

        В России слово "программист" с 90-х годов потеряло свой первоначальный смысл. Поэтому не стоит его использовать во избежание ненужных вопросов и уточнений.

        • eptr
          /#24975048

          Это -- компьютерщики.

        • rrrad
          /#24977490

          Вы путаете с тыжпрограммистом.

    • Rio
      /#24974968 / +2

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

  8. kalapanga
    /#24972210 / +5

    А мне вот такое определение нравится (не помню, как точно формулировалось в оригинале, но суть передана):

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

    • MinimumLaw
      /#24972538

      Глубоко. Пожалуй даже более правильно, чем 1024 грамма в килограмме.

    • mgremlin
      /#24974608 / +4

      Глубже: тот, кто написал хотя бы одну программу, которую... украли!

    • semennikov
      /#24978040

      Ну тогда я точно программист. Хотя пишу код хорошо если 360 строк за год

  9. Zenitchik
    /#24972216 / +1

    Когда в трудовой книжке появилась запись "Программист".

    • Dolios
      /#24973148 / +2

      Нет трудовой книжки - не программист :)

  10. MentalBlood
    /#24972262

    Знаете, вот часто читаешь что-нибудь что не документация и не единственный (работающий) из 100 ответов на stackoverflow, и появляется мотивация действовать противоположно 4-ому пункту

  11. souls_arch
    /#24972714

    Добавьте пункт множества ответов пересекаются (они и без этого пересекаются). Одинарное или вряд ли работает. Разве что для тех, кто программерами не являются

  12. Kyrych
    /#24972716 / +1

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

    • YMA
      /#24977420

      Вот этот вариант искал в комментариях ;)

      Я бы еще чуть-чуть отодвинул момент опрограммистивания - "когда кто-то заплатил ему за написание кода и иные программистские задачи". Всё остальное - знание операторов, навыки структурирования задач, чтение книг - это баловство. А вот когда тебя оценил пользователь/заказчик - это уже признание, что ты - программист.

  13. GothicJS
    /#24973098 / +13

    Когда о человеке можно сказать, что он стал программистом?

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

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

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

    • isden
      /#24974460 / +4

      если человек работает программистом — значит он программист

      А если не работает программистом, но при этом пишет код (пет проекты, коммиты в опенсорц, и тп) — то не программист?

      • GothicJS
        /#24975418 / +1

        Вполне может быть программистом.

  14. pavelsc
    /#24973194 / +5

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

  15. AGhostik
    /#24973422 / +3

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

    • Rio
      /#24974982 / +1

      Вот да, я тоже скорее к такому пониманию понятия "программист" склоняюсь. Не просто занимающий должность программиста на работе, а программист "по жизни".

    • semennikov
      /#24978052

      Да, я действительно кайфую когда код заработал. Хотя эта работа для меня редкая, но я ее очень люблю. Я работаю практически только с железом и очень в кайф когда написал модуль и твой робот(станок, прибор и т.д.) начал делать то что раньше не мог

  16. Dr_Faksov
    /#24974144 / +7

    Мне кажется, что  уважаемое сообщество программистов, с одной стороны - зазвездилось, а с другой – забыло корни. Какие языки? Какие среды? Кто вам вообще сказал, что все программисты пишут код?

    К ЛЮБОМУ программированию относится только шестой пункт. Человек либо программирует, либо нет. Что угодно – релейную автоматику, пневматику, гидравлику, механику. Ну и да, цифровые электронные системы. Контроллеры, к примеру.

    А программисты появились задолго до первых электролампочек. Про жаккардовый станок слышали? 1805 год вроде бы Перфокарты именно оттуда родом. И скажите, что там не программа.

    А вот вам кусочек кода. Кто язык угадает?

    1.       Затвор отведён?

    2.       Если да - поднять патрон из обоймы, если нет – на пункт 1

    3.       Обойма пуста?

    4.       Если да – активировать затворную задержку

    5.       Дослать патрон в патронник

    6.       Закрыть затвор

    7.       Выстрел разрешен?

    8.       Если да – произвести накол капсуля, если нет – на пункт 7

    9.       Выстрел произошёл?

    10.   Если да – открыть и отвести затвор, если нет – аварийный останов

    11.   Затворная задержка активирована?

    12.   Если нет – на пункт 1, если да – останов и диагностическое сообщение «Нет патронов»

    Это всё я к тому что не только код на языке может выглядеть красиво и не красиво. И работать надёжно и не надёжно. "Код" может быть на чём угодно - на проводах, потоках газа и жидкости, тягах и переключателях. Колокольный звон Кремлёвских курантов в какой среде разрабатывали, не подскажите?

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

    • msdos9
      /#24974306 / +3

      Колокольный звон Кремлёвских курантов в какой среде разрабатывали, не подскажите?

      Думаю, на той же, на которой программировали мелодию шарманок и музыкальных шкатулок????

    • F0iL
      /#24974456

      Человек либо программирует, либо нет.

      Все-таки тут всё немного сложнее. Правильно ли будет называть инженером-строителем человека который сколотил дырявый сарай и будку для соседской собаки? Достоин ли называться музыкантом человек, который сочинил пару примитивных песен из четырех строчек под три блатных аккорда и спел их на пьянке друзьям? Назовем ли мы поваром человека, который по утрам жарит яичницу для жены и детей? Профессиональные строители, музыканты и повара, наверное, не согласятся. Собственно, как уже сказали выше, поэтому давно уже нередко разделяют разработку ПО (software engineering) и просто программирование (programming), ибо разница гораздо сильнее, чем кажется. А с другой стороны да, снобизма многим тоже не занимать, и всякие "если ты не знаешь дифференциальное исчисление, не писал на ассемблере, и используешь новомодный язык, то ты не программист, а кодер тупой" звучат смешно и мерзко. Особенно если учесть, что нередко говорящие такое сами порой не знают базы или делают тот еще говнокод :)

    • Survtur
      /#24974532 / +2

      Что-то не очень код. Я зациклился ещё на пунктах 1-2. Да и что делать в случае пустой обоймы?

      • vadimr
        /#24977536

        В пункте 1 переменная меняется асинхронно, внешним процессом.

    • MobCobra
      /#24975126 / +1

      У вашего АК-74 данные и код раздельно хранятся?

      А если серьёзно, заявлять, что любой достаточно сложный механизм изоморфен машине Тьюринга - это довольно сильное утверждение.

      • geher
        /#24975174

        Данные и код в автомате хранятся вместе. Роль хранилища выполняет механизм. Роль данных и кода - форма и другие свойства структурных элементов этого механизма.

        Сложный механизм - это не машина Тьюринга, а лента с программой для нее. Роль машины тут осуществляет не сам АК-74 (кстати, почему именно он, а не один из множества других автоматов?), а законы физики и химии.

        Приведенное описание программы, кстати, ошибочно и не полно

        • semennikov
          /#24978072

          Вообще-то что написано совсем не АК, это явно пистолет имеющий режим автоматического огня. Ключевое утверждение «затворная задержка» и диагностическое сообщение «нет патронов» Пример — когда в пистолете Макарова кончаются патроны затвор фиксируется в открытом положении что и есть диагностическое сообщение

          • geher
            /#24978702

            Каюсь, до затворной задержки алгоритм не дочитал. Хватило того, что в пункте 2 поднимаем патрон, и только в пункте 3 проверяем, что обойма не пуста. При этом обойма может вообще отсутствовать. Слово "обойма" тут, правда, несколько коробит, но его часто используют в качестве синонима слову "магазин", потому не стал на этом заморачиваться.

            С другой стороны, наличие затворной задержки говорит о том, что это точно не про АК-74. И мне можно было не высказывать сомнения, а прямо опровергать.

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

    • Akon32
      /#24978074

      Колокольный звон Кремлёвских курантов в какой среде разрабатывали, не подскажите?

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

      Не надо инженеров путать с программистами. Это не всегда одно и то же.

    • semennikov
      /#24978076

      Скорее всего — язык «Стечкин», возможно «Глок» но ни в коем случае не «Калашников» :-))

  17. nronnie
    /#24974288 / +9

    Кем вы видите себя через пять лет?

    Автор, наверное, дохера завален работой, что шарахается по конторе и достает джунов какой-то чешуйнёй.

  18. vvbob
    /#24974540 / +2

    Когда о человеке можно сказать, что он стал программистом?

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

    • F0iL
      /#24974560

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

      • vvbob
        /#24975436 / +1

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

        В общем спорить тут особо и не о чем.

  19. Daddy_Cool
    /#24974554 / +2

    «...если бы среди философов установилось согласие относительно значения слов, то почти все их споры были бы прекращены.» Декарт.

    Вот мы и устанавливаем.

  20. SquareRootOfZero
    /#24974662 / +1

    Когда о человеке можно сказать, что он стал программистом?

    С учётом двойного смысла слово «можно» в русском языке («есть такая возможность физически» и «это не запрещено никакими высшими инстанциями»), ответов на этот вопрос будет тоже два:
    1. Когда у нас имеется как минимум один индивидуум, обладающий способностью «членораздельная речь».
    2. Когда называть человека программистом не запрещает уголовный кодекс.


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

  21. AndrChm
    /#24975072 / +1

    И ведь никто не вспомнил Дональда Эрвина Кнута и его «Искусство программирования». Ведь именно эти книги, а было написано три тома и все они переведены на русский язык издательством «Мир», сформировали в нашем поколении 80-х годов ясное понимание, что программирование — это прежде всего математическое образование, умение придумывать и анализировать алгоритмы. Что касается языков программирования, то это не более чем технология, да, важная и со своим предназначением, но безусловно вторичная.

    • F0iL
      /#24975196 / +1

      это прежде всего математическое образование

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

      При этом программирование обожаю, увлекаюсь им с 13 лет, с 18 лет занимаюсь им за деньги, получал десятки офферов, был ментором молодежи, техлидил, и делал продукты, за которые до сих пор не стыдно - от АСУ ТП и встраиваемых систем до серверного бэкэнда и движков браузеров. Работодатели и заказчики всегда были довольны результатом и ценили. В свободное время контрибьючу в опенсорс или изучаю что-то новое, и более того - если б у меня не было нужды больше работать вообще, я бы все равно продолжил программировать. Но согласно Кнуту и понятиям 80-х годов я наверное не программист и никогда им не был, ну ок, что поделать. Продолжу программировать не будучи программистом.

      Кстати, давайте позовём в комменты @0xd34df00d он, будучи выпускником физтеха, любителем математики и ядреным программистом (хардкорные плюсы, функциональные языки, формальная верификация) расскажет вам о "необходимости" математического образования в 90% современной разработки ПО :)

      • AndrChm
        /#24975204

        Мне Кнут уже всё рассказал.

        • F0iL
          /#24975214 / +1

          Это называется "информационный узырь". Когда человек, утвердившись в каком-то мнении (к тому же, как вы сами признаете, навязанном вам Кнутом), ему понятном и приятном, пытается принципиально отвергать всё, что может поколебить сложившуюся картину мира. Не надо так :)

    • skozharinov
      /#24975236 / +2

      Если программистами считать только тех, кто способен прочитать и понять все написанные тома «Искусства программирования», то программистов в мире не хватит даже на один Google.

    • vadimr
      /#24975782 / +2

      Я учился программированию в 80-х, читал Кнута, и считаю важность и полезность его труда для программирования сильно преувеличенной. Особенно второго тома.

      Не вижу принципиальной разницы с массой других книг по алгоритмам. Кроме чудовищной машины MIX.

  22. vassabi
    /#24975230

    ну такое

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

    1) когда может абстрагиваться от языка

    2) когда пишет, думая о других людях, а не сам для себя

    3) когда не спорит по пустякам - удобнее писать пером или печатной машинкой

    4) когда напишет свой букварь. Он же учился читать по букварю? Вот, значит пусть вернет долг

    5) когда он может разобраться в теме и писать книги до конца, так что бы текст не устарел

    6) когда научится писать грамотно и без ошибок, и выучит все правила своего языка

    7) когда он пишет тексты для решения проблем, а не потому что захотелось

    8) когда к нему приходит понимание, что проза и поэзия и каждый жанр служат своей цели

     Надеюсь только, что они не решат сменить карьеру, после того как столкнутся с реалиями мира разработки.

    действительно :) Хотя - кто знает, возможно кто-то из опрошенных действительно не может не писать код.

    бородатая байка

    однажды к известному старому писателю пришел молодой писатель и попросил прочесть его рукопись. И тогда между ними произошел такой диалог:

    - Зачем? – спросил его старый писатель.

    - Мне важно узнать Ваше мнение, – ответил молодой литератор.

    - Зачем Вам, милейший, знать мое мнение? А если, допустим,я прочту и скажу Вам: не пишите. Что будете делать?

    - Ну, как… Если Вы скажете не писать, то я не буду… –промямлило молодое дарование.

    - ЕСЛИ МОЖЕТЕ НЕ ПИСАТЬ – тогда не пишите.

    ------

    так что - если вы можете не писать код - лучше не пишите :)

    а всем кто не может не писать - добро пожаловать в профессию !

    • addewyd
      /#24975256 / +1

      Ох, наплодите программистов-графоманов

      • vassabi
        /#24975274

        "наплодите" :)

        поздно вы батенька проснулись - программисты-графоманы с нами уже который десяток лет, или вы думаете что курсы "программирование за 21 день" работают вхолостую а индусов не существует?

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

        • adawadagames
          /#24975512 / +1

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

  23. PsihXMak
    /#24975850 / +1

    В общем, я понял, расходимся. Нет среди нас программистов. :)

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

    • MaxLevs
      /#24976738 / +1

      (Хороший | Плохой | Злой) программист

  24. mbait
    /#24975996

    Когда устал от снобизма 20-ти летних "сениоров", ушёл из промышленного программирования и кодишь для души.

  25. mbait
    /#24976002 / +3

    Кстати, это Джосеф (Йосеф, Иосиф?) не на шутку зависнет, когда узнает, что помимо дискретных компьютеров есть ещё и аналоговые, и, например, настройку гидравлической системы с термостатами, насосами и клапанами подмеса можно вполне приравнять к программированию.

  26. ilya-chumakov
    /#24976600 / +1

    нельзя не задать встречный вопрос: когда сменивший вид деятельности (например, продвинувшийся по карьерной лестнице) человек перестает быть программистом, т.е. теряет соответствующую компетенцию?

  27. NeverIn
    /#24977310

    Пожалуй пункт 5 из ответов, все остальное «рюшечки»

  28. pickHabr
    /#24979142

    Отчасти согласен с другими комментаторами - кто получает деньги за программный код, тот и программист. Но с уточнением, что это профессиональный программист, т.е. тот кто сделал программирование своей профессией.

    Есть варианты когда человек кодит для себя, по приколу, делает свою игру мечты и тд, или делает коммиты в open source, но не зарабатывает на разработке ПО денег и тп. Таких людей КМК тоже следует считать программистами.

    Вот я хожу в спортзал, но не зарабатываю спортом на жизнь, не показываю каких-то выдающихся результатов, не читаю никакую литературу про спорт, но при этом я все равно спортсмен. Спортсмен-любитель.

    Если слесарь работает по 4 часа в день 5 дней в неделю и каждый день по 2 часа играет на скрипке, то он слесарь или музыкант? А если школьник каждый день решает задачи по программированию, то он не программист? Я думаю, что программист, пусть чего-то не знает, не умеет, все мы всю карьеру учимся чему-то.

    Поэтому, программист - человек, занимающийся программированием. И не важно hello world он пишет или софт для банка. Пока человек занимается программированием - это программист, а далее можно (при необходимости) определять уровень этого программиста.