Программирование с чего начинать

от admin

10 способов научиться программировать самостоятельно

Программирование — один из ценнейших навыков для карьерного роста, саморазвития и создания чего-нибудь удивительного. Десять советов для тех, кто только начинает своё путешествие в мир программирования, от Lifehacker.

Программирование — один из ценнейших навыков для карьерного роста, саморазвития и создания чего-нибудь удивительного. Десять советов для тех, кто только начинает своё путешествие в мир программирования, от Lifehacker.

10. Выясните, почему вы хотите программировать

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

9. Выберите правильный язык программирования

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

Язык, с которого стоит начать, зависит от причины изучения. (К примеру, если вы хотите создать приложение под iOS, вам лучше начать с изучения Swift). Если вы со всей серьёзностью отнеслись к намерению программировать, можно начать с языка C. Хотя выбрав Python, вам будет проще влиться в струю программирования.

Пройдите курс Специализация Python от Coursera, стоимость $49 в месяц.

8. Начните с малого… и будьте терпеливы

Независимо от выбора языка или метода обучения, вам следует начать с самого начала. Когда Дэвид Сински (David Sinsky) научился программировать за восемь недель, он, к примеру, потратил одни выходные на изучение основ Python, а другие — на Django. Взяв учебник, он удалял написанный код и снова проходил обучающий материал с нуля. Начните с основ и будьте терпеливы к себе. Взяв первый проект в программировании, разделите его на несколько этапов. И если один из способов обучения вам не подходит, не опускайте руки — попробуйте другой.

7. Попробуйте приложения для детей

Сейчас даже малыши учатся программированию. Несмотря на то, что многие программы для детского обучения весьма просты, некоторые из них (например, Scratch) подходят для любого возраста. Не имеет значения, сколько вам лет, даже детские анимационные приложения могут научить основам программирования (у edX есть курс обучения по Scratch).

Онлайн-курсы, чтобы начать программировать:

6. Воспользуйтесь бесплатными онлайн-тренингами

Программирование с нуля предоставляют бесплатные онлайн тренинги и проекты (Codecademy, Hour of Code и др.) могут помочь вам в написании первой программы. Учебные пособия от Khan Academy, Codecademy, Code.org и других познакомят с основами программирования и всем необходимым для создания игры, сайта или другого проекта. Найдите нужный источник в зависимости от языка программирования, воспользовавшись Bento. Это хорошая отправная точка, однако дальнейшее обучение вам нужно взять на себя.

5. Пройдите онлайн-курс

Онлайн-курсы по программированию предполагают более обширную образовательную подготовку по сравнению с сайтами, предлагающами онлайн-тренинги по одному языку. Такие курсы предназначены для обучения основным навыкам в течение нескольких месяцев на занятиях университетского уровня. Я большой поклонник гарвардского онлайн-курса CS50 (его можно пройти бесплатно). Вы даже можете получить образование университетского уровня, выбрав один из онлайн-курсов.

4. Бесплатные книги по программированию

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

3. Изучайте, играя

Иногда лучшим способом обучения являются игры. В то время, как многие учебники по программированию обучают вас программировать простые либо сложные игры, некоторые обучающие сайты сами являются играми: Code Combat и CodinGame — инструменты, используя которые вы можете весело провести время.

2. Найдите наставника или станьте им

Сообщество программистов полно людей, готовых помочь следующему поколению программистов. Hack.pledge () — сайт, который поможет вам найти наставника. Либо вы сами можете стать наставником для кого-то другого. Преподавание изученного поможет вам лучше запомнить информацию.

1. Разберите чужой код

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

Как стать разработчиком с нуля

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

1. Кто такой программист

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

1.1 Чем занимается программист

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

1.2 Можно ли стать айтишником с нуля

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

А вот как стать крутым программистом с нуля и с чего начать — другой вопрос. К примеру, Senior разработчика от джуна отличают годы практики и колоссальный опыт, так что только терпение и труд.

2. Почему вы хотите начать программировать

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

Если же вы питаете неподдельный интерес к процессу, смело ступайте на стезю разработки.

3. Что нужно знать, чтобы стать программистом

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

3.1 Hard skills

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

3.1.1 Основы информатики

В такой сложнотехнической профессии понадобятся даже самые азы, а именно:

  • какие типы данных бывают и чем они отличаются друг от друга;
  • понимание систем счисления — двоичной и шестнадцатеричной; ;
  • понимание принципов выполнения операций ЭВМ.
3.1.2 Математика

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

3.1.3 Алгоритмы

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

3.1.4 Принципы ООП

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

  • абстракция;
  • наследование;
  • инкапсуляция;
  • полиморфизм.

3.2 Soft skills

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

3.2.1 Знание английского

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

3.2.2 Умение работать в команде

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

Речь идёт не о социопатии и необходимости быть душой компании. Чтобы стать разработчиком, нужно слушать и слышать, задавать вопросы, признавать ошибки и исправлять их плечом к плечу, а не сваливать вину на сослуживцев при первой же возможности.

Для эффективной командной работы следует понимать и использовать гибкие методологии разработки. Почитайте об Agile, Scrum и Kanban — пригодится.

3.2.3 Стрессоустойчивость

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

Кроме того, вам нужно спокойно принимать пожелания и вносить правки, если требуется, не срываясь на проджект-менеджера и тем более заказчика. Хорошим подспорьем станут книги «Как разговаривать с кем угодно, когда угодно и где угодно» и «HBR Guide. Эмоциональный интеллект».

3.2.4 Постоянное саморазвитие

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

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

3.2.5 Тайм-менеджмент

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

При планировании рабочего дня учитывайте дедлайны, используйте тайм-трекер и таблицу Эйзенхауэра:

4. Какое направление в программировании выбрать в 2023 году

Прежде чем думать, как стать айтишником с нуля самостоятельно, стоит определиться с направлением. По данным Stack Overflow Developer Survey 2020, популярность IT-специальностей такова:

Stack Overflow Developer Survey

В опросе приняло участие 65 000 разработчиков из разных стран.

Но что насчёт России? Согласно данным «Университета 20.35» за 2020 год, в топ-10 востребованных удалённых ИТ-профессий России вошли:

  1. Java-разработчик
  2. Аналитик данных
  3. Разработчик на языке C#
  4. PHP-разработчик
  5. Специалист службы поддержки
  6. Продуктовый аналитик
  7. Разработчик 1С
  8. Kotlin-разработчик
  9. Системный администратор
  10. Системный аналитик

А вот зарплаты айтишников по специализациям за второе полугодие 2020:

Зарплаты айтишников по специализациям

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

5. Десктопная разработка

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

Хотите заниматься этим на серьёзном уровне? Здесь всё просто: если планируете разрабатывать под Windows — учите язык C#, под Linux — C++ или C, под macOS — Swift.

5.1 Программы для Windows

Стоит отметить, что для создания десктопных приложений можно использовать почти любой язык: Java, Python и даже Delphi. Мы же затронем самые оптимальные и популярные языки.

5.1.1 C# / C++

Для серьёзного высокопроизводительного приложения подойдут «плюсы». Но если жёстких требований к производительности нет, лучше обратиться к GUI-платформе Windows Presentation Foundation в составе .NET Framework. Писать на C# проще, и развивается это язык динамичнее того же C++.

Как стать программистом C#: Windows Presentation Foundation

Также есть вариант объединить мощность C++ и удобство .NET. Например, пользовательский интерфейс на C#, а подключение «плюсовых» библиотек через C++/CLI.

Чуть больше вы сможете узнать из нашего гайда по программированию на C++ с нуля.

5.2 Для Linux

5.2.1 C

Linux — это семейство Unix-подобных операционных систем, и так сложилось, что ядро Linux написано на языке C. Да, Си считается устаревшим, поэтому многие программисты предпочитают ему Python, Java, Perl, иногда Ruby. Но драйверы, модули ядра и большая часть системного ПО всё же написаны на языке программирования Си, и для Linux-программ он приоритетен.

