Стать Python Junior разработчиком
Доброго времени суток! Меня зовут Чай(реальным именем было бы не интересно представляться), но я больше известен(кому? никому) под никнеймом Sp1cyTea. В течение двух лет я искал свое место в жизни, включая приемлемое жилье, работу, которая не только будет приносить деньги, но и приносить удовольствие, а также различные хобби(плюс глупые хотелки возникающие из-за моих увлечений.) Ранее я пробовал много разных направлений, таких как киберспорт, звукорежиссура, озвучка, графика, рукоделие, блоггерство, писательство и многое другое.
В свое время я выбрал IT-специальность в университете, но из-за личных проблем я был вынужден бросить обучение на втором курсе. Позже я поступил в другой университет и сейчас я успешно заканчиваю второй курс на направлении которое никоем образом не связано ни с программированием, ни с IT. Однако я никогда и не мечтал стать программистом, меня завлекли лишь речи про перспективы и высокий заработок, что позволяло бы мне заниматься и вкладываться в свои увлечения. Я уже наслышен, что "программирование должно нравится" и "это не для всех, должна душа к этому лежать". Меня всё так же это заманивает, но даже если у меня всё получится, а работа меня не будет устраивать, ничто не не помешает выбрать новый вектор. Теперь это не просто давняя хотелка, это вызов, который я не могу просто так проигнорировать.
Я буду заниматься полностью самостоятельно и без баснословных затрат на онлайн курсы, создавать проекты, чтобы научиться применять свои знания на практике и достичь моих целей.
Я уверен, что сильная воля и желание не помешают мне в этом процессе, даже когда время ограничено и знакомые говорят что не достаточно иметь только желание.
Кстати, при составлении структурированно информации и плана действий я буду обращаться к ChatGPT и роудмапам в сети. Надеюсь это поможет мне быстрее овладеть заниями.
Goal Accomplishment Criteria
Устроиться на работу python developer'ом
Personal resources
Мёртвая воля, желание, время, подключение к интернету
Goal ecological compatibility
Во первых, я хочу доказать другу, что кому-то легче и лучше лезть в бэкенд разработку изначально, а не через фронтенд приходить к нему.
Во вторых, деньги.
В третьих, мне нравится решать сложные задачи.
В четвёртых, программирование не вызывает у меня отторжения.
-
Составить план действий:
Необходимо составить план действий по обучению ориентируясь на имеющиеся вакансии. Я для себя сразу сориентировался на интересную мне фирму, которая территориально ко мне близко находится. Если так получится устроить именно к ним, это будет нечто невообразимое. Так же стоит учитывать то, что у меня очень мало времени, чтобы устроиться. А ещё я являюсь студентом и веду научную деятельность, что накладывает некие ограничения на время. Поэтому вся эта авантюра будет HARD уровня, где самое главное будет именно не выгореть. У меня сильный характер, который позволяет мне учиться через силу чему угодно, без разницы в какой направленности.
Сама вакансия имеет такие требования:
JUNIOR-РАЗРАБОТЧИК
Требования:
- Высшее или среднее техническое образование;
- Понимание основ разработки ПО, базовых алгоритмов и структур данных;
- Базовые знания и начальный опыт работы с любыми современными объектно-ориентированными языками программирования (Java, PHP, C++, C# и т.д.);
- Понимание концепции ООП;
- Ответственность, целеустремленность, желание и способность к быстрому обучению;
- Умение разбираться в чужом коде и соблюдать CodeStyle, самостоятельно пользоваться документацией.
Приветствуется:
- Опыт работы с веб-приложениями;
- Знание SQL, опыт работы с реляционными базами данных;
- Опыт командной работы и использования инструментов совместной разработки: svn/git, redmine/jira и т.п.;
- Знание английского языка на уровне Intermediate и выше.
План будет идти вокруг данной вакансии, мы просто разложим каждый пункт на подпункты и будем друг за другом их изучать. Нижние пункты мы тоже возьмём во внимание, а в частности пукт 2 и 3.
-
Изучить вакансии на рынке
-
Собрать для себя общие требования
-
Структурировать требования вакансий
-
Расставить требования по степени важности и сложности изучения
-
Нерелевантные задачи
Всё что возникает в процессе обучения и не позволяет им заниматься.
-
Сдача зачётов(ВУЗ)
-
Сдача экзаменов(ВУЗ)
-
Выгорание
-
Прокрастинация
-
Выгорание из-за работы
-
-
Яндекс.Практикум Python бесплатный базовый курс
-
Выражения и print
-
Циклы
-
Отступы в циклах
-
Ветвления
-
Множественные ветвления
-
Логические выражения
-
Составные логические выражения
-
-
Концепции ООП:
-
Классы и объекты
-
Инкапсуляция
-
Наследование
-
Полиморфизм
-
-
Трудоустройство
-
Отладка полученных знаний и формирование резюме
-
Базовые знания и начальный опыт работы с современным объектно-ориентированным языком программирования Python:
Курсы для изучения:
-
Синтаксис Python
-
Ввод-вывод данных
-
Условный оператор
-
Типы данных
-
Циклы for и while
-
Строковый тип данных
-
Списки
-
Функции
-
Работа над мини-проектом №1
-
Тип данных bool и NoneType
-
Вложенные списки
-
Кортежи
-
Множества
-
Словари
-
Модули random и string
-
Модули decimal, fraction и complex
-
Модуль turtle
-
Функции
-
Работа с файлами
-
Обработка ошибок
-
Повтор основных конструкций языка Python
-
Работа с датой и временем
-
Устройство памяти и особенности типов данных
-
Обработка исключений
-
Рекурсия
-
Итераторы и генераторы
-
Регулярные выражения
-
Заключение
-
-
SQL и опыт работы с реляционными базами данных:
-
Основы SQL
-
Фильтрация и сортировка данных
-
Агрегирование данных
-
Объединение таблиц
-
Создание и модификация таблиц
-
PostgreSQL
-
Интеграция SQL с Python
-
*MongoDB
-
*Rest API
-
*CRUD
-
*Swagger
-
*Postman
-
*e2e-test
-
-
*Основы разработки ПО, базовые алгоритмы и структуры данных:
Разработка ПО - это процесс создания программного обеспечения для компьютеров, мобильных устройств или других устройств. Для того, чтобы успешно разрабатывать ПО, необходимо иметь понимание основных принципов и методологий, таких как жизненный цикл разработки ПО, Agile-методологии разработки, работа в команде и другие.
Базовые алгоритмы - это набор инструкций, направленных на решение определенных задач. Алгоритмы используются в программировании для решения различных задач. Некоторые из базовых алгоритмов, которые можно изучить, включают сортировку, поиск и рекурсию.
Структуры данных - это способ организации и хранения данных в компьютере, который облегчает доступ и манипуляцию с этими данными. Некоторые из базовых структур данных, которые можно изучить, включают списки, стеки, очереди и деревья.
-
Основы разработки ПО:
-
- Циклы разработки ПО (водопад, Agile, Scrum, и т.д.)
-
- Тестирование и отладка кода
-
- Управление версиями и системы контроля версий (например, Git)
-
========================================================================
-
Базовые алгоритмы:
-
- Сортировка (пузырьком, выбором, вставками, слиянием, быстрая сортировка)
-
- Поиск (линейный, двоичный)
-
- Рекурсия
-
========================================================================
-
Структуры данных:
-
- Массивы и списки
-
- Стеки и очереди
-
- Связные списки
-
- Деревья (бинарные деревья, кучи, деревья поиска)
-
- Графы
-
- Хеш-таблицы
-
- 1499
- 30 April 2023, 00:01
Don't miss new posts!
Subscribe for the Goal and follow through to its completion