Кодовая база
1.28K subscribers
16 photos
1 video
33 links
База во фронтенд разработке.

Написать в личку: https://t.iss.one/devmargooo
Download Telegram
⚡️Больше не Фронтенд кухня.

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

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

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

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

Я верю, что знание базы позволит вам писать сегодня на React, завтра — на Vue или Angular, а послезавтра и вовсе стать фуллстек разработчиком. В этом году я планирую сделать в своих постах акцент на базу в веб-разработке, что поможет вам стать более гибкими на турбулентном рынке, быстро адаптироваться к изменениям и быть инженером, а не оператором фреймворка.

Да прибудет с вами база!
469❤‍🔥17👍12👏6🫡6👎3🔥2🤮2🤡2💯1
Основной принцип программирования

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

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

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

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

Поэтому, когда вы не понимаете, как вам написать код хорошо, искать ответ нужно не в технологиях, а в вашей бизнес задаче. Вам нужно определить, как должна себя вести система. Никакого “хорошего” и “плохого” кода в вакууме не существует, потому что код всегда связан с конкретной задачей. Хороший код — это такой код, который хорошо решает поставленную задачу, а плохой код — тот, который решает ее плохо, пускай даже в нем соблюдаются все принципы дядюшки Боба и другие best practices.

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

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

📌 Решение всегда сначала появляется в голове, а уже потом в коде.

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

Подытожу. Задачи программирования решаются сначала в голове, и только потом переносятся на код. Как решать эти задачи, буду писать далее. Спойлер — там дело снова не в знании языка программирования.
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍2510🔥5🤡3👎2💩2🤮1
Кодовая база
Основной принцип программирования Основной принцип программирования не имеет ничего общего с написанием кода. Он заключается в решении утилитарной задачи. Программы, которые мы разрабатываем, имеют утилитарную цель. Они решают конкретные бытовые задачи:…
Кстати, прямо сейчас в одной социальной сети идет спор о том, что React ужасен, потому что “нужно отделять js от разметки”. Кому нужно? Зачем нужно? Для чего нужно?

И я сейчас не хочу спорить с исходным тезисом о React. Я хочу сказать, что никакого “нужно” или “не нужно” без контекста реальной утилитарной задачи не существует, а этот вопрос почему-то несправедливо часто упускается программистами.

Вопрос целесообразности — это самый важный вопрос
, а вопрос вкуса — дело десятое. А для того, чтобы код был целесообразен, у него обязана быть цель (утилитарная). А вот если цели нет, тогда “хорошего” кода получиться не может, а получится только очередной срач спор в интернетике.
1👍20🔥115👎3🤮3💩3💯3
Сегодня на мок собеседование приходила девочка с не очень большим опытом программирования, которая про алгоритмы и структуры данные только слышала краем уха. Когда мы дошли до задачи, в которой нужно было обойти дерево, она, сама того не зная, написала dfs. Я считаю, что это то, к чему нужно стремиться — выучить все алгоритмы долго и тяжело, да и можно забыть. Если алгоритм несложный, намного проще. будет вывести его прямо на месте.

Но если вы все-таки хотите что-нибудь выучить, то рекомендую изучить алгоритмы обходы деревьев (вышеупомянутый dfs и bfs). По моей личной статистике, они встречаются на собеседованиях чаще всего.
🔥2811👍6🤮4👎3💩2
Вчера общались с одним парнем про найм и он мне говорит:
— Даже не знаю, что сейчас рынку нужно: одни говорят, что тупо кнопки красить, другие — что нужны умные

Друзья, а кому сейчас нужны люди кнопки красить? В моем пузыре все ищут умных.
👍17🔥8😁64👎2💩2🤡2🤔1
Forwarded from Denis Uk
Нужны умные что бы понимали когда можно кнопки красить, а когда лучше подумать
16👍7🔥6👎2🤮2💩2🤷‍♂1
🙈 Оставьте эйчаров в покое!

Я долго сдерживалась, но кто-то должен вам это сказать.

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

Когда я про это впервые услышала, я сразу вспомнила анекдот про поручика Ржевского . Некоторые товарищи еще удивляются, что hr им после этого не отвечают. Мне тоже удивительно, потому что лично я бы сразу кликнула на кнопки “заблокировать” и “это спам”. Ребят, а вы сами-то любите, когда вам в личку пишут незнакомые люди и предлагают свои услуги? И не надо оправдываться, мол, у hr работа такая. Их работа — разбирать отклики там, где они вакансию публиковали, а личная телега — это для общения с близкими.

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

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

Всем хороших выходных! 🌺
Please open Telegram to view this post
VIEW IN TELEGRAM
2🤡5119🔥10👎6💩6🤓4😐3😈2🤮1
🎓 Теория vs практика

Иногда ко мне приходят на консультации ребята, которые говорят — я отлично знаю программирование в теории, а вот на практике что-то не получается. Я глубоко убеждена, что в промышленной разработке нет большой разницы между “теорией” и “практикой”, тем более что в нашей сфере теорией часто называют довольно прикладные вещи, типа механизма event loop или жизненного цикла события в React компоненте.

В дидактике выделяется несколько звеньев обучения:
🔴Постановка проблемы
🔴Восприятие новой информации
🔴Осмысление
🔴Закрепление
🔴Образование навыков
🔴Применение навыков на практике

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

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

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

По моему опыту обучения, ребята, у которых проблемы с применением теории на практике, чаще всего допускают одну или обе из этих ошибок:

1️⃣ Принимают новую информацию на веру, не пытаясь ее осмыслять. “Так правильно, потому что так сказал Роберт Мартин / я слышал в докладе на конференции / пацаны в курилке рассказывали”.

2️⃣ Пытаются изучать область, которая является надстройкой над более базовой областью. “Зачем мне учить джаваскрипт, я сразу буду учить реакт”.

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

В следующем посте поговорим о постановке проблемы и о том, почему это так важно для обучения.
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍7🔥7