Если вас интересует, как стать разработчиком на языке C, загляните в материалы по изучению Си.

5.2.2 C++

По сути, это усовершенствованный С. Браузеры, графические окружения, утилиты GNU и прочее программное обеспечение под Linux написаны на C++. А ещё на «плюсах» написан Qt — графический фреймворк, который используется во многих кроссплатформенных программах и является бесплатным для разработки свободного ПО.

5.3 Для macOS

5.3.1 Swift

Swift — родной язык для Apple-приложений, так что он оптимален для разработки под macOS. Выбрать можно и Objective-C, но последний проигрывает в скорости работы.

  • прост в изучении;
  • легко читается;
  • поддерживает современные синтаксические конструкции;
  • есть опционалы, которые «спасают» от null.

6. Data Science

Языки программирования Python и R — общепринятый стандарт для Data Science, так как они оба отлично подходят для работы со статистикой.

6.1 Python

Как стать Python программистом с нуля самостоятельно? На самом деле, не так уж сложно: у языка Пайтон простой синтаксис, много библиотек, развёрнутая и понятная документация. Но есть и минусы, такие как отсутствие удобных средств ORM и не самая высокая скорость работы.

Для Data Scientist у Python есть немало библиотек и фреймворков:

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

Но у языка R есть свои инструменты для Data Science:

  1. Esquisse и Ggplot2 — библиотеки для создания графиков.
  2. Dplyr — аналог Pandas для R.
  3. Shiny — пакет для интерактивных веб-приложений с визуализацией исследований.

И это не говоря о randomForest, Caret и других библиотеках с методами машинного обучения.

7. Как стать разработчиком на Андроид

В 2019 году компания Google объявила Kotlin предпочтительным языком программирования для создания Android-приложений. Это спровоцировало новую волну споров по выбору языка.

Ответ таков: чтобы стать Android-разработчиком, нужны оба языка, но при этом ознакомиться с их отличительными характеристиками не помешает.

7.1 Java

  • много библиотек и готовых решений;
  • большое комьюнити;
  • разные сферы применения, если вдруг надоест Android-разработка;
  • документация Kotlin предполагает, что вы знаете Java.

7.2 Kotlin

  • лаконичный синтаксис;
  • актуальная IDE, тесно связанная с языком разработки (Android Studio и Kotlin созданы JetBrains);
  • предсказуемое развитие;
  • перспективы.

8. План развития iOS разработчика

А как же тогда стать разработчиком iOS? Здесь всё гораздо проще, так как основной язык всего один.

8.1 Swift

Этот язык программирования разработан Apple и многое заимствовал из Objective-C, а также C++.

  • компактный язык программирования;
  • производительность приближена к C++;
  • тестирование кода в реальном времени со Swift Playgrounds;
  • постепенно распространяется на другие платформы.

9. Как стать разработчиком игр

Что нужно знать программисту, чтобы войти в геймдев? Сперва необходимо определиться, как устроены игры. Хороший вариант для начинающих — готовые движки, такие как Unity и Unreal Engine (но последний сложнее и серьёзнее).

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

9.1 Игры на iOS или macOS

Поговорим о программировании игр на Swift. Для начала необходимо установить «яблочную» IDE Xcode: в ней поддерживается разработка как на iOS, так и на macOS. Среда бесплатная и функциональная. В ней создайте новый проект с шаблоном Single View Application или Game. Тут уж к чему душа лежит:

  1. Single View Application предназначен для приложения с одним экраном. Шаблон включает в себя компонент View Controller для настройки вида с конструктором Interface Builder.
  2. Это специальный игровой шаблон. В нём предусмотрены фреймворки для двумерной визуализации, 3D-графики без OpenGL и низкоуровневый API, с которым можно писать действительно высокопроизводительные игры.

9.2 Браузерные игры

Вообще, создать браузерную игру можно и на HTML/CSS/JavaScript, но мы затронем PHP.

9.2.1 PHP

PHP актуален для разработки браузерных игр, хоть и не заточен под них специально. Такие компании, как Funzio, Gameforge, Goodgame Studios и другие продолжают использовать этот язык в своих играх.

Есть исчерпывающий видеокурс по созданию браузерной игры на PHP — от настройки окружения до регистрации и авторизации:

9.2.2 JavaScript

После ухода тяжеловесной технологии Flash из браузеров у JavaScript-разработчиков появилось много возможностей. Сейчас есть сильная альтернатива — элемент Canvas в HTML5 для создания двухмерных изображений через JavaScript-команды.

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

Как только освоите азы, попробуйте написать что-то сложнее. В этом видеоуроке как раз используются чистый JavaScript и HTML5 Canvas:

9.3 Игры на Unity

Это популярная платформа для разработки игр. Очень дружелюбна к новичкам: можно бесплатно загрузить и обучаться с помощью курсов, словарей и других материалов, которые предоставляет компания и участники сообщества. Платформа поддерживает создание 2D- и 3D-игр.

Игры на Unity пишут с использованием языков C# и JavaScript. Почитайте, как создать простую 2D-игру на Unity.

9.4 Современные большие и требовательные игры

Речь о тяжеловесных многопользовательских играх с сильной нагрузкой на сервер. Такая задача под силу языкам C и C++.

9.4.1 C++

Что нужно знать начинающему программисту о C++? Это самый популярный язык программирования для геймдева: быстрый, мощный, с большим набором полезных инструментов. C++ — практически неограниченные возможности в среде масштабных проектов, в том числе в создании 3D-игр со сложной графикой и анимацией.

Не даром ведущие разработчики многопользовательских игр, такие как Blizzard Entertainment, работают с C++. На нём написаны World of Warcraft, Diablo, StarCraft, Counter-Strike и другие популярные игры. В основе Xbox и PlayStation также лежит C++.

9.4.2 С

Да, язык не такой популярный, как «плюсы», но по-прежнему хорошо справляется с большими нагрузками — альтернатив на низком уровне нет. Когда дело доходит до компиляции, сложно представить, какой бы язык мог конкурировать с Си.

10. Как стать Python разработчиком

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

  1. Data Science
  2. Веб-разработка

Поскольку первое направление мы уже разобрали, сосредоточимся на веб-разработке. Что же что нужно знать Python веб-разработчику? Обратите внимание на фреймворки Django и Flask. Для эффективной работы с бэкендом достаточно одного из них, но в идеале следует понимать оба.

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

11. План развития Java-программиста

А как можно стать Java разработчиком, если никогда не был программистом? Базис для всех языков плюс-минус одинаков: синтаксис, переменные, условия, циклы, ООП. Для решения специфических задач нужно освоить инструмент сборки и управления проектом Maven. Будет полезен и набор open source сервисов Netflix Stack.

Дальше всё зависит от выбранного направления в Java:

  • веб-разработка;
  • Android разработка;
  • программирование для десктопов;
  • Big Data.

Все материалы по этим направлениям, инструменты и путь развития вы найдёте в дорожной карте Java-программиста.

12. Бэкенд разработка — с чего начать?

Как стать бэкенд разработчиком? Нужно понимать, как устроены операционные системы, уметь работать с терминалом, знать стандарты POSIX и концепции построения сети, управлять вводом и выводом (I/O), процессами, а также памятью.

Как освоить бэкенд-разработку в 2022 году: дорожная карта

12.1 Обучение PHP

Как вы могли догадаться, стать бэкенд-разработчиком без знания языка невозможно.

PHP принято считать стандартом бэкенд-разработки, так как на нём написано множество веб-проектов, включая Facebook, Viber, Yahoo, YouTube, Wikipedia и даже движок WordPress, на котором вы сейчас читаете эту статью.

Другие преимущества PHP:

  • простая установка и настройка;
  • кроссплатформенность;
  • выполнение программы до достижения ошибки в коде;
  • большое комьюнити.

12.2 Обучение Node.js

Как известно, стать бэкенд веб-разработчиком на JavaScript можно с программной платформой Node.js. Она позволяет запускать JavaScript-код без браузера на бекенде, а в пакетной экосистеме npm есть много готовых решений.

