"Учите Python, освойте алгоритмы, делайте пет-проекты" — стандартные советы тем, кто хочет стать разработчиком. Но теперь в игре новый участник: нейросети. Они пишут код за секунды, объясняют сложные концепты и даже помогают с резюме. Так стоит ли тратить годы на обучение? Или, может, ИИ скоро сделает программистов ненужными? Мы спросили у Ильи Боговского-студента факультета механики, математики, и компьютерных наук ЮФУ, как сегодня эффективно учиться, какие инструменты использовать и почему без фундаментальных знаний всё равно не обойтись — даже в эпоху ChatGPT.

- Как вы пришли к тому, что хотите посвятить жизнь компьютерным технологиям?

Достаточно необычным способом. Обучаясь в 10−11 классе в школе, а именно в лицее, я был без ума от физики и, соответственно, собирался сдавать ее на ЕГЭ. После сдачи я получил достойные баллы, и как-то во время подачи заявлений в институт в мою голову начали лезть сомнения.

Наверное, частично в этом виноваты мои родители и друзья. Я начал задумываться о том, так ли перспективна физика в будущем для моей профессии, как я думаю. Ну и в результате всё равно уже что сделано, то сделано. С набором предметов ЕГЭ по физике, профильной математике русскому, я поступил на мехмат при ЮФУ, на направление, связанное с механикой.

И так, я начал свое обучение. На первом курсе у нас был очень достойный годовой курс по программированию. Нас учили программировать с нуля, рассказывали языки программирования, например, широко известный Python. У нас был чудесный лектор, декан нашего факультета.

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

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

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

-Довольны ли вы своим обучением? Есть ли на вашем факультете что-то, что нравится вам больше всего?

Безусловно, обучением я доволен. На мой взгляд, факультет Мехмат при ЮФУ— это самый сильный технический факультет, наверное, не только в Ростове-на-Дону, но и в Южном федеральном округе. Нас прекрасно обучают. У нас много курсов как математических, так и связанных с компьютерными технологиями, и программированием, и всем, что с ним связано.

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

 

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

Безусловно, в рамках обучения мы выполняли проекты. Одним из самых глобальных и запоминающихся был проект, который мы выполняли в июне. Это был групповой проект, рассчитанный на 5 человек по банковской тематике. Нам было необходимо создать сайт, Android-приложение и микросервис, который связывал между собой сайт и Android-приложение. Он записывал всю информацию в базу данных. Ну или по запросу мог из базы данных брать информацию и показывать пользователю как на сайте, так и в Android-приложение.

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

-Используете ли вы нейросети в учёбе? Если да, то как именно?

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

-Помогают ли нейросети в изучении сложных тем (алгоритмы, матан, базы данных) или, наоборот, мешают глубокому пониманию?

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

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

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

 

-Пробовали ли вы писать код с помощью нейросетей ? Какие плюсы и минусы заметили?

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

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

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

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

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

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

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

Это даёт неплохой старт студенту, будущему айтишнику.

 

-Какие навыки, на ваш взгляд, останутся важными для программиста, даже если ИИ станет ещё умнее?

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

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

-Хотели бы вы специализироваться на разработке/обучении нейросетей?

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

-Как вы думаете, как нейросети могут изменить профессию программиста в ближайшие 5–10 лет?

Заслуженный вопрос, который тяжело спрогнозировать мне как студенту, который еще не познакомился в деталях с машинным обучением. Ну, на мой взгляд, в ближайшие 5−10 лет профессия программиста сильно не изменится. Если же мы возьмем диапазон побольше, например, полвека, 50 лет, то тогда, конечно, возможно, профессия уже сильно поменяется.

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

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

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

Автор: Екатерина Бареева, Мария Войнилова