Added developers grades

This commit is contained in:
Evgeny Melnikov
2021-05-12 16:36:48 +03:00
commit a3e28f332c
4 changed files with 78 additions and 0 deletions

10
Grades/Junior.md Normal file
View File

@@ -0,0 +1,10 @@
# Junior C++
## Навыки
- Умение использовать Git (UI или консольный)
- Умение читать документацию по библиотекам/фреймворкам
- Искать и фиксить баги при момощи отладчика/логам
- Читать чужой код и разбираться в нем
- Собирать стороннии библиотеки и подключать их к проекту
- Писать тесты

1
Grades/Middle.md Normal file
View File

@@ -0,0 +1 @@
# Middle C++

66
Grades/PreJunior.md Normal file
View File

@@ -0,0 +1,66 @@
# Pre-Junior C++
Это человек, который освоил базовый синтаксис языка и способен написать несложную программу, только при помощи языка C++ и стандартной библиотеки STL. Программа способна выполнять действия, перечисленные ниже:
- выполняет вычисления;
- что-то читает или записывает в файл
- запрашивает ввод данных у пользователя с клавиатуры
- выводит результат работы программы на экран при помощи коснольного окна.
## Что ожидается по знаниям C++?
- Понимаю процесса компиляции и сборки программы на C++.
- Арифметические операции
- Логические операторы и операторы цикла
- Стандартные потоки вводы/вывода
- Работа с файлами
- Работа с указателями и ссылками
- ООП в рамках C++: Наследование, полиформизм, инкапсуляция
## Что ожидается по умению написания кода?
- Способность создать и собрать небольшой проект при помощи одной из популярных IDE, например Visual Studio или Qt Creator;
- Умение пользоваться отладчиком в рамках IDE.
## Что ожидается по общим знаниям?
- Работа с Git
- Умение составлять несложные алгоритмы: логические или арифметические
- Умение работать с одной из популярных IDE (Integrated Development Environement) или текстовым редактором: MS Visual Studio, Qt Creator, Visual Studio Code.
## Что ожидается по коммуникативным навыкам?
- Желание учиться
- Умение составить запрос на русском языке, чтобы найти ответ на проблему в поисковике
- Умение составлять и задавать вопросы коллегам, если не получается найти решение самостоятельно
- Желание работать в команде
## С чего же мне начать?
- Прежде чем изучать язык C++, рекомендуется начать свое погружение со следующей книги: **Чарльз Петцольд - Код. Тайный язык информатики** ([https://www.ozon.ru/context/detail/id/125884/](https://www.ozon.ru/context/detail/id/125884/))
Данная книга расскажет вам об устройстве компьютера на простом языке. Здесь отсутствуют какие-либо сложные технические или академические детали. Книга актуальна и по сей день, т.к. содержит в себе основы основ, которые вряд ли потеряют свою актуальность в ближайшие десятилетия. Она познакомит вас с миром компьютеров, а также объяснит их устройство, что поможет вам лучше понять фундаментальные идеи языка C++.
- Если вы начинаете изучать язык самостоятельно, то порекомендую вам выполнять разработку своих первых программ или упражнений в ОС Windows в IDE Microsoft Visual Studio (Community Edition). На сегодняшний день, это наиболее дружелюбная IDE для новичков, как в установке, так и при ее использовании. Это позволит вам сконцентрироваться непосредственно на изучении языка, а не на борьбе с рабочим окружением. На сайте компании Майкрософт вы найдете небольшой учебник, который вам расскажет, как установить Visual Studio, создать свой первый консольный проект и написать первое полноценное приложение (консольный калькулятор: [https://docs.microsoft.com/ru-ru/cpp/build/vscpp-step-0-installation?view=msvc-160](https://docs.microsoft.com/ru-ru/cpp/build/vscpp-step-0-installation?view=msvc-160)
- Есть большое количество книг, по которым можно начать свое изучение языка C++. К сожалению, многие из них безвозвратно устарели, либо написаны слишком сложно. К счастью, есть наиболее актуальная и дружелюбная книга, с которой стоит начать свой путь изучения C++: **Стивен Прата - Язык программирования C++**. Лекции и упражнения (шестое издание) ([https://www.ozon.ru/product/yazyk-programmirovaniya-c-lektsii-i-uprazhneniya-147417584/?utm_source=google&utm_medium=cpc&utm_campaign=RF_Product_Shopping_Books_super&gclid=CjwKCAjw7diEBhB-EiwAskVi11zEQ2QeqLjT8AEBCYC5IWzgpdgLIErY3c7eLfgnPSFic9M8Eh2pPRoCSHIQAvD_BwE](https://www.ozon.ru/product/yazyk-programmirovaniya-c-lektsii-i-uprazhneniya-147417584/?utm_source=google&utm_medium=cpc&utm_campaign=RF_Product_Shopping_Books_super&gclid=CjwKCAjw7diEBhB-EiwAskVi11zEQ2QeqLjT8AEBCYC5IWzgpdgLIErY3c7eLfgnPSFic9M8Eh2pPRoCSHIQAvD_BwE))
Книга максимально дружелюбна к новичкам, не требует наличия каких-то специфичных знаний перед началом изучения языка, а также имеет набор упражнений к каждой главе. Они помогут вам отработать и понять базовые и фундаментальные возможности языка.
- В дополнение к учебнику, стоит порекомендовать следущие видеолекции:
- Илья Мещерин
- Тимофей Хирьянов
## Рекомендации и советы
- На сегдняшний день не существует "серебряной пули", которая поможет вам выучить C++ за день/неделю/месяц при помощи курсов, роликов на YouTube т.д. Будьте готовы к самостоятельной работе и изучению материала из всевозможных источников на протяжении нескольких месяцев, прежде чем вы сможете пройти собеседование и получить свой первый оффер на работу.
- Изучайте язык в своем ритме и темпе, а также в любом возрасте 🙂. Не ведитесь на подобные истории: "я программирую с пеленок", "паяльником владею с яслей", "вывожу из запоя/снимаю порчу при помощи ассемблерного кода", "не служил - не мужик" и т.д. Большинство подобных историй - это ошибка "выжившего" ([https://ru.wikipedia.org/wiki/Систематическая_ошибка_выжившего](https://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B0_%D0%B2%D1%8B%D0%B6%D0%B8%D0%B2%D1%88%D0%B5%D0%B3%D0%BE)), или попытка "потешить свое самолюбие" за ваш счет. У всех вас достаточно способностей, чтобы научиться программированию, в том числе с нуля, в том числе и изучить C++. Также полно молодых ребят, которые сами хотели бы видеть меньше духоты в C++ сообществе. Они повсюду и готовы прийти вам на помощь! 🙂
- Практика, и только практика даст вам возможность освоить C++! Без регулярного написания кода, большая часть того, что вы прочитаете или услышите - забудется.
- Не пытайтесь писать идеальный код. Ваша основная задача - написание РАБОЧЕГО кода, который делает ровно то, что от вас требуется. Вы должны научиться "общаться" с компьютером, пусть и неэлегантно. Это сродни изучению иностранных языков. Сначала вы говорите много и небрежно, но со временем, ваш навык оттачивается, т.к. вы лучше чувствуете грамматику, увеличиваете свой словарный запас и т.д.
- Помните, что многие из опытных разработчиков, тоже испытывали проблемы и застревали в "очевидных" местах. Просто возььмите паузу, позанимайтесь чем-то другим, а через какое-то время возврщайтесь к проблеме.
- На первых порах не стоит концентрироваться на таких ресурсах, как Leetcode или CodeWars. Цель этих порталов - отработать навыки использования классических алгоритмов и структур данных. Эти площадки спроектированы таким образом, чтобы максимально отгородить вас от нюансов языков программирования. На первых порах, это не принесет вам особой пользы, лучше сконцентрируйтесь на самом языке и его возможностях.
- Большинство проблем, с которыми вы столкнетесь, скорее всего уже были решены до вас. Если вы не можете найти ответ в интернете, попробуйте переформулировать запрос иным образом. Рано или поздно вы придете к правильному ответу. Если после этого ответа так и нет, то попробуйте переписать свой код более простым путем/пересоздать проект и т.д. Помните, вы должны изучать язык, а не бороться с рабочим окружением на первых пораъ. Борьба с коружением может вас привести к полному разочарованию.
- Если чувствуете, что не понимаете какую-то из тем, поищите альтернативные источники, которые объясняют эту же тему. Сегодня можно найти полно материала, и в виде статей, и виде роликов на youtube. Выберете и используйте наиболее комфортный формат для вас.
- Найдите единомышленников, которые также начинают свой путь и объедините усилия в изучении. Так вам будет интереснее погружаться в изучение языка, а также делиться знаниями и опытом друг с другом. Это вам также поможет выработать в себе навык командной работы. Времена "вольных художников" подошли к концу. Практически везде, вам придется работать в режиме командной игры.
- Большинство проблем проще искать на английском языке, но если ваш текущий уровень владения им не очень высокий - не мучайте себя. Так вы можете слишком быстро потерять веру в себя и разочароваться. Большинство проблем, с которыми вы столкнетесь, спокойно можно отыскать на русском языке.
- Если чувствуете, что ваш английский слабоват - то лучше начните его изучение с более простых и приятных вещей: сериалы, видеоигры, художественные книги, новостные сайты или статьи на интересующие вас темы. За несколько месяцев можно значительно улучшить навыки восприятия информации на английском языке.

1
Grades/Senior.md Normal file
View File

@@ -0,0 +1 @@
# Senior C++