12.3 Обучение Java

Мы уже разобрались, как можно стать Java программистом с нуля — поговорим прицельно о роли языка в бэкенде.

Для новичка Java сложнее, чем условный Python или PHP, да и код выйдет более громоздким. Однако это мощный инструмент в создании больших веб-проектов вроде eBay или LinkedIn, которые как раз и написаны на Java.

12.4 Обучение Django

Задаётесь вопросом, как стать веб разработчиком, зная Python? Используйте для этого Django — полнофункциональный веб-фреймворк, который предоставляет достаточно готовых решений для серверной части.

12.5 Основы SQL

Это язык запросов для работы с базами данных. Вы вряд ли вы найдёте по нему гайд в разделах «Как стать программистом», ведь SQL нужно не учить, а понимать.

Держите материалы, которые позволят разобраться в основах SQL:

13. Как стать фронтенд разработчиком

Итак, frontend программирование — с чего начать? Вам нужно освоить HTML, CSS и JavaScript — три кита, на которых стоит фронтенд-разработка.

13.1 Обучение HTML

Разметка — это каркас сайта. Чтобы работать с фронтендом, следует хорошо понимать анатомию HTML-разметки, знать основные атрибуты и теги, обеспечивать доступность и освоить SEO хотя бы на базовом уровне.

Для лучшего понимания рекомендуем ознакомиться с видеокурсом «HTML5 для начинающих».

13.2 Обучение CSS

Далее идут каскадные таблицы стилей. В разрезе CSS вам нужно освоить:

  • компоновку;
  • центрирование и выравнивание;
  • видимость элементов.

Это базис. Следующим этапом можно переходить к медиа-запросам, которые позволят учитывать технические параметры разных устройств. В создании адаптивного отзывчивого дизайна помогут CSS Grid и Flexbox.

13.3 Обучение JavaScript

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

Не спешите осваивать фреймворки — сперва чистый JavaScript. Это язык со слабой типизацией, а значит операция вроде 2 + “2” вместо ошибки выдаст результат 22. Так что есть с чем разбираться и без фреймворков.

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

14. Full Stack разработка

Эдакий гибрид frontend- и backend-разработки. Данное направление набирает популярность. Сейчас сложно найти чистых фронтендеров или бэкендеров: для взаимодействия этим специалистам нужно знать, за что отвечают их коллеги по вебу.

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

Хороший пример — CRM-разработчик. В его обязанности входят:

  1. Работа с базами данных клиента: создание событий, автоматизация процессов и интеграция приложений посредством API.
  2. Настройка аналитики в формате репортов/дашбордов.
  3. Создание простенького, но понятного интерфейса для работы с готовым продуктом.

Здесь также применимы инструменты вроде Bootstrap или Angular, но без фанатизма — важно создание рабочего функционального продукта.

Как стать full stack разработчиком

15. Какой язык программирования выбрать в 2023 году

Всё ещё не определились с языком? Для начала взгляните на рейтинг TIOBE:

Рейтинг языков программирования TIOBE 2021

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

15.1 Python

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

Основные сферы применения Python:

  • Data Science
  • Веб-разработка

15.2 JavaScript

О сферах применения JS говорить не стоит: язык давно стал лидером в веб-разработке, сперва захватив фронтенд, а теперь и отжимая бэкенд за счёт Node.js. Если хотите разрабатывать веб-приложения, учите JavaScript.

15.3 Java

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

Основные сферы применения Java:

  • Веб-разработка
  • Android разработка
  • Десктопная разработка
  • Big Data

15.4 C++

Быстрый, универсальный и полезный в качестве фундамента язык. Да, пусть Python в разы проще, но за сложностью C++ скрываются и преимущества. Освоив «плюсы», будет легче понять Java, C# и JavaScript, в основу которых легли принципы C++.

Главные сферы применения C++:

  • Геймдев
  • Интернет вещей (IoT)
  • Операционные системы
  • Ускорение существующих приложений

15.5 С#

C# часто сравнивают с Java, и у них действительно много общего. Код на C# удобочитаемый, а синтаксический сахар обеспечивает высокую скорость разработки.

Основные сферы применения C#:

  • Геймдев
  • AR/VR
  • Десктопная разработка

По этому видеокурсу вы узнаете, как стать C# разработчиком.

15.6 PHP

Это бессмертная классика серверной части веб-приложений. PHP бюджетен, прост в освоении и успел обрасти внушительным комьюнити. Пусть современные сайты и пишутся то на Java, то на Node.js, существует огромная база написанных на PHP веб-приложений, которые всегда будут нуждаться в поддержке.

15.6 Kotlin

Здесь только Андроид. Но, как говорилось ранее, чтобы стать Android разработчиком с нуля, стоит начать с изучения Java, а только после переходить на Kotlin.

15.7 Swift

Если хотите писать десктопные и мобильные приложения для Apple устройств, осваивайте Swift. Это компактный и производительный язык программирования, который постоянно совершенствуется компанией Apple.

15.8 На что обратить внимание при выборе

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

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

16. Где выучиться на программиста

Чтобы ответить на вопрос, где учиться на программиста, необходимо рассмотреть все доступные варианты.

16.1 Самостоятельная учеба

Обилие книг, видеоуроков и сервисов вроде Scratch позволяет освоить базис, не выходя из дома. Но как выстроить план обучения, чтобы стать программистом с нуля самостоятельно? Обратитесь к стандартным программам обучения или роадмапам. Чаще всего основы включают в себя:

  1. Знакомство с программированием.
  2. Разнообразие IT-направлений.
  3. Основы выбранного языка: синтаксис, объекты и классы, функции, списки и словари, условия, циклы.
  4. Hello World.
  5. Модульное тестирование.
  6. Безопасность.

16.2 ВУЗ

Это более основательный подход, и, вопреки распрсотранённому заблуждению, «корочка» IT-специалиста действительно ценится, особенно в крупных компаниях. Если вы серьёзно настроены на карьеру в IT и думаете, как отучиться на программиста, выбирайте вуз.

16.3 Практические курсы

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

16.4 С помощью ментора

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

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

17. Классификация разработчиков

Когда люди говорят, что программисты много зарабатывают, они чаще всего подразумевают сеньоров. Давайте разберёмся, какие уровни IT-специалистов существуют и чем разнятся.

17.1 Стажёр

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

Стажировка может быть как оплачиваемой, так и неоплачиваемой: всё зависит от договорённости с нанимателем. Продолжительность стажировки оговаривается индивидуально. Чаще к стажёру приставляют ментора от компании.

17.2 Junior разработчик

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

17.3 Middle разработчик

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

17.4 Senior разработчик

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

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

18. Как стать Junior-разработчиком

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

18.1 Frontend Junior

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

Итак, что же нужно знать младшему Frontend разработчику в 2023 году?

  1. HTML5, понимать разметку, освоить базовые теги, атрибуты и вложенные элементы.
  2. CSS3 — позиционирование, компоновка и выравнивание элементов, их видимость, отзывчивый дизайн и подходы mobile-first.
  3. Если мы говорим о JavaScript, то сперва следует выучить основы языка, а лишь потом двигаться к фреймворкам.
  4. Понимание MongoDB.

18.2 Backend Junior

К младшему бэкенд программисту иные требования. Он должен знать:

  1. Принцип работы интернета и операционной системы.
  2. Язык серверного программирования: PHP, Java, JavaScript (Node.js), Python (Django) или другой.
  3. Базы данных — реляционные и NoSQL.
  4. API — REST, JSON.

Плюсом будет умение установить и настроить хотя бы один из популярных веб-серверов: Nginx, Apache, Caddy или MS IIS.

18.3 Junior iOS

Чтобы влиться в iOS-разработку, нужно:

  1. Знать язык программирования Swift.
  2. Иметь практический опыт работы с IDE Xcode.
  3. Понимать сущность MVC, а также то, как «яблочные» приложения строятся на основе этого паттерна.
  4. Уметь запускать приложения на устройствах и распространять их.

