#313 – Заменит ли ChatGPT программистов? И разных других специалистов.

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

Но сегодня пришла интересная мысль в голову, поэтому нужно ей поделиться. И она конечно о новом чатике и как раз в разрезе того, что я делаю. А делаю я сейчас проект по изучению слов. Занимаюсь только этим плотно последний месяц. И вот вот мне кажется, что я уже закончу и дам доступ первым людям, для теста, как на горизонте появляется новая стена. Почти как китайская. И ты такой, что опять? Я то думал, что я уже почти нашел долину с сокровищами. Вот осталась последняя ловушка. И вот он сундук. Но оказывается, что ты просто открыл новую карту с приключениями.

И так во всем в жизни. Так, а при чем тут программисты и чатджипити? А все при том. Когда я начал пользоваться чатиком, дело пошло намного веселей. Приведу пример. Мне нужно было сделать функцию выбора слов для повторения. Начнем с того, что просто придумать алгоритм выбора слов, заняло у меня несколько дней. Потом я сделал первую версию и она никуда не годилась. Пришлось выбросить все в мусорку. Хотя я думал, что уже решил задачку. А эта функция, по сути это ядро программы.

И вот я сидел и два дня писал вопросы чатику, чтобы он мне сделал то, что нужно. Хочу заметить, изначально пол года назад я начал учить язык Го. Но в проекте, мне было нужно знать такой стек технологий – html, css, javascript, golang (который я изучаю), и вот теперь еще нужно знать скриптовый язык для работы с базой данных mysql. И вот его тоже я начал изучать, чтобы написать довольно простой проект. А вот вам пример запроса из функции, которая делаем всего лишь одну задачу в моем проекте.

SELECT d.title, w.id_word, w.wordInRu, w.translationInEng, ws.repetition_count, ws.last_repetition_date, DATEDIFF(CURDATE(), ws.last_repetition_date) AS days_since_last_repetition, CASE ws.repetition_count WHEN 1 THEN 1 WHEN 2 THEN 3 WHEN 3 THEN 5 WHEN 4 THEN 5 WHEN 5 THEN 7 WHEN 6 THEN 14 END AS days_to_repeat, (CASE ws.repetition_count WHEN 1 THEN 1 WHEN 2 THEN 3 WHEN 3 THEN 5 WHEN 4 THEN 5 WHEN 5 THEN 7 WHEN 6 THEN 14 END – DATEDIFF(CURDATE(), ws.last_repetition_date)) AS count FROM Dictionary d JOIN DictionaryWordsConnect dwc ON d.id_dictionary = dwc.id_dictionary JOIN Words w ON dwc.id_word = w.id_word LEFT JOIN WordStatistics ws ON w.id_word = ws.id_word WHERE d.id_dictionary = 74 AND (ws.repetition_count < 6 OR ws.repetition_count IS NULL) ORDER BY CASE WHEN count < 0 THEN 1 WHEN count = 0 THEN 2 WHEN count IS NULL THEN 3 ELSE 4 END ASC, count ASC LIMIT 5;

Как вам? А вы говорите программирование это весело). Так вот, чтобы вы понимали. У меня в проекте всего 5 табличек с данными. И чтобы выбрать нужные мне данные, я два дня сидел и тупо задавал вопросы чатику. И тестировал то, что он мне выдавал. При этом я минимально знаю уже синтаксис языка. Но чтобы написать такой запрос без чатика, думаю у меня ушло бы пару недель. Круто, подумаете вы. Ну лично я продолжаю быть в шоке от этого.

Но при всем этом, есть другой важный момент. О котором почти никто не говорит. А именно – это усложнение инструментов. Даже с этим вашим джипити. Чтобы получить ответ на чуть более сложный вопрос, нужно несколько дней. Хотя, как я писал раньше, все зависит от вашего умения правильно задавать вопросы. Когда тупой, задаешь вопросы два дня.

И так во всем. Но если говорить о программировании, то умение писать код сейчас это думаю 40 процентов нужных знаний и навыков для программиста. Остальное – это умение пользоваться новыми навороченными инструментами. А чтобы ими пользоваться, нужно понимать, как они работают. Как работают определенные технологии.

Вот вам пример вакансии на разработчика на го. Строчка про го первая, чтобы вы понимали)). Как вы думаете, как вам поможет ваш чатик, чтобы устроиться на работу?

Від тебе чекаємо наступні навички:

  • Досвід роботи з Golang від 3-х років;
  • Досвід розробки від 5-ти років;
  • Досвід роботи з Geth, OpenEthereum;
  • Впевнене розуміння та досвід роботи з EVM мережами (Ethereum, BinanceSmartChain, Polygon, etc.);
  • Досвід роботи з PostgreSQL, Redis, MongoDB, RabbitMQ, TimescaleDB, Kafka, Influixdb;
  • Досвід роботи з продуктами контеризації Kubernetes та/або Docker;
  • Досвід роботи з Zabbix, Grafana, ATOP;
  • Вільне користування Git, GitLab, GitHub, Jira, а також SonarCloud;
  • Розуміння принципів ООП, MVC;
  • Розуміння Linux (Debian/Ubuntu), SSH, TCP/UDP/WebSocket.

Буде істотним плюсом:

  • Розуміння принципів функціонування DApp’s;
  • Знання JavaScript (React.js, Ethers.js, Node.js);
  • Розуміння та притримування CI/CD процесу;
  • Досвід роботи з Prometheus Stack, ELK Stack, Graylog, Terraform;
  • Досвід роботи з NATS.

І такі обов’язки:

  • Розробка високонавантажений, швидкісних, мультипотокових програм та сервісів для роботи з web3;
  • Тестування, скоринг та оптимізація програм та сервісів;
  • Розробка архітектури програм та свервісів в проєкті;
  • Інтеграція нового функціоналу, а також сторонніх сервісів в розроблені рішення;
  • Адміністрування бази даних.

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

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

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

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

Так и в программировании. Мало уже писать код. Ты должен уметь собрать его, запустить, общаться с командой в зуме, код синхронизировать в Гитхабе. Собрать образы в Docker. И так до бесконечности. И вроде бы все упрощается, но одновременно и сильно усложняется. Потому что тебе теперь нужно знать больше инструментов для эффективной работы.

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

Лет 10 назад, я думал что профессия риелтор исчезнет. Ну глупый был. Что сказать. В моей картине мира, главное что было у риелтора – это знание номера телефона продавца. Я просто начинал работать тогда, когда еще все актуальные предложения были в печатной газете Авизо. Со временем я понял, что это не так. И что вообще у риелтора другие задачи, другие вещи он должен продавать клиенту. У меня была мысль, что вот не нужен будет риелтор, потому что продавцы будут сами давать объявления в интернете и покупатель сможет легко сам все найти.

И что вы думаете? Появился OLX, теперь вот есть ЛУН. Все можно найти в пару кликов. И что вы думаете? Исчезли риелторы? Исчезли только те, кто продавал телефонные номера. Но те кто продает время, знание рынка, предоставляет сервис, умеет вести переговоры. У них только увеличился объем работы. Потому что рынок растет и все вокруг усложняется.

И теперь предложения на рынке столько, что по сути ты не можешь обработать такой огромный поток информации. Тебе нужен специалист, который поможет принять правильное решение. Не купить дорого, не продать дешево. Рассказать почему этот комплекс лучше, а этот брать не стоит. Когда предложения много – большая проблема сделать выбор. Организовать весь процесс сделки, подсказать по документам, привлечь юриста где нужно.

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

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

Всем мир!