Чашка Кода
466 subscribers
255 photos
5 videos
2 files
162 links
👋 Я - Никита, Senior разработчик, автор курсов по Python-разработке. Пишу на Python и Rust

✏️ В этом канале посты, которые сделают твой путь к веб-разработке проще

Задать вопрос, позвать на конференцию, записать со мной курс/статью/подкаст
👉 @PySage
Download Telegram
Channel created
👋 Всем привет!

Меня зовут Никита, и через неделю будет ровно год, как я сделал свою первую задачку на Литкоде.

В этом канале буду рассказывать о том, как за 1 год, с нуля, можно получить предложение с зп 200+ тыс. рублей в IT. 🫣

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

Присоединяйся, будет интересно! 🫶
👍3🔥3🦄1
Я не люблю мечтать, но люблю ставить цели.

Пару лет назад я работал официантом в ресторане и зарабатывал 30 000 рублей. И однажды я узнал один факт: в Сан-Франциско нужно зарабатывать минимум $ 3 000, так как аренда будет стоить от полутора тысяч 🙄

В тот день я поставил себе цель - увеличить зарплату в десять раз и получать 3 000 $. Пришлось трудиться несколько лет, но результат того стоил.

Недавно я достиг этой цели, так что пора ставить новую и подниматься ещë выше! ⬆️

В следующих постах я поделюсь своим опытом, расскажу, что изучал, делал и не делал для того, чтобы выйти на такой доход. Надеюсь, вам это будет полезно!
🔥5
Заповедь №1. Мотивация не так важна, как дисциплина.

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

Практика решения задач - это то, с чего я начал. Сначала я решил несколько задач на C, но быстро понял, что лучше писать на Python. Об этом в следующем посте.

Вот плюсы, которые я получил от задачек.

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

#заповеди_программиста
🔥5👍2👾1
👋 Привет, я обещал рассказать о выборе языка программирования. Мой выбор - Python.

Почему именно он?
1️⃣ Язык должен быть универсальным - кроме работы хочется использовать язык для решения своих нужд

2️⃣ Язык должен быть популярным - книги, курсы и статьи помогают выучить язык быстрее

3️⃣ Должно быть много вакансий - чтобы было проще найти работу, этот язык должны использовать компании

4️⃣ Нужно выучить алгоритмы* - Все компании при отборе проводят техническое собеседование. На нём нужно решить несколько алгоритмических задач

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

В итоге я выбрал Python, приняв все его минусы. Я добился своей цели (выйти на доход в 3.000$ в мес.), так что это решение было правильным.

А какие были другие "кандидаты" - в следующем посте
👍3🔥1
Что важнее: знание языка программирования или умение решать задачи?

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

🔻 Инсайт: знание языка (или даже нескольких языков программирования) не сделает из вас хорошего программиста!

Представьте, у вас есть ноги (языки программирования) но вы не знаете, как ходить. Будет ли тогда от них смысл?

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

Для улучшения этого навыка нужно всего два действия:

1️⃣ Узнать, какие есть алгоритмы решения проблем. Их немного, 80% встречаемых мной задач сводятся к 3-4 решениям.

2️⃣ Практиковаться. Нельзя стать хорошим гитаристом без мозолей на пальцах - уделяйте каждый день минимум 3 часа решению задач.
🔥3👍2
9️⃣ алгоритмов, которые решают 90% задач

Читали книгу "Грокаем алгоритмы"? Владея алгоритмами, можно решить практически любую задачу, которая вам попадётся.

🔻 binary search: для поиска элементов в массивах или списках

🔻 sorting: сортировка данных - это фундаментальная задача в программировании

🔻 recursion: используются для решения задач, которые можно разбить на более мелкие подзадачи того же типа

🔻 hash: для быстрого поиска и хранения данных

🔻 graph(DFS & BFS): алгоритмы на графах для решения проблем от сетевой маршрутизации до социальных сетей

🔻 dynamic programming: для оптимизации решений задач, которые можно разбить на подзадачи

🔻 greedy: чтобы локально найти оптимальные решения на каждом этапе, для выхода на глобальное оптимальное решения