18.4 Junior Android

Как уже говорилось, начать следует с выбора языка, но за основу лучше взять именно Java, а при необходимости дополнительно изучить Kotlin. Далее:

  1. Практический опыт работы с Android Studio.
  2. Понимание Android Architecture: паттерны MVVM, MVI, MVP.
  3. Изучение жизненного цикла Activity.
  4. Умение создавать гибкие интерфейсы с использованием фрагментов.
  5. Запуск приложений на устройствах.

19. Где работают программисты

Сложно ответить на вопрос, где в целом работают программисты, потому что сегодня профессия требуется чуть ли ни в любой сфере.

19.1 Фриланс

Как стать айтишником на фрилансе? Для этого есть немало площадок: Upwork, Weblancer, Kwork, FL и другие. Но будьте готовы нарабатывать портфолио и репутацию, а для этого первое время придётся перебиваться дешёвыми заказами.

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

19.2 Компании аутсорсеры

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

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

19.3 Стартапы и небольшие компании

Неплохо для начинающих программистов и опасно для опытных, которые готовы ради этого бросить более крупную «рыбу». В стартапах всегда есть риски:

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

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

19.4 Банки и энтерпрайз

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

19.5 Продуктовые компании

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

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

Где ещё можно работать программистом? Это фриланс, open source и собственные проекты.

20. Как найти первую работу в IT

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

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

Что должен знать младший программист

20.1 Где брать проекты для портфолио

Если в поисках ответа на вопрос, где можно выучиться на программиста, вы выбрали курсы, практический опыт гарантирован: курсы для разработчиков не обходятся без написания проектов. То же касается и вузов, где присутствует обязательная практика.

Сложнее будет, если вы самоучка. Но и здесь можно что-то придумать:

  • писать небольшие программы по туториалам;
  • искать задания на фрилансе и выполнять их самостоятельно;
  • принимать участие в разработке open source проектов.

20.2 Как составить резюме, если нет опыта

  1. Нормально назовите резюме. В названии должны быть желаемая должность и ФИО кандидата, как здесь: «Junior Java — Пупкин Иван Иванович».
  2. Резюме может быть в формате Doc, PDF или сайта-визитки, если вы веб-разработчик.
  3. Добавьте адекватное фото и контакты.
  4. Укажите места, где учились и повышали квалификацию.
  5. Не копирайте бездумно инфу из разделов, что нужно знать, чтобы стать крутым программистом: вы должны доказать эти знания на собеседовании.
  6. Если нет опыта работы, указывайте, сколько времени практикуетесь в том или ином языке/технологии.

Последний пункт в резюме программиста может выглядеть примерно так:

  • Java — 1 year;
  • PHP — 0,5 years;
  • JavaScript — 0,5 years.

20.3 Где искать вакансии и работу

О фриланс-сервисах мы уже говорили, потому затронем платформы по поиску работы в офисе или в ремоут-режиме. Для России и стран СНГ лучшие сайты с вакансиями для программистов это:

20.4 Как общаться с рекрутерами

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

Несмотря на это, нужно вести себя в меру сдержанно, демонстрировать серьёзность и говорить о своей мотивации.

21. Что спрашивают у Джунов на собеседовании

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

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

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

Другие вопросы, которые могут прозвучать на собеседовании:

  • Принципы ООП и их понимание.
  • Команды Git — как сделать пуш, коммит и т. д.
  • Основные SQL-запросы.

Всё остальное будет касаться выбранного языка.

22. Что делать, если вам не хватает знаний до вакансии Джуниор-программиста

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

23. Заключение

Надеемся, этот гайд ответил на вопрос, как стать программистом, дал полезные советы и материалы, а также мотивировал на покорение новых вершин.

С чего начать изучать программирование?

В голове почти любого человека, начиная с 2018-2019 года, появляются мысли о том, чтобы поменять профессию на что-то около IT. Эти мысли сразу разбиваются о скалы нескольких больших мифов.

Рынок переполнен специалистами и сквозь огромную конкуренцию прорваться просто невозможно. У меня тоже были такие мысли, когда я уже нашел первую работу. Меня это очень бесило до тех пор, пока я не увидел, какое большое количество людей боится сложностей, связанных с обучением. ОЧЕНЬ много новичков забрасывают курсы или свое личное обучение по многим причинам. Я общаюсь с людьми из этой сферы и могу уверенно сказать, что очень часто слышна цитата «Мы не можем найти хорошего разработчика». Учитывая то, что последние 3 года реклама курсов звучит из каждого утюга, потребности в специалистах вообще не должно быть, но она есть) Также аргумент против мифа о перенасыщении рынка -это то, что сама сфера развивается очень быстро, появляются новые компании, появляются рабочие места.

Обучиться профессии в IT очень сложно. На это можно сказать и да, и нет. Курсы, которые говорят: «ПОСЛЕ ПОЛУГОДА КУРСОВ ГАРАНТИЯ ТРУДОУСТРОЙСТВА» лгут, никто не будет искать вам работу) Суть в том, что обучение любой новой профессии, с которой ранее вы не были знакомы, будет тяжелым, но это только сначала. Информации, которую надо будет выучить, действительно много, но с каждым месяцем обучения будет становиться все проще и проще. А когда найдется первая работа с хорошим тимлидом, который будет указывать на ошибки прямо в проекте, вы получите буст в скорости обучения который сложно осознать.

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

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

Читать:
Почему скорость отправки меньше скорости получения

Работа разработчиком для очень умных ребят. Вранье, я троечник, чуть не вылетел после 9 класса в техникум, поступил в Бауманку на платку, никогда на учебу не забивал, но и звезд с неба не хватал. Много списывал. Все, что знаю, получил не с пар, а из гугла. Всем этим совсем не горжусь, но это прямое доказательство того, что даже не самый «Умный» паренек может чему-то научиться, главное быть усердным и не забивать на развитие. Данных заблуждений в голове может быть огромное множество, поэтому их все расписать невозможно, но мне кажется, что эти — самые популярные. Если вы твердо решили чему-то учиться, двигаемся дальше к основной теме этой статьи. С чего же все-таки начать изучать программирование?

Что из себя представляет разработка? Для людей которые совсем не представляют, что делает программист на работе, постараюсь объяснить простыми словами. Есть проект, например какой-то сайт. Пусть будет ВК. У ВК есть группа людей, которые разбираются в том, какие новые функциональности хотят видеть пользователи. Они заметили, что многим не нравится слушать голосовые сообщения. Было решено добавить возможность распознавания речи, чтобы пользователь нажал кнопку и увидел текст голосового сообщения. Дальше эта идея подробно расписывается на бумаге: как и что должно работать. После этого в игру вступают дизайнеры. Это ребята которые по описанию фичи рисуют то как она будет выглядеть на сайте. И вот на следующем этапе начинают работу разработчики. У них на рабочих ноутбуках есть самая обычная папка, в которой лежит много текстовых файлов. Вот в этих текстовых файлах находится код на разных языках программирования. Задача разработчика добавить в нужные места такой код, чтобы все выглядело и работало согласно дизайнам и описанию фичи. Если все работает, дальше работу программистов проверяют тестировщики, и, если все хорошо, отправляют пользователю.

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

Популярность языка (Статья на тему). Это важно, поскольку у популярного языка большее комьюнити, больше обучающих материалов.

Количество вакансий (Статья на тему). Тут все понятно. Больше вакансий — больше работы.

Средняя зарплата разработчиков (Статья на тему). Это не должно быть самым важным пунктом среди трех перечисленных, тк. зарплаты очень сильно зависят от компании. Но для общего представления стоит это знать.

Когда я смотрел на эти графики 4 года назад, я в первую очередь обратил внимание на JavaScript, и не пожалел о своем выборе. В любом случае важно понимать, что когда выучен 1 язык программирования, второй учится в разы легче.

