«Любой дурак может написать код, понятный компьютеру. Хорошие программисты пишут код, понятный людям ».

У меня в голове все время одна мысль: «Кто я?». Нет ... это не экзистенциальный вопрос. Я почти уверен, что я человек (правда ли?). Я думаю о том, что мне ответить, если меня спросят: «Чем ты зарабатываешь на жизнь?». Обычно я бы сказал, что я программист, но мне не нравится, что этот термин описывает меня 😅 Я бы назвал себя инженером-программистом.

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

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

1. Кодер

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

Я не знаю. Может быть, в США или любой другой стране они используют этот термин (?) Но, по крайней мере, здесь, в регионе Индонезии, мы, изучающие и применяющие информатику, никогда бы не назвали себя программистами. Это было так странно и «раздражающе», когда я впервые услышал это на шоу. Так что, мой коллега-компьютерщик, вас это тоже беспокоит? 😜

2. Программист

Следующий термин, который я хотел бы обсудить, - это самый распространенный термин, используемый людьми, как мне кажется, программист. Если вы посмотрите это в Википедии, программист - это человек, который создает компьютерное программное обеспечение. Это человек, который может написать программу, вот и все! Итак, если вы создали простую программу… Поздравляем! Можете называть себя программистом 😎

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

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

Поэтому без намерения подорвать звание «программиста», я думаю, не совсем уместно называть человека, изучавшего информатику, программистом. Да… мы тоже программисты наизусть ❤️ но я думаю, что мы больше, чем это 😀 Кроме того, мы никогда не называем друг друга программистами. Мы используем этот термин, чтобы упростить определение, потому что большинство людей более знакомо с этим термином.

3. Инженер

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

"We apply engineering principles to the software that we built"

это одно из мнений моих друзей о том, что на самом деле означает для них термин «инженер».

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

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

«Инженер-программист» - это также общий термин, который мы часто используем. Это похоже на «доктор». Вроде как врачи, у которых есть свои специальности: кардиоторакальные, неврологические, психологические и т. Д. У нас также были свои специальности. В настоящее время некоторые из обычных людей - это бэкэнд-инженеры, фронтенд-инженеры, мобильные инженеры, инженеры по тестированию / автоматизации и инженеры по обработке данных.

4. Разработчик

Есть еще один термин - «разработчик ». Мы также используем этот термин среди нас, но не всех нас можно описать с помощью этого термина. Запутаться? Постойте, я попытаюсь объяснить это 😃 Программирование - это использование языков программирования для создания программы (ну конечно 🙄). Существует широкий выбор, и каждый из языков имеет свои сильные стороны и свои варианты использования. Например, при создании сети может интенсивно использоваться язык программирования PHP или Javascript. Для приложений Android необходимо использовать язык Java. Таким образом, термин «разработчик» используется для описания инженеров, которые создают программное обеспечение с использованием одного из этих языков программирования, что они «разрабатывают» что-то с использованием определенного языка программирования. Итак, есть разработчики Javascript, разработчики Java, разработчики Python и так далее.

Этот термин также используется для нескольких типов инженеров. Например, вы можете использовать этот термин для большинства фронтенд-инженеров. Например, веб-разработчики или разработчики мобильных устройств. Этот термин также используется для инженеров, которые любят играть. Да! Разработчики игр. Эти инженеры могут использовать этот термин, потому что в дополнение к созданию программного обеспечения, они также «разрабатывают» его, улучшая в каждой версии для пользователей. Однако мы никогда не использовали «игрового инженера», потому что это никогда не кажется правильным 😂 В конце концов, они, по сути, не «разрабатывают» игру, вместо этого они «разрабатывают» игру.

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

Вот и все! Надеюсь, вы знаете, в чем разница между каждым термином, и признаете мое «беспокойство» по отношению к каждому из этих терминов 😁

Итак, мои друзья-инженеры ... вы чувствуете то же самое?

С уважением - Ферзос 🍻