От гаража до инженерии, от инженерии до гаража.\\ Разработка ПО(и не только ПО) начиналась с уровня изобретательства на коленке в гараже - это было быстро, но без гарантий качества.\\ Многие умы пытались это превратить в инженерию ПО, но в отличии от микросхем это пока не удалось в полной мере.\\ Созданные инженерные методологии разработки ПО базировались на смежных отраслях. В итоге инженерия ПО стала больше гарантировать качество, но превратилась в тормоз для отрасли.\\ Получилось что команда из 5 разработчиков на коленке часто делает софт быстрее, чем 200 человек по инженерным методологиям. Сейчас многие стали возвращаться назад к наколенке, но с использованием Agile скрам и тп.\\ Но чтобы ХОРОШО разрабатывать на коленке нужно знать или хотя бы раз прочитать стандартные методологии.\\ А Истина где то посередине, об этом в следующий раз.\\ Как читать?\\ Читаем без глубокого вдумчивого подхода, читаем почти все и можно по диагонали.\\ Прочитав большинство книг и поимев опыт программирования с продакшеном не менее года, читаем все заново, но уже вдумчиво.\\ Если Вы хотите быть профи - прочитайте хотя бы по разу все книги из разделов с !!! и половину из !\\ Все книги это только мнения авторов и читаются для понимания других точек зрения и эти книги процентов на 50% не совпадают с принципами Open Carbon.\\ Для сотрудников Карбон Софт купленные книги частично доступны здесь:\\ [[https://wika.carbonsoft.ru/carbon_soft:книги|]]\\ частично бумажные на книжной полке\\ Если книги нет в доступе Вы можете заказать от нашей учетки в электронном или в бумажном виде в Интернет магазине. ==== !!! Книги Программистам по методологии ==== * Ален И. Голуб - Веревка достаточной длины. Правила программирования Cи Сplus 2001г. 241стр * Кент Бек - Шаблоны реализации корпоративных приложений * Кериевски Рефакторинг с использованием шаблонов 2006 * Роберт Гласс - Факты и заблуждения профессиональого программирования 2008г. 233стр * Роберт К. Мартин, Джеймс В. Ньюкирк, Роберт С. Косс - Быстрая разработка программ. Принципы, примеры, практика. * Скотт Амблер - Гибкие технологии экстремальное программирование и унифицированный процесс разработки * Э. Хант, Д. Томас - Программист-прагматик. Путь от подмастерья к мастеру. * … предлагайте свои ==== !!! Книги Менеджерам и Программистам по методологии ==== * Асхат Уразбаев - scrumtrek agilecheklist 2010 * Демарко Том - Вальсируя с Медведями. Управление рисками в проектах ПО 2005г. 188стр * Демарко, Листер - Человеческий фактор. Успешные проекты и команды * Джоэл - О программировании 2006 * Кент Бек - Экстремальное программирование 2002г 212стр * Мифический человекомесяц - 1995 переизданный дополненный * Стив Макконнелл - Профессиональная разработка ПО 2007г 236стр * Хенрик Книберг - Scrum и XP заметки с передовой 2007г. 64стр * Дуг ДеКарло - Экстремальное управление проектами 2005 * Питер Брукс - Метрики для управления ИТ-услугами 2008 * Э.Йордан - Камикадзе * Джексон П. - Введение в экспертные системы. 2001 * Купер Алан - Об интерфейсе. 2009 * Купер Алан - Психбольница в руках пациентов. 2005 * Ruby on Rails 37signals http://gettingreal.37signals.com/GR_rus.php ==== ! Классическая инженерия разработки ПО ==== * Konstantayn.l. Lokvud.l Разработка ПО 2004г. 592стр * Иан Соммервилл - Инженерия программного обеспечения 2002г. 624стр * Л. Г. Гагарина - Технология разработки программного обеспечения 2008г. 402стр * Липаев - Программная инженерия 2006г.609стр * Оценка и аттестация зрелости процессов создания и сопровождения программных средств и информационных систем (ISO IEC TR 15504 - CMM) * Скотт Ф. Уилсон, Брюс Мэйплс, Тим Лэндгрейв - Принципы проектирования и разработки программного обеспечения. Учебный курс MCSD * Эрик Дж. Брауде - Технология разработки программного обеспечения ==== Языки ==== * Д. Томас, Д. Х. Хэнссон - Гибкая разработка веб-приложений в среде Rails * Марк Саммерфилд - Программирование на Python 3. Подробное руководство * Хэл Фултон - Программирование на языке Ruby * Язык программирования Python (Р.Сузи) ==== Linux Kernel ==== * Alessandro Rubini и Jonathan Corbet Драйверы устройств в Linux * Gerard Beekmans LFS-BOOK-6.0 * Tigran Aivazian Внутреннее устройство Ядра Linux 2.4 2001г * linux-kernel-development-3rd-edition-eng * Mel Gorman Virtual Memory Manager 2004 * Бовет Д., Чезати М. Ядро Linux.2007г.1104с * Клаудия Зальберг Азбука Ядра с примерами 2007 * Лабораторный практикум по курсу Операционные системы ННГУ * Роберт Лав Разработка ядра Linux 2изд 2006 * Скотт Максвелл Ядро Linux в комментариях 2000г * [[http://www.npksv.ru/soft/unix/linux_khg/linux_khg_06.php|http://www.npksv.ru/soft/unix/linux_khg/linux_khg_06.php]] * [[http://w0.sao.ru/hq/sts/linux/book/bach_unix/glava_62.htm|http://w0.sao.ru/hq/sts/linux/book/bach_unix/glava_62.htm]] * [[http://dmilvdv.narod.ru/Translate/index.html?ldd_mmap_device_operation.html|http://dmilvdv.narod.ru/Translate/index.html?ldd_mmap_device_operation.html]] * [[http://dmilvdv.narod.ru/Translate/index.html?ldd_real_story_kmalloc.html|http://dmilvdv.narod.ru/Translate/index.html?ldd_real_story_kmalloc.html]] ~~OWNERAPPROVE~~