С чего начать изучение? Дальше я буду рассказывать обо всем на примере JavaScript, просто по той причине, что я прошёл этот путь. На этот вопрос, как и на другие, уже нашли ответ. Существуют так называемые дорожные карты. Гуглятся по запросу «JS дорожная карта» можно много на них смотреть, но в них есть кое-что общее. Это большие блоки JavaScript, HTML, CSS. Эти 3 вещи основа которую надо знать обязательно. Подробнее про каждый из этих трех языков мы поговорим в будущем, но если хочется с чего-то начать, можно открыть YouTube и вбивать уроки по каждому языку в том порядке, в котором они написаны выше. Также я преступно поздно узнал о такой классной штуке как матрица компетенции программиста (Хороший пример матрицы к которой я иногда обращаюсь). Сильно запариваться по поводу того, что вы чего-то не понимаете из этих тем, не стоит, поскольку разные должности требуют разных знаний, но посмотрев на неё можно примерно понять область знаний которые стоит подтянуть.

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

САМОЕ важное, что должен уметь делать программист — правильно формулировать вопрос в Гугл. В работе приходится обращаться к гуглу почти каждый день, во время обучения нужно гуглить целый день.

youtube.com — Главный друг человека, который только начал обучение. Вбиваете например «JavaScript уроки» и вам попадается пара-тройка плейлистов с названиями наподобие «JavaScript с нуля». Найдите того, кто объясняет понятнее, и смотрите его. Если что-то не поняли в объяснении, сформулируйте запрос в Гугл и ищите до тех пор, пока не сможете объяснить своими словами. Это идеальный вариант.

habr.com, medium.com и прочие сайты со статьями — Скорее всего вам будут часто попадаться на сайты со статьями. Иногда они будут на английском, это нормально, пугаться не стоит. Переводите в переводчике, делайте все как там написано, и все будет работать. Если не работает — формулируете вопрос и пишите в поисковой строке гугла.

stackoverflow.com — Это лучший источник информации когда попадется незнакомая ошибка. Просто вставляете в поисковую строку Гугла текст ошибки, с вероятностью 99% в первых ссылках будет этот сайт. В основном там пишут на английском, но переводчик поможет разобраться что к чему.

learn.javascript.ru — Замечательный учебник по JS который охватывает весь синтаксис. В конце каждого урока есть задание и решение к нему с объяснением.

Подытожим. Для того, чтобы начать изучать любой язык программирования, нужно:

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

По выделенным темам искать обучающие видео в YouTube, статьи в интернете, электронные учебники или курсы.

Я бы посоветовал долго не штудировать синтаксис на маленьких задачках и поставить перед собой цель сделать стандартный «Список дел». Обычное приложение которое может создавать, отображать, изменять и удалять текстовые заметки. Такие приложения называют CRUD приложениями (Create Read Update Delete) и очень часто их дают в качестве тестового задания на позиции джуна. В процессе его создания вы изучите синтаксис языка, столкнетесь с кучей проблем и будете искать их решение в гугле. Никто не мешает поискать гайды в YouTube «Как сделать список дел на JavaScript» к примеру. Делаете все как на видео, набираетесь опыта. Далее к этому приложению можно будет прикрутить базу данных, написать для него сервер и, если вам хочется запариться, развернуть в интернете, чтобы кто-то мог зайти туда по ссылке.

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

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

Что представляет из себя обучение на программиста с нуля ⁠ ⁠

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

Что представляет из себя обучение на программиста с нуля Обучение, Программирование, Работа, Карьера, Профессия, Длиннопост

Здравствуйте, меня зовут Александр Зеленин. Я программист с более чем 15 годами опыта. За это время удалось поработать на позициях от веб-разработчика до CTO, в компаниях разного уровня (от 5 человек, до 2000+, стартапах, корпорациях), в разных странах и городах. Так же собеседовал более тысячи человек за всё время, вёл образовательные курсы, менторил и так далее.

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

— Обязательно ли релевантное высшее образование?

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

— Но, всё же, с высшим образованием проще?

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

— Я интроверт. Программист это же самый круто вариант для интровертов, да?

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

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

Основная проблема в том, что начинаешь в новом для себя поле (особенно когда был экспертом в другом) с самых низов. Постоянное ощущение что тупой, знаешь недостаточно, медленно решаешь и так далее. Это серьёзный вызов. Намного серьёзнее чем кажется на первый взгляд.

— Оно того стоит вообще?

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

Специалист высокого уровня может рассчитывать на следующее (на момент написания этой статьи):

а. Для РФ: зарплата в районе 200 000 рублей белая, ДМС (на семью), печеньки, свободный график, оплата образования/садика детей, поездки на профильные конференции, высокую стабильность, интересные задачи, полный пакет для переезда (квартира на месяц, билеты, перевозка грузов, помощь с поиском жилья и т.п.)

б. Для Европы: зарплата в районе 5000 евро, и в принципе всё что и выше. В пакет для переезда часто ещё включают единоразовую выплату в районе 7000 евро. Часто ещё местная пенсия начинает капать и есть возможность позже получить вид на жительство / гражданство

в. США/Канада/Швейцария/Мидл Ист: зарплата в районе 10000$, и все плюшки выше

— Что значит «специалист высокого уровня»?

Принято условно делить специалистов на 3 уровня. Часто очень разнятся требования, но в общем случае они следующие:

1. Junior — может эффективно решать задачи, но требуется помощь более опытных коллег при столкновении с неопределенностями (не понятна задача, не ясно как решать, не ясно кого спросить и так далее)

2. Middle — самостоятельная единица, которая может и задачу решить очень хорошо, и всю информацию собрать сам из нужных источников

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

— Окей, и сколько времени учиться на каждый из уровней?

Самый первый этап, пожалуй, самый сложный психологически. На Junior’а вам потребуется около 1500 часов чистого времени (это полгода по 8 часов каждый день).

После чего джуниором проработаете около 1.5 лет.

После чего мидлом ешё года два.

Если не меняли предметную область, то добро пожаловать в сеньёры (4-5 лет суммарно).

— Погоди, погоди… Я вот видел курсы, там 3 раза в неделю по 2 часа и через два месяца мне обещают зарплату в 100 000 в месяц!

Ну если обещают, значит так и будет (нет).

Я вёл несколько подобных курсов исключительно из личного интереса. Даже увеличив нагрузку на учащихся по часам в 2.5 раза (по 5 часов), к концу второго месяца получался хороший “обзор” технологий.

Конкурентоспособность после таких курсов примерно никакая. В зачёт “опыта” такое не идёт. Ну т.е. вы можете в резюме написать хоть 5 лет опыта, но опыта это не даст.

— Окей, окей, а вообще польза от курсов платных есть?

Вообще есть, если не сидеть и не ждать у моря погоды, а активно использовать возможность общения с ментором и при условии, что помимо этих курсов (которые вроде 6 часов в неделю) вы ещё вкладываете свои 34 часа сверху.

— Какие курсы порекомендуешь?

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

Часто платформы предлагают какие-то сущие копейки за их проведение, что практически сразу исключает появление хороших специалистов готовых их вести (кроме идейных, которых мало и фиг найдёшь).

— Эээ, так как тогда учиться?

1. Обязательно нужно найти личного ментора.

Без этого весь процесс будет либо замедлен в разы, либо уйдёте, не туда потеряв кучу времени. Как найти ментора? Лучший способ это среди друзей и знакомых, кто либо уже программист, либо учится (хотя бы полгода). Обычно программисты не против делиться знаниями и помогать.

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

2. Определиться, где вы хотите работать и что делать

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

3. Составить план и поставить сроки

Составить план поможет ментор. Самому это нереально, потому что ты не знаешь то, что ты не знаешь

— Ментор, ментор. что, совсем никак без него?

Можно и без него. Но тогда надо намного больше читать, делать, пытаться ориентироваться во всём и перепроверять себя постоянно.

