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

Написать в личку: https://t.iss.one/devmargooo
Download Telegram
Forwarded from Юрий
Взгляд на реализуемый код как на бизнес-инвестицию с четким осознанием реализуемой бизнес-ценности - это подход который отличает высококлассного программиста от зашоренного доской таск-треккера.
🔥11👎5🥴3👍2
Сегодня получила в работу таску, в которой написано:

1. Выяснить детали
2. Прикинуть
3. Реализовать

Эта задача наглядно иллюстрирует идею из поста выше: сейчас не нужны люди, которым требуется говорить, что сделать. Сейчас ищут людей, которые сами видят проблемы и решают их.
Как понять, что вы готовы к современному рынку поиска работы? Вас не смущает постановка задачи выше.
👍13💯8❤‍🔥6🤮3💩3👎21😁1
Вчера развлекала себя решением литкода и любопытства ради посмотрела, сколько же у меня решенных задач в аккаунте.

Девять. Всего девять задач за всё время существования аккаунта.

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

Честно говоря, я не знаю паттерны решения популярных алгоритмических задач. Я сохранила себе несколько методичек, но до сих пор их не прочла. Я не знаю алгоритмы — я их придумываю. Каждый раз, на каждом собеседовании. Получается не всегда — около 10% задач у меня не получается решить за ограниченное время собеседования (пока не получается 😈).

Я окончательно укрепилась во мнении, что ценность алгоритмов не в том, чтобы их “знать” или “помнить”. Ценность в том, чтобы изобрести их с нуля.

Кстати, поздравьте меня с десятой решенной задачей 🙂

#алгоритмы
1👍26💩20👎10🔥9🤮87🤡7
🩹Просто взять готовую либу, и причем здесь DDD

Намедни общалась с другом, который недавно ходил на собес в бигтех. На собеседовании его попросили реализовать онлайн редактор кода с подсветкой — типа codesandbox. Друг решил, но пришлось изрядно напрячься. Зачем нужны такие собесы, — недоумевал он, — в реальной жизни я бы просто взял готовую либу.

Честно говоря, код, написанный своими силами (а не готовая либа) — это самый лучший код.
Во-первых, он не содержит 100500 корнер кейсов — в нем только нужное вам.
Во-вторых, вы в любой момент можете изменить его поведение без необходимости делать МР в опенсорс.
В-третьих, вы не рискуете в произвольный момент времени столкнуться с тем, что важная зависимость вдруг стала deprecated.

У собственного кода есть только один недостаток: он дорогой. Взять либу сильно дешевле, чем реализовывать собственными силами.

Однако не для любого проекта самое главное — это дешевизна.

📌 DDD (domain driven design) выделяет три поддомена:

1️⃣ Основные поддомены (core subdomains) — ядро бизнес-модели. За счет них бизнес получает конкурентное преимущество на рынке. Такие поддомены содержат уникальную функциональность, несущую ценность для пользователя. Например, это рекомендательная система YouTube.

2️⃣ Универсальные поддомены (generic subdomains) отвечают за типовые решения и не дают конкурентное преимущество на рынке. Например, авторизация или оплата.

3️⃣ Вспомогательные поддомены (supporting subdomains) — поддомены, которые поддерживают бизнес компании и не являются конкурентным преимуществом на рынке. Например, красивый лендинг.

Как вы можете заметить, конкурентное преимущество дает только основной поддомен, и именно он обычно оттягивает на себя основные силы и деньги компании. Важно реализовать такие бизнес фичи не просто “шоб работало”, а чтобы это было лучше, чем у других.

В каком случае нельзя использовать внешнюю либу для подсветки текста (или кода как текста)? В том случае, если это основной поддомен. Например, вы пишите свой супермегавау онлайн редактор кода, в котором можно на лету кастомизировать подсветку кода.

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

Советую на досуге поразмышлять на тему, работа в каких бизнес доменах даст вам конкурентное преимущество на рынке труда и отстрочит вашу замену иишницей. Всех с наступающим! 🎄
Please open Telegram to view this post
VIEW IN TELEGRAM
22👍9🔥6👎5🤡5🤮2💯1🤨1
⚡️Больше не Фронтенд кухня.

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

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

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

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

Я верю, что знание базы позволит вам писать сегодня на 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). По моей личной статистике, они встречаются на собеседованиях чаще всего.
🔥2711👍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🤡4317🔥10👎7💩6🤓4😐3😈2🤮1