kamyshev.code – Telegram
kamyshev.code
1.77K subscribers
40 photos
565 links
Архитектура, код, софт-скиллы и всё остальное. Вопросы, пожелания, комментарии — @igorkamyshev

https://kamyshev.me
Download Telegram
​​Как начать

В разработке есть порочный круг: не берут на работу, потому что, нет опыта, потому что, не берут на работу. Есть два способа его разорвать:
1. Много читать, искать людей готовых помочь, делать свои проекты.
2. Купить онлайн-курс.

Сначала о втором.

Свое время и нервы можно купить за деньги. Но важно отфильтровать стремные варианты.

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

SkillFactory делают хорошие курсы. 15 апреля у них стартует программа Курс по Python для веб-разработки полного цикла. Отличный способ ворваться в программирование без боли и страданий. Самое крутое, что после окончания курса вы получаете план развития, чтобы расти как разработчик.

#как_начать #партнерский_материал
Как начать

Другой вариант разорвать порочный круг — найти умного ментора, много читать и делать свои проекты.

Ментора можно найти на сходках локальных сообществ, в профильных чатах или в Твиттере. Этот же человек подскажет какие книжки читать и какие проекты делать.

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

Список компаний, которые хорошо относятся к стажерам и джуниорам

#как_начать
​​Я уже писал о том, что любая система должна вести себя предсказуемо. Теперь о способах этого добиться.

Абстракция

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

sendNotificationToUser — где-то на верхних слоях, а sendSms — много ниже, callSmsGateway — совсем внизу.

Правильный путь — выдерживать в одной программной единице (функции, классе, модуле) один уровень абстракции.

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

Такой подход позволяет читать код с меньшей нагрузкой на голову. Он становится предсказуемым.

#проектирование #архитектура
Python

Моим первым серьезным языком программирования был Python. Это отличный язык, на нем пишут бэкенды в вебе, весь искусственный интеллект.

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

SkillFactory запустили Курс по Python для веб-разработки полного цикла, там полно живого опыта — три полноценных проекта под присмотром людей из индустрии. Хорошая возможность освоить язык быстро и без боли.

#языки #партнерский_материал
​​Простота

Продолжим разговор о предсказуемости системы. Важным критерием качества кода является его простота.

Код должен быть написан так просто как это возможно, но не проще. Соблюсти баланс бывает сложно, но на это нужно обращать внимание.

Иногда следует пожертвовать какими-то другими качествами в угоду простоте. Например, скоростью работы. Конечно, не в любом месте, но если скороть не критична, пользователи не заметят разницы, то следует отдать предпочтение простому коду.

#проектирование