Мне доводилось общаться с людьми, у которых 10+ лет опыта, а по знаниям они даже до джунов не дотягивают. Как так выходит — вопрос сложный. Отловить момент стагнации непросто.

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

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

— Статья, вроде, про то как «сменить» специальность, а ты говоришь что нужно пол года по 8 часов. Как совмещать с работой то? Может год по 4 часа?

Подловили. Это очень сложный вопрос. По предыдущему опыту сокращение количества часов увеличивает срок обучения непропорционально (т.е. по 4 часа будет не ожидаемый год, а, скажем, 1.5-2). Так же, в зависимости от текущей работы, усвоение сложного материала может просто не идти и всё, то есть совмещать может не получится. Это всё зависит, всё индивидуально.

Один из способов — это накопить средств и уделить полгода на такой переход. Это может быть очень сложным, когда уже есть семья или другие требования в виде ипотек и подобного. А ещё может получиться что с ходу сложно найти работу или какие-либо непредвиденные обстоятельства типа короновируса.

Другой способ это… ну фигачить по полной. А вы чего хотели? 😀

— У меня друг закончил курсы за два месяца и начал получать 5000$ в месяц сразу после

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

— Где искать работу?

В столицах или, минимум, городах-миллионниках. Если вы не в Москве, Киеве, Минске или где вы там — готовьтесь к переезду. Локальные рынки слишком малы и не могут предоставить достаточно вакансий (особенно для начинающих специалистов), возможности для роста малы и так далее. Вообще если удалить всю статью, и оставить только эту рекомендацию — это будет одним из лучших решений для карьеры (!, но может быть не лучшим для других ваших факторов).

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

— Можно ли устроиться сразу на удалёнку?

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

— Мне 45. Возьмут ли меня Juniur’ом без живого опыта?

Да, возьмут. Возраст вам даже в плюс сыграет, потому что много опыта из жизни хорошо перекладывается на технологии. С большой вероятностью пройти путь до сеньёра у вас выйдет намного быстрее, именно благодаря житейскому опыту (который начинает играть большую роль со стадии “мидла”, чем технические навыки). С релокациями в некоторые страны может быть сложнее если и возраст большой, и вышки нет, но это тоже всё решаемо.

— Какой язык учить?

Зависит от того, чем вы хотите заниматься. Если не хотите играть в лотерейку и пойти по надёжному пути — Java ваш выбор. Во всяком случае он позволит пройти весь путь без сильной технологической смены и с очень хорошей оплатой.

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

— Я думал ты пошутишь про «английский». Надо его учить?

Не на старте. Несмотря на то, что куча документации, информации и статей идут на английском, это всё можно поглощать через переводчики. Английский понадобится, когда решите переезжать. Хорошим моментом для начала изучения может быть через пару месяцев после устройства на работу Junior’ом. И да, обязательно нужно будет общение с носителями языка — будьте готовы в это также вложить денег.

Про переводчик мини-пример: буквально недавно пришлось столкнуться с библиотекой, актуальная документация для которой существует только на китайском (MyBatis-Plus) — гугл транслейт помог мне разобраться что к чему без особых приключений.

— Погоди, ты сказал язык не важен. что?

Это не совсем так. Он важен, конечно, но после определённого этапа (senior) вам будет всё равно на каком языке писать. Концепты, на которых строится программа, переносятся из языка в язык и именно их изучение занимает намного большее время.

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

— Окей, можешь накидать мне план что делать то?

1. Определитесь реально оно вам нужно. Стоит ли оно того?

2. Решите чем хотите заниматься. В идеале составить список компаний, в которых хотели бы работать. В идеале выбрать, где хотите быть через полгода, через два и через пять.

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

4. Составьте план тем, которые надо изучить (из описания вакансий и информации из пунктов 2 и 3)

5. Учите, практикуйте. Каждый день. Каждый. Обязательно. Без пауз.

6. Решайте программерские задачки. Минимум 1 в день, хотя бы easy уровень.

7. По мере продвижения можно контактировать с рекрутерами из компаний и искать возможность чтобы вас наняли. Чем раньше, тем лучше. Для увеличения шансов можно попробовать сделать какое-нибудь мини-решение полезное для компании, чтобы заинтересовать их.

8. Найдите ментора 🙂

Вне зависимости от языка список тем, которые я рекомендую включить в план: контроль версий (git, github), структуры и алгоритмы (знать все распространённые, big O, знать что “что-то такое есть” и уметь найти быстро), IDE (зачем, как настроить), отладка и профилирование (как искать ошибки, точки остановки и прочее), тестирование (написание хотя бы простейших тестов и понимание что включать в них), базы данных (реляционные, сетевые, документо-ориентированные), документирование (как писать, зачем), планирование и приоритизация (сколько займёт, что делать и когда), изучить Style Gudie по вашему языку, linux (базовое понимание что там, зачем и куда, умение запустить свой код там), пакетные менеджеры (как пользоваться, зачем, как поддерживать), семантичное версирование (зачем оно, как следовать), фреймворки (на нужном языке, хотя бы для ознакомления несколько), инструменты для сборки и автоматизации, криптография (базово что существует, а не как сделать), авторизация и аутентификация (что есть что и что для этого существует).

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

— Я видел, что компания, которая мне интересна обучает с нуля и нанимает. В чём подвох?

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

— Жесть, всё сложно.

И да и нет. Сложнее всего на старте. Дальше многие концепции запоминаются и их не надо держать в голове. Очень многие вещи “гуглятся” за 10 секунд, но при условии, что вы знаете, что гуглить.

Честно говоря думал что будут какие-то вопросы; помогу кому-то тут и так далее. По сути это сборник вопросов от знакомых, который я получал в разное время. Почему то статья воспринялась как рекламная, хотя не содержит ни единой ссылки или названия компании и носит ровно противоположный характер… ну ок 😀

ТС, огромное спасибо за этот пост))
Вот уже три месяца осваиваю Ruby. Хочу получить новую профессию в свои 36. Всю жизнь потихоньку осваивал программирование ( со школы и до текущего бизнеса, верстал себе сайты, проходил курсы и т.д.). И вот недавно понял, что это тянется за мной на протяжении всей жизни и мне это нравится.
Поэтому посвящаю обучению максимально свободное от бизнеса время.
Именно твой пост помог ответить на многие вопросы, которые крутятся в голове и которые некому задать )))
Еще раз спасибо )

Не советую заниматься тем чем не нравится, если программирование вас не заинтересует, не факт что и до среднего уровня прыгнете

Автор поста большой молодец! Потратил время, написав объемную и полезную статью (без котиков, бухла и слезливых историй про измены). Рекламы нигде нет. Есть конкретные рекомендации. Вобщем, 5 (пять) баллов. Если возможно, то просьба к автору — выложите ссылки, которые вы хотели указать в статье и не указали. Спасибо.

Хорошо написали, мне зашло. Сама сейчас учусь, 5-6 часов в день, 30+, процесс нравится, но сама чувствую, что очень долго иду. Многие темы приходится разбить очень долго по десяткам источников.

Я гуглила вакансии, читала что требуется, но особенностей работы, конечно, на hh не найдешь. Можно вас попросить расписать специфику работы в разных областях, где приходилось работать (мобильная разработка, бэкэнд и тд). Какие задачи ставились, чем было занято большая часть времени ? Или может есть ссылки?

Увольняюсь, грустненько!(⁠ ⁠

Добрый день, пикабушники!

Решил уволиться. точнее уже написал заявление и отдал. Не в никуда. Нашел ближе к дому и с адекватным графиком работы по ТК. Сейчас 6ка по 10ч. Точнее не я нашел, а меня нашли. Резюме всегда весело на HH.ru , но при этом всегда говорил при звонке HRа, что не в поисках. А тут взяли и сказали «давайте мы Вас попробуем заинтересовать». И Вы знаете, смогли заинтересовать! Но не деньгами, как бы раньше я хотел, а белой зп (сейчас тоже белая), ДМСом, нормальным графиком (40ч), удаленностью от дома, плюшками в виде скидок на театр и спортзал, корпоративными мероприятиями. После 30 уже не так хочется фокусироваться на зарабатывании денег!

А грусть состоит в том, что сложно бросить уже сформировавшийся коллектив, обязанности которые нравятся, достаточно крупную компанию на рынке. Чувства у меня смешанные, но как говорится: «Все что не делается — все к лучшему!». Хочется помимо работы развивать другие аспекты жизни. Надеюсь новая работа подарит мне данную возможность))

