Самоидентификация программиста

interface
09347fc47da74a1c8d6358e9ac29ed49.PNG

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

private
14 лет назад, я устроился на работу инженером-конструктором. Кроме прямых обязанностей, мне приходилось делать заявки на приобретение материалов (металл, комплектующие) для того, что я проектировал. Были пустые бланки в Excel, которые распечатывались и заполнялись руками в двух экземплярах, для службы снабжения и склада.

Позже, через 3 года, я введу для себя понятие «рациональная лень». Это когда делаешь всё, для того чтобы меньше уделять времени задаче, а результат от этого не страдает.

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

procedure
Hello, world! Теперь мне нужно научиться хранить данные. Поставщики, материалы, количество, единицы измерения. «Ну, можно по-разному, можешь в Registry хранить» — отмахнулись от меня старшие товарищи. Так появилась моя первая программа с базой данных основанной на регистрах. Улыбнулись? Form1.Print — так я распечатывал свои заявки, которые теперь хранились на компьютере, а их составление было одним удовольствием, по сравнению с заполнением руками. Потом добавил в программу конвертор единиц металла. Следует отметить, что интернета тогда у нас не было.

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

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

12c1d92981a84290bdfec5dc7473cc1e.PNG

Я изучил основы SQL, и три года назад программа переехала с расшаренных папок на полноценный MySQL. Два года назад программа научилась залазить в базы 1С. Год назад подружилась с Android приложениями, которые шлют ей различные данные из цеха. И много, много чего ещё. Я делал и делаю это всё один. Кто же я теперь? Ответ — на сегодня моя программа затрагивает все сферы деятельности моего предприятия. В ней есть всё.

4fa9a6b5a1414a509808666a87aa5b63.PNG

end
Вот мы с вами и подошли к самому главному. Задайте мне любой, самый простой вопрос из области программирования. И я вам не смогу ничего ответить. Я понятия не имею, как устроены базы данных. Даже не знаю/не запоминаю, как расшифровывается SQL. Как работает поток? Эээээ. Создай класс. А что это? И так далее. С самого начала я всё делал по примерам, экспериментируя с кодом. Не совсем бездумно, но и, не вникая в те тонкости, с которыми вы (программисты) на короткой ноге, которым вы посвящаете свою жизнь.

Совсем недавно я задал себе вопрос. Могу ли я, хотя бы частично отнести себя к программистам? Или я жалкий подражатель? Программисты создают программы. Но ведь я тоже создал программу, даже целую IT вселенную в рамках своего предприятия, которой пользуются люди. C другой стороны, если вы научились лечить простуду или определять, что у человека инсульт, говорит ли это о том, что вы врач? Где та черта, переступив за которую, человек может относить себя к тому или иному профессиональному сословию?

А может дело в окружении? Для своих коллег я конечно человек с функцией программиста. А вот для вас, наверное, нет. Что это за программист, который не знает, зачем в коде строка implementation. Дело в том, что я и не хочу знать всего этого.

Кто же он, настоящий программист?

Комментарии (13)

  • 31 марта 2017 в 13:15

    0

    На мой взгляд все просто. Зарабатываешь программированием? Если да, то «профессиональный программист». Иначе «программист любитель». Ничего нового.
    • 31 марта 2017 в 13:58

      0

      В данном случае, автору могли не платить за созданную им программу, но это могло сказаться на продвижении по службе и поднять материальное благополучие. Он полупрофессиональный программист?)
  • 31 марта 2017 в 13:32

    0

    Для чего такие посты пишутся? Чтобы автора пожалели, похвалили, сказали что он очень умный и красивый? Я вот такого не скажу.
  • 31 марта 2017 в 13:48

    0

    Большинство как-то так и начинали, разница только в том, что они потом всё-таки попытались систематизировать знания. Да, вы написали программу, но что-то мне подсказывает, что это трудноподдерживаемая лапша (если не так — заранее извиняюсь). Это, в принципе, тоже вариант создания программ, но большинство продуктов разрабатываются в команде и требуют некоторого понимания теоретических основ, как минимум ради эффективной коммуникации.
  • 31 марта 2017 в 13:55

    0

    Тронут статьей, мужик молодец!
    Не каждый выпускник, с корочкой программист, напишет программу охватывающую все предприятие.
    • 31 марта 2017 в 14:15

      0

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

      Что-то в духе

      Все знают, что это невозможно. Но вот приходит невежда, которому это неизвестно — он-то и делает открытие.
  • 31 марта 2017 в 13:57

    +1

    Желание расти и двигаться вперед. Желание постигать новое и утверждаться в уже достигнутом. Стремление решать нестандартные задачи и мыслить логически. Желание получать опыт и делиться им с другими. Желание творить… Вот признаки настоящего программиста.

  • 31 марта 2017 в 13:57

    +1

    >>Могу ли я, хотя бы частично отнести себя к программистам?

    Да. Не частично.

    И не поверишь, но таких больше 50%.
    А наличие диплома и владение терминологией не делает человека программистом.

  • 31 марта 2017 в 13:58

    0

    «У меня есть фотоаппарат, я делаю снимки, которые нравятся людям, но я не знаю, как работает фотоаппарат, сколько лепестков в диафрагме моего объектива и почему из байонета виднеется зеркальце (Что такое байонет?) — могу ли я называться фотографом?»
    Суть аналогии очевидна,- если ты делаешь продукт, который устраивает конечного пользователя, и при этом даже получаешь за это деньги, то КМК, ты можешь назвать себя программистом, трубочистом, кем угодно, лишь бы продукт был качественный (Правда, это понятие сильно размазано и не имеет четких границ, но думаю, мы в той или иной мере можем объективно оценить качество своего продукта).

  • 31 марта 2017 в 13:58

    0

    Но ведь я тоже создал программу, даже целую IT вселенную в рамках своего предприятия

    ох, как же мы любим себя хвалить на хабре).
    Кто же он, настоящий программист?

    Да никто, нет его.
  • 31 марта 2017 в 14:03

    +1

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

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

    Сможет ли ваша программа быть поставлена на несколько предприятий? Продана как продукт и отдана на поддержку группе разработчиков? Возможно ли как-то оценить качество кода?

    Профессионал существует в рамках рынка, если ваш рынок — это единственное предприятие, то вы профессионал в решении своих задач.

  • 31 марта 2017 в 14:12

    +1

    Программист — который свои проекты в GitHub выкладывает. Остальные — жлобы.
  • 31 марта 2017 в 14:17

    0

    Перефразируя Пруткова — Хочешь быть программистом — будь им

© Habrahabr.ru