Работа в IT
Вся команда на дейлике: *Делится сделанными задачами*
Сеньор с зарплатой 5к долларов:
Вся команда на дейлике: *Делится сделанными задачами*
Сеньор с зарплатой 5к долларов:
Своим опытом укрощения ИИ поделился Алексей Мартынов, программный директор Яндекс Практикума. Он рассказал, какие нейросети пригодятся разработчику и для чего. А еще на реальном кейсе показал, как их использовать, и дал советы новичкам.
Для чего пригодится: ИИ-копилот позволяет быстро разрабатывать и находить проблемы в коде, повышая производительность опытных разработчиков в разы.
Вместе с редактором WebStorm выводит скорость написания кода на новый уровень. Но, конечно, при правильном применении. Новичкам в разработке, вероятно, будет мешать. Но если вы знаете, что вам нужно получить, подготовите контекст и запросите генерацию, то получите строго необходимый результат.
По сравнению с Amazon Whispers эта нейросеть работает несравнимо лучше. Сейчас JetBrains еще предлагает собственный AI-помощник в редакторе, но пока мало успел им попользоваться и не составил точного мнения. Хотя теоретически он должен работать лучше.
Для чего пригодится: GPT в новой версии отлично справляется с анализом графических изображений, неплохо переводит UML-диаграммы в код. Или, например, может выполнять несложную верстку по изображению.
Чат и до этого был неплохим помощником при проверке кода, генерации болванок и сниппетов. Но теперь, с расширенным контекстом и лучшим распознаванием изображений, обрел много новых вариантов применения.
Автоматизировать работу также поможет YandexGPT. Нейросеть ответит на вопросы по коду, объяснит работу алгоритмов и структуры данных.
Для чего пригодится: это и все остальные решения требуют уже гораздо более глубокого погружения, но меняют сам подход к работе с кодом. Теперь программы — это набор действий, а их порядок может определяться моделями машинного обучения.
Google TensorFlow — это не только про анализ данных, но в том числе и отличное средство для формирования обучаемых программных систем на стыке обычного кода и машинного обучения. Очень производительное API, достаточно удобно встраиваемое в код.
Если вы только начинаете свой путь в разработке, но очень хотите попробовать нейросети в деле, перед этим пройдите наш бесплатный курс по основам программирования, чтобы лучше понимать код. А потом при желании можете освоить бесплатные курсы с базой по Python-разработке и Go.
Работать в нейросети в виде чата — самый неудобный способ. Но если использовать API и предоставлять соответствующий контекст для заготовленных и отработанных запросов, то рабочую среду можно автоматизировать очень и очень сильно.
Мало того, в GPT, например, можно создавать агенты, которые могут даже исполнять произвольные действия. Аналогично используя API, можно реализовать и у себя на компьютере или сервере и использовать в повседневной работе. Такое применение устраняет большую часть рутины и может экономить до 60–70% времени, позволяя сконцентрироваться на важных задачах.
Примеров применения нейросетей в программировании много, но мало какой кейс влезет в короткий текст, так как ежедневно используется в больших проектах. Из небольшого — это, например, быстрое прототипирование онлайн-сервиса для обрезки изображений в качестве учебного примера. Использовались Github Copilot и ChatGPT-4o.
```copilot
generate open api swagger defenition for photo crop service with following routes:
— post request for files upload return id for each file
— get request with id parameter for download image preview
— post request for croping array of prevoiously uploaded files by id and crop settings, return task id
— get request for downloading zip archive by task id
```
Генерация промежуточных типов, конфигов, описаний API и прочего значительно улучшает последующие результаты, но их нужно отсматривать и корректировать. После этого можно подготовить и настроить проектную директорию для бекэнда и сгенерировать сервер.
```
With open api defenition in api.yaml file generate routes realisation for express server using multer for file handling. Use unique identifiers for uploaded file names based on uuid package.
```
Причесываем код, устраняем ошибки. При генерации их всегда хватает, но можно скормить его GPT и попросить найти ошибки или предложить улучшения и т. д. Почему не в копилот? Чтобы не загрязнять его контекст, да и непосредственно с анализом и доработкой GPT справляется лучше, а у Copilot генерация первичная на лучшем уровне благодаря проектному контексту.
Подготавливаем заготовку фронта на реакт и генерируем основные компоненты.
Для загрузки:
```
Generate typescript react component for drag and drop uploading single file to the server using this api. Component should have a setFile(fileID) prop callback called when file uploaded and pass file id to them.
```
Для кроп зоны:
```
Generate typescript react component and corresponding styles for display and edit crop zone for uploaded image. Component should accept in props imageUrl, onChange and value for crop zone editing.
```
Вуаля, осталось собрать все это вместе, исправить ошибки и т. д.
Не полагайтесь на код который выдает нейросеть, чтобы работать с ним вы должны знать его значительно лучше чем она и работать с ним очень внимательно. Запросы формируйте максимально конкретно: указывайте детали, дополнительный контекст, ограничения и пр.
Используйте нейросети для быстрого прототипирования какого-то решения, после чего его можно декомпозировать уже более детально и прописать требования и ограничения для каждой части. А уже с этими требованиями сгенерировать более годный код.
Не пускайте код от нейросети в прод: в нем изобилуют уязвимости, разного рода ошибки и не самые оптимальные решения. Но это хорошая болванка, чтобы не забивать кучу лишнего.
Не пытайтесь сгенерировать сразу все :) Чем меньшими шагами вы движетесь, тем лучше результат получаете.
Если вы начинающий разработчик, не генерируйте код. Лучше отправлять его части на проверку в нейросеть — вот это будет полезно.
Для тех, кто хочет войти в мир программирования, но пока сомневается, мы приготовили бесплатный тест на профориентацию. Его разработали методисты МГУ и Яндекс Практикума: он проанализирует ваши навыки, опыт и предложит подходящие специальности.
А наши бесплатные курсы помогут узнать о разных профессиях в IT, попробовать себя в них и определиться с направлением.
Реклама ООО «Яндекс», ИНН: 7736207543
Как ворваться в Айти? Кто имеет возможность получить хорошую работу?
Я собеседовал за свою жизнь ближе к тысяче соискателей.
Так вот, нет проблем у трех категорий:
1. Хороший профильный вуз и специальность. Проблем нет вообще, как недавно писал, искал из студентов и все с курса 3го оказались уже заняты. А сеньоров из этой категории компании переманивают друг у друга.
2. Спецы с околопрофильными специальностями и каким-либо опытом. Тут снова объяснять нечего. Есть база, есть опыт.
3. Люди с богатым опытом и стажем в ИТ без профильного образования или без высшего/сс образования вообще.
Интересная прослойка работников. Этим людям обычно около 40 и выше, т.е. они начинали работу в то время, когда айтишник был невостребованной специальностью, т.е. считались где-то на уровне ахошника-завхоза или электрика. Стоит брать только потому, что в большинстве любят свою работу, понимают и разбираются в происходящем.
Все, остальным врываться есть смысл только, если есть блат или жирная прослойка, чтобы не помереть с голоду при отсутствии гарантии, что вас возьмут на работу вообще. После пары месяцев можно выкинуть эти знания на свалку, т.к. они не используются.
Человек без профильного стажа и образования сейчас автоматически идет в отказ и очень редко берется "за еду".
К примеру, решили вы стать девопсом, купили курс, прошли его даже.
И... работать вы не можете, т.к. нет познаний в виртуализации, нет знаний в сетях, вы не знаете что такое regex, вы даже не сможете нормально использовать логическую переменную, нет понятия о типах и т.д., и т.п. еще часов на 3000 только теории и практики.
У всех трех перечисленных категорий есть по этому как минимум база, как максимум они хорошо в этом разбираются.
Это исключительно мое личное мнение исходя из личного опыта.
П.с. пишу с телефона, сорян.
Такую задачу поставил Little.Bit пикабушникам. И на его призыв откликнулись PILOTMISHA, MorGott и Lei Radna. Поэтому теперь вы знаете, как сделать игру, скрафтить косплей, написать историю и посадить самолет. А если еще не знаете, то смотрите и учитесь.
Потому, что IT на высшем уровне - это о том, чтобы не делать одну и ту же работу два раза, отказ от ручного труда, а для этого нужно каждый раз проводить НИОКР - не все могут строго декомпозировать, формализовать и алгоритмизировать задачу на компоненты, которые можно переиспользовать.
Первые 4-ре года программирования, когда не мог понять почему результат не тот - эта черная(белая,цветная) магия/нужно обновление/день говно/это клиент касарукий/вся другая хрень... А когда начинаешь проверять каждый символ - оказывалось что сам дибил.
Другие наши проекты: ad.tproger.ru/sm?utm_source=pikabu
Вот в этом посте ярко описана проблема большой компании, которая пожопилась на толковых безопасников и айтишников, пишущих безопасное приложение. В итоге страдают клиенты, страдает предприятие (за время простоя оно получит убытки сравнимые с двухгодичной зарплатой качественной команды разработки).
Профессиональный программист спроектирует приложение так, чтобы каждый сотрудник имел доступ только к тому минимуму информации, который ему необходим. А безопасник обеспечит защиту от доступа к системе извне.
Чтобы работать в IT нужен интеллект и умение учиться. Троечникам там делать нечего. Туда не попасть по блату. И по сестле тоже. Только навыки и умения.
Многие думают, что в IT должно быть так же легко попасть, как, например, в трактористы: окончил курсы, получил права, пошел копать.
Но IT принципиально сложнее: тракторист - пользователь трактора. IT-шник - его конструктор. Нельзя окончить ВУЗ и начать проектировать самолёты. Ты начнешь сначала рисовать шасси, потом тебе доверят какие-нибудь механизма, и до разработки концепции следующего "супреджета" ты проработаешь там 20 лет. Будешь знать какая гайка на каком узле ставиться. Где нужен какой шплинт и почему там не подойдёт другая деталь.
В IT тоже самое. Чтобы собрать простое web приложение нужно знать устройство баз данных, уметь настроить web сервер, докер, настроить автоматизацию деплоя приложения на рабочий сервер. Знать как работать с системами мониторинга, как обеспечить тестирование приложения.
Проблема в том, что все воспринимают курсы IT как пропуск в отрасль, некую замену "блата", а по факту, чтобы работать в интеллектуально ёмкой отрасли - нужно сначала получить качественное базовое обучение и потом на практике с нуля несколько лет выстраивать карьеру, постоянно учась.
Но все видят зарплаты по 300К и не видят труд, который за этим стоит.