П.С. Начальник спокойно отнёсся к моему решению и сказал: «Блин, я сам хотел уйти в течении месяца. Ты меня опередил!». Надеюсь у него все будет хорошо тоже =)

Гена Инженерский и танкер-газовоз ледового класса Arc7⁠ ⁠

Здравствуйте, на связи Гена Инженерский.
И думаю пора вам показать и рассказать о судне на котором я работаю.
К вашему вниманию, танкер-газовоз ледового класса Arc7 “Vladimir Voronin”.

Габариты: длина — 299,0 м, ширина — 50,13 м, высота по борту — 26,5 м, осадка — 13,0 м. Валовая вместимость (МК-1969) — 128 806 брт; вместимость — 172 600 м³.

Гена Инженерский и танкер-газовоз ледового класса Arc7 Мореплаватели, Полярники, Море, Арктика, Газовоз, Танкер, Профессия, Работа, Фотография, Длиннопост

Это одно из серийных судов данного класса.Всего в мире, в настоящий момент, таких судов построено 15 штук и были построены они в Южной Корее на за заводе DSME(Daewoo Shipbuilding & Marine Engineering) специально для проекта «Ямал СПГ», тем самым зародив абсолютно новый класс судов «YamalMax»( максимальные габариты осуществляющие возможность прохождения канала в Обской губе для захождения в порт Саббета)

Гена Инженерский и танкер-газовоз ледового класса Arc7 Мореплаватели, Полярники, Море, Арктика, Газовоз, Танкер, Профессия, Работа, Фотография, Длиннопост

Уникальность данного типа судна и по-сути его главное назначение, это возможность плавания как в отрытой воде, так и в тяжелых льдах, даже без помощи ледокола. Скорость судна в открытой воде — 19,5 узла (носом); скорость при ходе во льдах толщиной до полутора метров — 5,5 узла (кормой вперед).

Гена Инженерский и танкер-газовоз ледового класса Arc7 Мореплаватели, Полярники, Море, Арктика, Газовоз, Танкер, Профессия, Работа, Фотография, Длиннопост

На данном типе судна я работаю с самой его постройки. И являюсь частью, так называемой “Delivery Team”.Принимал судно “Nikolay Yevgenov” в 2019 году. Так что знаю, судно вдоль и поперек, буду все рассказывать и показывать

Гена Инженерский и танкер-газовоз ледового класса Arc7 Мореплаватели, Полярники, Море, Арктика, Газовоз, Танкер, Профессия, Работа, Фотография, Длиннопост

И на этом пока все.
С вами был Гена Инженерский
До новых встреч.

Часы работы за полторы минуты⁠ ⁠

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

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

Пожелайте мне удачи!

Ответ на пост «Всего добился сам»⁠ ⁠

В 90-е жил в Тюмени. Абсолютная правда, сам знал парня.
Фирма СибРыба, папа владелец. Очень много денег. Сына к себе коммерческим типа директором.
Конечно джип, кабаки, девочки. Это нормально. И вот поехал он на свадьбу к кому то в Екатеринбург. Папа дал своего водителя — охранника чтобы с похмелья не ехал ну и вообще, присмотреть.
Через пару дней водитель приезжает без сына шефа.
Сказал что ехали обратно, сказали ему остановиться у подруги в каком тогородке. Купил бухла, еды и отпустил. Типа сам доберётся как отдохнёт.
Папа всех поднял конечно. Искали долго. Потом уже водитель сознался : ехали, сынок с похмелья и с виски. Начал говорить что водитель быдло, прислуга, холоп. А он служил в Чечне, спецназ. Убил прямо в салоне, руками. Тело закопал. Потом показал место, суд был. Лет 12-15 дали вроде.

Мой путь в 3D⁠ ⁠

В 2020 году в период разгара всем известной пандемии, я, как и многие, задумалась о том, как круто иметь работу, которая позволила бы не быть привязанной к месту, интересной и денежной. Забегая вперед, скажу сразу, что ничего из этого не стоит ждать от 3D. По крайней мере все три фактора сложить вместе оказалось практически нереально. Но тогда я не знала во, что ввязываюсь 🙂

Мой супруг предложил попробовать пройти бесплатные курсы в Blender, и тут все закрутилось!

Blender — 1 месяц обучения. Low-poly Домики

Мой путь в 3D Обучение, 3D моделирование, 3D графика, 3D, Работа, Пятничный тег моё, Профессия, Gamedev, Длиннопост, Autodesk Maya, 3ds Max, Blender, Corona Render, Vray, Substance painter

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

Мои первые работы и гордость! Второй домик до сих пор на заставке моих часов 🙂

Blender — еще 3 недели обучения. Самолетик

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

Мой путь в 3D Обучение, 3D моделирование, 3D графика, 3D, Работа, Пятничный тег моё, Профессия, Gamedev, Длиннопост, Autodesk Maya, 3ds Max, Blender, Corona Render, Vray, Substance painter

3DS Max — 2 месяца обучения. Моделирование простых объектов

После обучения в Блендере и, поняв, что мне это дико нравится, стала определяться, а что собственно нужно на рынке по 3D? Какой стиль? Какое Направление? Игры? Кино? Дома, ремонты, техническое 3D моделирование и т.д.?

Это был 2020 год, не самое простое время, но тем не менее интерьерная визуализация пользовалась спросом в России и неплохо оплачивалось, да и в целом мне эта тема нравилась. Одной из лучших програм для интерьерной визуализации (и не только для нее) является мастодонт рынка 3D и древний во многих аспектах мамонт, 3DS Max от небезызвестных Autodesk.

Мой путь в 3D Обучение, 3D моделирование, 3D графика, 3D, Работа, Пятничный тег моё, Профессия, Gamedev, Длиннопост, Autodesk Maya, 3ds Max, Blender, Corona Render, Vray, Substance painter

3DS Max — 4 месяца обучения. Интерьерная визуализация

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

После освоения базового моделирования, перешла на более сложные объекты, а далее уже полноценное моделирование интерьера, текстурирование и растановка света.

Многие думают, что 3D это как в Симс расставить мебель и готово. Впрочем. когда-то я думала также. Больше того, растановку мебели в своей квартире я когда-то делала в Симс.

Но если вы хотите получить картинку как в жизни (а может и вкуснее), потребуется повозиться. Готовые модели мебели и прочего есть и их много. Готовые текстуры и даже растановка света — все это есть! Но или за деньги, или ты потратишь несколько часов на поиски подходящего. Впрочем, на моей практике я почти никогда не находила «то что нужно» и приходилось переделывать или создавать с нуля.

Мой путь в 3D Обучение, 3D моделирование, 3D графика, 3D, Работа, Пятничный тег моё, Профессия, Gamedev, Длиннопост, Autodesk Maya, 3ds Max, Blender, Corona Render, Vray, Substance painter

Мой путь в 3D Обучение, 3D моделирование, 3D графика, 3D, Работа, Пятничный тег моё, Профессия, Gamedev, Длиннопост, Autodesk Maya, 3ds Max, Blender, Corona Render, Vray, Substance painter

3DS Max — 1 год фриланса. Интерьерная визуализация

Спустя 8 месяцев обучения (с перерывами по несколько недель), я взяла свой первый заказ! Где? Как и, пожалуй, все — на фриланс бирже. Я не делала высокой цены, но как ни крути, для первого заказа согласилась на чуть ниже средней по рынку цене, при этом договорилась о нереальных для себя сроках. Сжатые сроки серьезно усугублялись моим перфекционизмом и пока еще малым опытом, поэтому бессонные подряд несколько ночей и недовольство заказчика чуть было не заставили бросить это гиблое дело и вернуться в продажи.

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

