Pull to refresh
0
0

Пользователь

Send message

Как понять продукт и зачем это нужно разработчику

Level of difficultyEasy
Reading time8 min
Views1.3K

Если вы не понимаете бизнес своей компании, вы не сможете полностью реализовать свои технические навыки. Крутой технарь на позиции СТО, который знает нюансы TOGAF и отличия Raft от Paxos — это хорошо, но мало. Вы должны принимать решения не только исходя из технических деталей задачи, но и с учётом реалий бизнеса, его потребностей и направления развития.

Меня зовут Олег Федоткин, я СТО компании Циан. В этой статье расскажу, почему понимание бизнеса так важно для ИТ-менеджеров, тимлидов и архитекторов, и как оно влияет на принятие технических решений и развитие карьеры. Больше и чаще на подобные темы я пишу в свой ТГ-канал «Инженер и Менеджер».

Кому будет полезна статья:

Менеджерам в ИТ: тим-/юнит-лидам, руководителям направлений и СТО. Без понимания бизнеса у вас не получится построить карьеру — это аксиома.

Специалистам выше уровня senior: staff-/principal-инженерам и архитекторам для выработки полезных для компании технических решений.

Читать далее
Total votes 10: ↑8 and ↓2+10
Comments2

5 советов для оживления гильдии разработчиков

Level of difficultyEasy
Reading time9 min
Views1.5K

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

Меня зовут Саша Киверин, я лид Python-гильдии в Циан. Сейчас в нашем сообществе более 60 разработчиков. За последние 2 года мы совместными усилиями сделали целый ряд крутых проектов. Перевели монолит с версии Python 2.7 на 3.12, создали библиотеку для внешних вызовов и внедрили автоматический чеклист здоровья микросервиса. Дотащить все это до прода нам помогли 5 простых советов, которыми я и поделюсь в этой статье. Надеюсь, они помогут оживить и вашу гильдию. 

Читать далее
Total votes 16: ↑13 and ↓3+17
Comments1

Индексы в PostgreSQL — 1

Reading time17 min
Views436K

Предисловие


В этой серии статей речь пойдет об индексах в PostgreSQL.

Любой вопрос можно рассматривать с разных точек зрения. Мы будем говорить о том, что должно интересовать прикладного разработчика, использующего СУБД: какие индексы существуют, почему в PostgreSQL их так много разных, и как их использовать для ускорения запросов. Пожалуй, тему можно было бы раскрыть и меньшим числом слов, но мы втайне надеемся на любознательного разработчика, которому также интересны и подробности внутреннего устройства, тем более, что понимание таких подробностей позволяет не только прислушиваться к чужому мнению, но и делать собственные выводы.

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

В этой части мы поговорим про разделение сфер ответственности между общим механизмом индексирования, относящимся к ядру СУБД, и отдельными методами индексного доступа, которые в PostgreSQL можно добавлять как расширения. В следующей части мы рассмотрим интерфейс метода доступа и такие важные понятия, как классы и семейства операторов. После такого длинного, но необходимого введения мы подробно рассмотрим устройство и применение различных типов индексов: Hash, B-tree, GiST, SP-GiST, GIN и RUM, BRIN и Bloom.
Читать дальше →
Total votes 104: ↑103 and ↓1+102
Comments59

Как на самом деле работает Java ClassLoader system? (с картинками) — Часть 1/3, Загрузка

Level of difficultyMedium
Reading time7 min
Views24K

Так ли на самом деле работает процесс загрузки классов, как его описывает Wikipedia и Baeldung? ClassNotFoundException — это откуда и чье? Какие виды загрузчиков классов актуальны в Java 20?

Объясняем подпроцесс загрузки, из системы Java ClassLoader, на приятных Excalidraw диаграммах, со ссылками на оригинальные источники.

Читать далее
Total votes 21: ↑21 and ↓0+21
Comments12

Дышать, а не задыхаться

Level of difficultyEasy
Reading time9 min
Views21K

Привет, Хабр! Меня зовут Влада и я обожаю работать с людьми. Попав волею судеб IT сферу, я поняла, что хоть в IT очень много зависит от командного взаимодействия, большая часть тусовки нацеливается на хард, а не софт. Поэтому статьи тут я хочу посвящать софтам.

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

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

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

То, что напишу ниже, ненаучно (хотя и достаточно сильно перекликается с теорией Павлова, да‑да, тем самым, который про собак и условные рефлексы писал), но обкатываю на окружающих людях и себе — очень помогает исправить ситуацию. Теория не моя, но автор дал добро на то, чтобы пустить её в мир. Для тех, кто любит кратко — переходите к блоку «Итог», а всех остальных приглашаю погрузиться в мою историю и подробное объяснение мат.части.

Читать далее
Total votes 47: ↑38 and ↓9+38
Comments42

Пройти LeetCode за год: экскурсия по сайту и roadmap [обновлено 30.11.2023]

Level of difficultyEasy
Reading time23 min
Views109K

С наступающим наступившим вновь наступающим, Хабр.

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

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

С сайтом несколько больно знакомиться, он отпугивает вездесущими приписками "premium", пользуясь славой ресурса для техсобесов продвигает функционал вроде списков компаний, где встречался вопрос n и симуляции интервью в компанию m, да и сам не особо стремится рассказать о себе, потому в нём зачастую и видно голый задачник с одной страницей "problems".

За всем этим теряется важный пункт – а можно ли использовать сайт не для механического зазубривания популярных вопрос-ответов, а для изучения/закрепления алгоритмов и структур данных? Можно. Но подход к этому нужно формировать самостоятельно.

🏆
Total votes 37: ↑36 and ↓1+44
Comments30

С алгоритмами в духе LeetCode на собеседованиях пора кончать

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

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

Такой подход основан на идее, что, если человек знаком с алгоритмами и системным дизайном, то и на разработку приложений ему хватит способностей. Это спорное утверждение. Создание приложений требует обширного набора навыков. Они не нарабатываются сотнями часов заучивания паттернов в решениях задач на алгоритмы. Да и рассматриванием сильно упрощенных версий системного дизайна Netflix, Uber или Twitter Threads делу не поможешь. Навыки разработки приложений оттачиваются путем… ну, разработки приложений. Но часто на технических собеседованиях они даже не принимаются в расчет.
Читать дальше →
Total votes 116: ↑105 and ↓11+126
Comments397

Свое мобильное приложение: от идеи до разработки, продвижения и развития

Reading time20 min
Views28K

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

Я пройдусь по основным этапам разработки мобильного приложения:

Проработка идеи
Проектирование UX/UI
Разработка
Аналитика
Продвижение
Дальнейшее развитие приложения

Расскажу о том, как создать свое приложение, которое будет интересно не только вам.

Читать далее
Total votes 11: ↑8 and ↓3+6
Comments10

Information

Rating
Does not participate
Registered
Activity