Ответ кроется в самом понятии проекта. Одним из ключевых отличий проекта от других видов деятельности является уникальность конечного продукта. Там где уникальность, там и непредсказуемость, и именно она порождает изменения на проекте и вносит трудности в первоначальное проектирование системы.
Читать дальшеWiki Category: Дао
65 вещей, которые я не знал, когда начинал программировать (а жаль)
58. Мастерство приходит с практикой
Повторение — мать учения, а один из самых надежных способов овладеть чем-то — настойчиво это практиковать.
Разрабы работают медленно и дорого — и люди считают нас лентяями. Просто в разработке всё сложно
С программным обеспечением всегда так. На поверхности кажется, что мы делаем простые штуки. Но на самом деле — оно невероятно сложное. Проблема в том, что сложность станет видна, только когда ты погрузишься во все технические нюансы.
Читать дальшеНикто не умеет управлять программистами — и все придумывают костыли, вместо решений
Есть компании, где процесс разработки реально работает отлично. Я скажу вам почему — они выиграли в лотерею. У них оказалось намного больше людей, которые хотят работать — с такими, как не управляй, все будет идти хорошо. Даже манагерскую мишуру с бордами они используют для дела, а их перформанс и по джировым, и по интуитивным метрикам ясно виден. И когда их менеджеры-не-разрабы приходят мешать им, у них за спиной стоит шикарный продукт, который даёт им право посылать эти говорящие головы к черту.
…
Но такая команда — фантастическая удача. А обычно происходит вот что. На десять человек у тебя два, которые хотят работать. Один из них тимлид, а второй увольняется.
Не давать обещаний сходу
Вывод простой — никогда не давать обещаний сразу, когда их просят.
Читать дальшеХорошие программисты пишут код, лучшие — тикеты
хорошие программисты пишут код, но лучшие пишут тикеты. Код написать проще, чем хороший тикет — это хорошее объяснение, почему этот код нужно сделать. Поэтому если вы хотите развиваться и поднимать свой уровень, то фокусируйтесь на способности объяснить другому программисту, что нужно сделать, и умению выслушать клиента или заказчика и перевести его мысли в тикеты.
Читать дальшеКак закаляется сталь
И, вот, ты остался один. Тебе не с кем посоветоваться по проблемам, которые тебе волнуют. Нет, конечно, ты можешь о чём-то поговорить с другими одиночками, они даже попробуют тебе чем-то помочь, но по факту – ты один на один с твоей областью проблем.
Читать дальше20 вещей, которые я вынес за 20 лет в программировании
– Не боритесь с инструментами — библиотеками, языками, платформами — чем бы то ни было. Старайтесь использовать присущие им конструкции
– Вы пишите код не для машин.
– Технический долг как фастфуд: допустим в умеренных количествах, но если войдёт в привычку, не успеете оглянуться, как он убьёт продукт, и это будет больно.
– Хороший код не требует документации, но отличный код задокументирован по определению.
– Никогда не начинайте кодить (разрабатывать какое-то решение), полностью не вникнув в суть задачи.
Программирование — не тяжелый физический труд, но все равно отстой
Вы полностью компетентны, и все хорошо, и вдруг все ломается.
«Шо за нах?» — восклицаете вы и начинаете отлавливать проблему. Выясняется, что однажды один идиот решил, что раз другой идиот решил, что 1/0 равно бесконечности, он может использовать это как условное обозначение для «бесконечности» для упрощения своего кода. Затем не-идиот справедливо решил, что это идиотизм, то, что должен был решить первый идиот, но поскольку он этого не сделал, не-идиот решил стать козлом и сделать это ошибкой компиляции. Затем он решил никому не говорить, что это ошибка, потому что он козел, и теперь все ваши снежинки — моча, а вы даже не можете найти кошку.
Читать дальшеТимлид – это сержант
Тимлид как сержант в американской армии. Он спит в казарме с рядовыми, умеет делать почти все лучше них, и занимается помимо этого оперативным руководством.
Читать дальшеТимлидство
Тимлид – это менеджер. На программирование времени не будет.
Читать дальшеНемного рефлексии на тему неспособности работать в больших компаниях
Открытые и прямые коммуникации внутри зарождающегося проекта — это один из ключевых факторов выживания проекта. Тут нет еще никакого запаса прочности, все висит буквально на волоске.
Читать дальшеБанальность: главный ингредиент в разработке ПО — это люди
Управление разработкой ПО — это управление людьми. Успех разработки не в технологиях, не в инструментах, не в процессах, не в регламентах. А в людях.
Читать дальшеКак стать хорошим разработчиком
Аналитическое мышление
Умение видеть картину крупным планом
Бизнес-ориентированный подход к разработке
samdark: Про проектирование и архитектуру
markdown проще рендерить единообразно, удобней хранить и делать diff.
Хороший монолит не хуже микросервисов. Плохие микросервисы с нечёткими границами гораздо хуже монолита.
Кешируйте только когда оптимизации перестали помогать.
Большинство на первый взгляд странных решений в доставшемся вам legacy-проекте там не просто так.
4-5 часов эффективности
4-5 часов – чистое время эффективности среднестатистического разработчика. Это нормально.
Берите мотивированных сотрудников и не демотивируйте их.
Читать дальшетех ИЛИ тим лид
tech lead !== team lead
не нужно соглашаться сделать ключевой проект в короткие сроки
Team Leader. Быть или не быть, вот в чем вопрос
В конечном счете TL начинает медленно (а может и быстро), но уверенно перегорать, не понимая что происходит, куда он движется и как так вообще можно, а собственнику надо думать как выходить из такой ситуации.
Читать дальшеЧто вам не говорят о сфере разработки?
Большая часть того, что вы будете делать, это мусор. По крайней мере, если вы будете заниматься разработкой продукта.
Читать дальшеПочему ты никогда на станешь senior’ом: руководитель отдела .NET компании SoftTeco о принципах успешного программиста
Понимание, Простота, Храбрость, Уважение и доверие
Читать дальше