В общей сложности мне удалось сделать около 20 разных заказов. Это были как проекты одной комнаты (спальня, кухня, сан. узел), так и полноценные квартиры от 42 до 95 кв.м. Много заработала? Точно не больше, чем когда я работала в продажах, около 35-40 тыс. руб. в среднем получалось, но свободного времени стало больше, а нервные клетки перестали отмирать так быстро, как это было ранее (но не перестали полностью :).

А потом наступил февраль 2022.

Мой путь в 3D Обучение, 3D моделирование, 3D графика, 3D, Работа, Пятничный тег моё, Профессия, Gamedev, Длиннопост, Autodesk Maya, 3ds Max, Blender, Corona Render, Vray, Substance painter

Мой путь в 3D Обучение, 3D моделирование, 3D графика, 3D, Работа, Пятничный тег моё, Профессия, Gamedev, Длиннопост, Autodesk Maya, 3ds Max, Blender, Corona Render, Vray, Substance painter

Мой путь в 3D Обучение, 3D моделирование, 3D графика, 3D, Работа, Пятничный тег моё, Профессия, Gamedev, Длиннопост, Autodesk Maya, 3ds Max, Blender, Corona Render, Vray, Substance painter

Мой путь в 3D Обучение, 3D моделирование, 3D графика, 3D, Работа, Пятничный тег моё, Профессия, Gamedev, Длиннопост, Autodesk Maya, 3ds Max, Blender, Corona Render, Vray, Substance painter

Мой путь в 3D Обучение, 3D моделирование, 3D графика, 3D, Работа, Пятничный тег моё, Профессия, Gamedev, Длиннопост, Autodesk Maya, 3ds Max, Blender, Corona Render, Vray, Substance painter

Мой путь в 3D Обучение, 3D моделирование, 3D графика, 3D, Работа, Пятничный тег моё, Профессия, Gamedev, Длиннопост, Autodesk Maya, 3ds Max, Blender, Corona Render, Vray, Substance painter

Мой путь в 3D Обучение, 3D моделирование, 3D графика, 3D, Работа, Пятничный тег моё, Профессия, Gamedev, Длиннопост, Autodesk Maya, 3ds Max, Blender, Corona Render, Vray, Substance painter

Мой путь в 3D Обучение, 3D моделирование, 3D графика, 3D, Работа, Пятничный тег моё, Профессия, Gamedev, Длиннопост, Autodesk Maya, 3ds Max, Blender, Corona Render, Vray, Substance painter

Maya — 5 месяцев обучения. Из рендера «туалетов» к мечте?

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

Однако семейный совет дал вердикт — учитесь, шурик! Мы справимся!

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

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

Обучение заняло существенно больше времени, чем по факту должно было быть. По причинам внутренних переживаний в связи с событиями 2022 года, а также в связи с тем, что обучение несколько раз откладывалось, а затем длилось крайне медленно и не слишком продуктивно. Но знания, которые выдавались были на «5+». Выпускные работы ниже.

Мой путь в 3D Обучение, 3D моделирование, 3D графика, 3D, Работа, Пятничный тег моё, Профессия, Gamedev, Длиннопост, Autodesk Maya, 3ds Max, Blender, Corona Render, Vray, Substance painter

Мой путь в 3D Обучение, 3D моделирование, 3D графика, 3D, Работа, Пятничный тег моё, Профессия, Gamedev, Длиннопост, Autodesk Maya, 3ds Max, Blender, Corona Render, Vray, Substance painter

2023 год и дальнейшие планы

Как я и говорила в самом начале, 3D манит многих, но дается сложно и в первую очередь из-за сложностей в реализации своих возможностей: высокая конкуренция и невысокий спрос.

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

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

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

Поэтому буду рада услышать рекомендации от опытных, вопросы от новичков, а от работодателей предложения %)

P.S. Супруг уговорил поделиться своей историей на этой площадке, поэтому отвоевала его аккаунт, чтобы не париться регистрацией, и пишу с него. Буду рада ответить на все вопросы!

Нижний слой одежды пухляша⁠ ⁠

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

Выскочка из зала⁠ ⁠

Эта история произошла со мной во времена,когда я обитал в высшем образовательном заведение. Учился я вахтовым методом — две недели через полгода.В это же время работал слесарем по ремонту промышленного оборудования на одном из местных заводов. Завод представлял собой остатки развитой цивилизации,разворованные развитым капитализмом.
Грузоподъемные устройства разобраны,кранов нет. Все подъемы тяжелых узлов и деталей при ремонтах только вручную или погрузчиком вилочным(на 90 %процентов мест ремонта он не мог заехать), новых запчастей не было,если что-то сломалось-идешь в ангар и разбираешь какой нибудь станок и с него снимаешь деталь и узел. Вообщем,делаем конфетку из охапки дров и за шапку сухарей. В то время я не особо на этом зацикливал внимание.Был молод,полон альтруизма,энтузиазма и было все интересно.Также было желание поменять все в лучшую сторону( мечты наивного мальчика).
Учился кое-как,не совсем хорошо,не хватало понимания и конструкторского мышления.С грехом по полам дошел до диплома(учился на инженера технолога -конструктора тяжелого машиностроения) , разрабатывали перспективный техпроцесс изготовления детали (чертежи, режимы резания и производственный участок).Вот производственный участок я сделал так,как не у нас на работе.Там были автоматические транспортеры, кран-балки над оборудованием(оборудование общей массы 20 тонн), с проходами,удобными для обслуживания и ремонта.Вентиляция ,освещение -все по расчетам.Не цех,а сказка. Руководитель диплома подписала чертеж производственного участка,ничего не сказала.
В день защиты диплома собралась комиссия (не только преподаватели,но и представители управления предприятий и заводов,была пару «эффективных менеджеров»)
Вызывают меня защищать диплом,развесил чертежи. Поздоровался с комиссией,толкнул речь,начал отвечать на вопросы.Все шло более менее нормально. Пока не стал задавать вопросы один из «эффективных менеджеров» .Начались вот такие вопросики:
«а зачем кран-балка?-это дорого-ее надо обслуживать ,нанимать людей.»
«зачем транспортеры-накопители?»- есть же операторы-могут сами перенести со станка на станок.»
» а что так много вентиляции ? зачем над каждым станком вытяжку?,одной под потолком хватит.
» зачем каждому станку оператор? обучите одного оператора и пусть работает на трех станках сразу.
Я стал отвечать на его вопросы,но ,видимо, эти ответы стали задевать самолюбие этого менеджера. и он перешел на личности,стал утверждать,что я пытаюсь много денег завода потратить на бесперспективный проект и что таким как я только стружку лопатой кидать в бак.
И тут Остапа понесло, я вывалил на него,все свои знания в ремонте, обиду за производство, и как нужно правильно делать,чтобы все работало. Мы перешли на повышенные тона и меня выгнали с защиты диплома. В итоге,все равно, мне поставили «3» за экзамен. Я не особо не расстроился ,через неделю забрал диплом и ушел. А через год на наш завод пришел подобный «эффективный менеджер» и началось очень грустное время. Урезание всего и вся. Станки в чермет,люди на улицу, помещения в аренду офисам.
Мораль всего рассказа такая-Очень жаль,когда на управление компаниями,предприятиями ,заводами приходят люди,которые не понимают,не знают,не хотят изучить процесс производства. Эти «управленцев» интересуют только: «Бабки,бабки -нам нужны только бабки».
Всем желаю хорошо провести выходные,тем кто работает-успехов на работе!
И пусть Вашу работу обходят такие «эффективные» менеджеры со своей любимой «оптимизацией»

«Оптимизация»(словарь автора)-металл сдать на чермет,сократить рабочих,больше помещений в аренду,удешевить тех процесс,самое дешевое -наше все!

Похожие статьи