Какие темы НЕ нужно учить начинающему разработчику
Я думаю, что многие согласятся с тем, что не нужно учить темы, которые никак не применяются на практике. Несмотря на это, часто мы увлекаемся какой-то темой и начинаем уделять ей излишне много времени.
Этот пост ориентирован только на тех, кто хочет быстрее вырасти в зарплате или найти первую работу. Если вы получаете удовольствие от изучения новых тем — это круто, просто пост не об этом.
1⃣ Сети, сокеты, протоколы, TCP/IP
Часто, когда приходишь на работу разработчиком, все что ты делаешь - это клепаешь CRUDы, пишешь запросы на вставку или выборку данных в базу, и занимаешься реализацией бизнес-логики (что на самом деле занимает больше всего времени).
Как разработчик, ты чаще всего просто пользуешься готовыми библиотеками для работы с базой, апишкой, брокером и т.п. Все обертки уже написаны, и это очень удобно. Многие разработчики с комфортом работают, используя только HTTP и, может, SMTP.
Есть возражения? Пиши в комменты, обсудим 👇
2⃣ Интерпретируемость, компилируемость, байт-код и пр.
Я всегда игнорировал теорию, которая не применяется на практике. Это относится к таким низкоуровневым темам как интерпретируемость, компилируемость или, например, "как под капотом работают потоки в Python" (кто-нибудь скажите, зачем использовать потоки в 2024 на новых проектах)
Такие знания не применимы на практике, и их изредка спрашивают на собеседованиях. Так зачем же учить эти темы?
3⃣ Сложные алгоритмы и структуры данных
Вы наверняка встречались с задачами на связные списки, графы и деревья. Правда в том, что мизерная часть разработчиков применяет в работе эти структуры данных.
Эти структуры данных почти не спрашивают на собеседованиях и редко применяют на практике. Так зачем нарешивать задачки на литкоде по этим темам? Незачем.
4⃣ Шаблоны проектирования и архитектуры
Можете закидывать помидорами, но это реалии разработки. Бизнес хочет от вас в первую очередь, чтобы продукт работал и удовлетворял желаниям пользователя. То, что вы наговнокодили, бизнес не волнует, если продукт приносит прибыль.
Буквально вчера ходил на собеседование, где основной задачей было поддерживать legacy проекты на 100к+ строк кода на Python 3.6. Как думаете, там идеальный код с повсеместным применением паттернов? Сомневаюсь. Продукт приносит прибыль и это единственное, что волнует бизнес.
P.S. На этапах Middle-Senior об архитектуре и паттернах, конечно, приходится задуматься. Этот пункт больше для начинающих разработчиков
Наоборот, есть темы, в которых вы должны разбираться, чтобы пройти собеседование, хотя это может быть для вас не очевидно. Написать пост об этом? Поставьте 🔥