Самоидентификация программиста
uses
Ваши коды, выраженные в мириадах строк, зашиты в мультиварках, холодильниках, телевизорах и телефонах. Вы пытаетесь обучить машины думать и работать во благо людей, высвобождая тем самым человеку время для более глубокого познания себя. Ваши творения обыгрывают нас в шахматы, предсказывают погоду и подсказывают, как объехать пробку. И наконец, вы просто пишите здесь статьи, от одних названий которых я чувствую себя неандертальцем с палкой-копалкой в руке. Но задумывались ли вы о том моменте, когда к вам пришло осознание того, что вы программист? Или этот момент ещё не настал?
private
14 лет назад, я устроился на работу инженером-конструктором. Кроме прямых обязанностей, мне приходилось делать заявки на приобретение материалов (металл, комплектующие) для того, что я проектировал. Были пустые бланки в Excel, которые распечатывались и заполнялись руками в двух экземплярах, для службы снабжения и склада.
Позже, через 3 года, я введу для себя понятие «рациональная лень». Это когда делаешь всё, для того чтобы меньше уделять времени задаче, а результат от этого не страдает.
В соседнем здании НИИ, на территории которого мы арендовали помещения, был отдел программистов. Возвращаясь из столовой, я зашёл к ним и попросил мне показать что-нибудь, в чём я могу создать программу. Так я познакомился с Delphi7. Выпросив у них книгу по программированию, я начал рационально лениться.
procedure
Hello, world! Теперь мне нужно научиться хранить данные. Поставщики, материалы, количество, единицы измерения. «Ну, можно по-разному, можешь в Registry хранить» — отмахнулись от меня старшие товарищи. Так появилась моя первая программа с базой данных основанной на регистрах. Улыбнулись? Form1.Print — так я распечатывал свои заявки, которые теперь хранились на компьютере, а их составление было одним удовольствием, по сравнению с заполнением руками. Потом добавил в программу конвертор единиц металла. Следует отметить, что интернета тогда у нас не было.
Со временем, когда стало необходимо наладить доступ к данным с нескольких рабочих мест, я начал искать варианты решений. Интернет уже появился, и я познакомился с настоящими базами данных. Но сервер (по примерам) поднять ума не хватило, поэтому создав dbf таблицы и выложив их в локальную сеть, я на коленке организовал корпоративную паутину. Заявки, складское хозяйство, табели рабочего времени.
Двигаясь по карьерной лестнице и развиваясь профессионально, я развивал и своё детище. У меня новые обязанности — у программы новые функции. Когда понимал, что в рамки уже не влезаю, то начинал всё заново. New project — и я использую возможность сделать что-то лучше, чем было.
Я изучил основы SQL, и три года назад программа переехала с расшаренных папок на полноценный MySQL. Два года назад программа научилась залазить в базы 1С. Год назад подружилась с Android приложениями, которые шлют ей различные данные из цеха. И много, много чего ещё. Я делал и делаю это всё один. Кто же я теперь? Ответ — на сегодня моя программа затрагивает все сферы деятельности моего предприятия. В ней есть всё.
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↑
↓
Перефразируя Пруткова — Хочешь быть программистом — будь им