🔻 tree: используются в базах данных, графических движках и сетевых протоколах

🔻 set & list: базовые структуры данных используются в каждом программном проекте

Пользуйтесь 👨‍💻

#заповеди_программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1👾1
⚡️ Однажды этот момент настанет...

и вы должны быть готовы! Как пройти все этапы отбора в IT?

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

1️⃣ Скрининг - на этом этапе HR должен заинтересоваться вашим резюме. Главное - это опыт, смело пишите 1-2 года (даже если его у вас нет)

2️⃣ Звонок с HR - если вы прошли скриниг, то HR захочет с вами поговорить. Придумайте почему решили уволиться и посмотрите стек компании, откуда вам могут позвонить. Иногда задают простые вопросы, вроде "что такое сбалансированное бинарное дерево поиска". Звучит сложно, но доступ к гуглу даст ответ 😉

3️⃣ Техсобес/Алгоритмическая секция - обычно есть устная часть, с техническими вопросами, на них нужно знать ответы. И вторая часть, где придётся написать код. Обычно задачи достаточно простые, тут главное знать алгоритмы.

4️⃣ Общение с командой - нужно просто показать, что вы адекватный человек. Плюсом будет рассказать, что для вас важны бизнес-показатели, проблемы и прибыль компании.

Так что в целом, ничего сложного 👨‍💻
👍2🔥2👾1
☄️ Вопросы, которые вам точно зададут на собеседовании

Привет! Если хотите быть готовыми к собеседованию, рекомендую обратить внимание на три темы, которые я встречал на каждом собесе:

📌 ООП и SOLID

ООП - Объектно - Ориентированное Программирование — подход, где всё строится вокруг объектов и классов.

SOLID: Набор принципов для написания поддерживаемого кода. Применение этих принципов приводит к созданию более гибкого, удобного для тестирования и поддерживаемого кода.

📌 Многопоточность в Python
Python поддерживает многопоточность средствами библиотеки threading. Однако из-за Global Interpreter Lock (GIL) нативная многопоточность ограничена. Работу с асинхронностью можно эффективно организовать через asyncio.

📌 REST
В REST архитектуре у нас есть предопределенные роуты, к которым можно обратиться для выполнения определенных операций (GET, POST, PUT, DELETE). Это обеспечивает стандартизацию взаимодействия между клиентом и сервером.

Эти темы являются фундаментом, который поможет вам справиться с большинством вопросов на собеседованиях 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
🦄4🔥2👾1
👀 Сколько найдёте отличий между капибарой «с опытом» и «без опыта» в айти? (Спойлер: ноль)

💬 Пишите в комментариях, сколько отличий в реальности по вашему мнению?

#мемы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍2👾2
🧑‍💻 Что нужно изучить до того, как начать программировать?

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

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

Основные моменты
🔴 Баз данных много, но есть отличный бесплатный курс по MySQL, после него стоит перейти на PostrgeSQL или SQLite.
🔴 Обязательно решите 23 лёгких задания тут. Но лучше решить вообще все задания.
🔴 Дополните знания о БД знаниями из бесплатного курса по Docker.
🔴 Если вам понравятся БД и вы захотите больше - посмотрите на postrespro. А потом прочитайте "книжку с кабанчиком" - это самая известная книга о базах данных в больших приложениях.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🦄2🤔11
С чего начать писать код?

Вежливость требует первым делом поздороваться! Традиционно программисты начинают изучение языка с написания "Hello, World!". Это простейшая программа, которая выводит фразу "Hello, World!" на экран 📱

Почему "Hello, World!"?
Простота: Такая программа не требует предварительного знания особенностей языка.
Фокус на Основах: Помогает понять базовую структуру и синтаксис языка.
Момент Успеха: Первая рабочая программа приносит чувство достижения.

В иллюстрации к посту я написал эту программу на четырёх разных языках. Сравните синтексис и внешний вид: что вам нравится больше?
- Лаконичность, но простота Python и Java Script.
- Строгость и точность Golang и C++
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5👾1