Сергей Тарасов - Дефрагментация мозга. Софтостроение изнутри

Дефрагментация мозга. Софтостроение изнутри
Название: Дефрагментация мозга. Софтостроение изнутри
Автор:
Жанры: Программы | Программирование
Серия: Библиотека программиста
ISBN: Нет данных
Год: 2013
О чем книга "Дефрагментация мозга. Софтостроение изнутри"

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

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

Из текста вы вряд ли узнаете, как правильно склеивать многоэтажные постройки из готовых компонентов в гетерогенной среде, проектировать интерфейсы, синхронизировать процессы или писать эффективные запросы к базам данных. Подобные темы будут лишь фоном для рассказа о софтостроительной «кухне». При определенной доле любопытства вы сможете убедиться, что новое – это хорошо забытое старое, узнать, как устроены некоторые сложные системы, когда следует применять разные технологии, почему специалистам в информатике надо особенно тщательно фильтровать поступающую из множества источников информацию, и многое другое, что вы, возможно, еще не знали или уже знаете, но с другой стороны.

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

Бесплатно читать онлайн Дефрагментация мозга. Софтостроение изнутри


К читателю

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

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

В процессе чтения книги вы вряд ли узнаете, как правильно склеивать многоэтажные постройки из готовых компонентов в гетерогенной среде, проектировать интерфейсы, синхронизировать процессы или писать эффективные запросы к базам данных. Подобные темы будут лишь фоном для рассказа о софтостроительной «кухне». При определённой доле любопытства вы убедитесь, что новое – это хорошо забытое старое, узнаете, как устроены некоторые сложные системы, когда следует применять разные технологии, почему специалистам в информатике надо особенно тщательно фильтровать поступающую информацию и многое другое, что вы, возможно, ещё не знали или знали, но с другой стороны.

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

О нашей профессии

У каждого дела запах особый:
В булочной пахнет тестом и сдобой…
Д. Родари. «Чем пахнут ремёсла?»

Очень краткий экскурс

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

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

Если первые программисты были сильно ограничены в средствах и привязаны к аппаратному обеспечению – «железу», к конкретной ЭВМ[1], то современные располагают огромным арсеналом инструментов и технологий, в большинстве случаев позволяющих разработчику не принимать во внимание особенности устройства тех компьютеров, на которых его программа будет выполняться.

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

Джордж Лукас приступил к созданию недостающих серий «Звёздных войн» только через 20 лет. Ещё дольше ждали создатели первых луноходов и автоматических межпланетных зондов, прежде чем выпустить на разведку роботы-марсоходы. Станки с ЧПУ[2], безлюдные заводы и роботы-хирурги не имели практической возможности воплотиться до 1980-х годов, когда появились массовые достаточно мощные промышленные микропроцессоры. Для многих задач и существующая мощность пока недостаточна, поэтому суперкомпьютеры продолжают её наращивать. Но прогнозы погоды всё равно ошибаются.

Специализация

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


Программист = алгоритмизация и кодирование


С ростом сложности задач и упрощения процесса непосредственного кодирования при одновременном усложнении повторного использования кода появилась возможность разделить труд, и формула приобрела примерно такой вид:


Программист минус алгоритмизация = кодировщик

Программист минус кодирование = постановщик задачи


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

Вот его и следует называть программистом. Современный рынок труда кишит кальками с англоязычных терминов и их комбинациями. Прежде всего, это касается обилия различных видов архитекторов, «девелоперов», «кодёров», «тестеров» и прочих странных прозвищ.

Тестером (не путайте с тостером) раньше назывался прибор-мультиметр, способный измерять напряжение, силу тока и сопротивление. Вы хотели бы работать «тестером»? А если назвать должность в соответствии с её сутью: «инженер-испытатель»? Думаю, отношение к делу сразу изменится.

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

Кто такой ведущий инженер, или Как это было

Давайте рассмотрим и сравним проектные организации по разработке, поставке и эксплуатации программного обеспечения, оборудования и системной интеграции, условно названные как:

• «А» – организации времён позднего СССР (1960–80 гг.): НИИ[3], КБ[4], КТЦ[5], ВЦ[6]

• «Б» – современные компании.


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


Иерархия подразделений

(*) – отдел является единицей финансирования, то есть бюджеты составляются, начиная с уровня отдела;

(**) – уровень лаборатории не являлся обязательным для организаций, не ведущих НИР (научно-исследовательскую работу), например для ВЦКП (Вычислительный Центр Коллективного Пользования).


Иерархия должностей

(*) – в современных организациях образовательный ценз, как правило, формально не учитывается;

(**) – как правило, укладывается в шаблон Chief «направление» Officer. Например, CAO – Chief Accounting Officer – главный бухгалтер, CDO – Chief Development Of-ficer – директор по развитию и т. д.


С этой книгой читают
«Как пасти котов» – это книга о лидерстве и руководстве, о том, как первое совмещать со вторым. Это, если хотите, словарь трудных случаев управления IT-проектами. Программист подобен кошке, которая гуляет сама по себе. Так уж исторически сложилось. Именно поэтому так непросто быть руководителем команды программистов. Даже если вы еще месяц назад были блестящим и дисциплинированным программистом и вдруг оказались в роли менеджера, вряд ли вы знает
Эта книга предназначена для всех, кто желает освоить СУБД MySQL. Для ее чтения вам не нужны никакие специальные знания – достаточно быть пользователем Windows. Вы узнаете, как установить и запустить MySQL, как создать собственную базу данных, как работать с данными при помощи команд SQL, как администрировать базу данных и оптимизировать ее работу. Разработчики веб-приложений на языках PHP, Perl и Java найдут в этой книге полезные сведения по испо
Технический директор (CTO) находит баланс между потребностями бизнеса и постоянно развивающимся миром технологий. Развейте навыки и мышление, необходимые, чтобы взять на себя эту важную роль и стать успешным лидером. Автор приводит мнения отраслевых экспертов и опытных CTO и делится практическими стратегиями навигации в мире технологического лидерства, где ставки чрезвычайно высоки.Книга на примерах из реальной практики показывает, как преуспеть
В этой книге вы не найдете описания конкретных технологий, алгоритмов и языков программирования – ценность ее не в этом. Она представляет собой сборник практических советов и рекомендаций, касающихся ситуаций, с которыми порой сталкивается любой разработчик: отсутствие мотивации, выбор приоритетов, психология программирования, отношения с руководством и коллегами и многих других. Подобные знания обычно приходят лишь в результате многолетнего опыт
Почти все сюжеты для этих фантастических рассказов пришли ко мне во снах – я спал, а мое подсознание не спало, а усиленно трудилось. Утром я только записывал очередной приснившийся мне сюжет и потом печатал рассказ на компьютере.Все было просто – мы вместе сочиняли рассказы: я и мое второе «я». Такой метод мне понравился – пока один автор спал, а второй работал. Никакого перерыва в работе.На мой взгляд, я хорошо организовал свою работу, и рассказ
На монитор села моль, потом еще одна, и когда они начали ползать по экрану, слова и целые предложения стали пропадать...
В этих рассказах жизнь простого подростка из рабочего поселка на окраине крупного города. Он вырос, сходил в армию, окончил горный институт, потом Высшие инженерно- экономические курсы, получил диплом менеджера. За годы работы повидал всякое, - прошел огонь, воду и медные трубы. Написал несколько десятков рассказов – про геологию, школу, друзей и про всякие необычные случаи, которые с ним случались в жизни.В книге есть несколько почти фантастичес
Если вам наскучило работать в Интернете только с помощью Internet Explorer и забирать почту, только используя Outlook Express, если вы хотите узнать, какие еще программы, кроме ICQ, помогают общаться в Сети, если вы чувствуете, что для работы в Интернете вам еще что-то нужно, но не знаете что, то вам стоит заглянуть в эту книгу. Здесь рассмотрены самые разные программы, помогающие выполнять различные задачи в Интернете: альтернативные браузеры и
В книге рассказывается об известной немецкой разработке – программе ArCon, предназначенной для быстрого моделирования жилых зданий и оформления их интерьера и экстерьера. Программа достаточно проста в использовании, не требует практически никаких навыков трехмерного моделирования, однако позволяет создавать дизайнерские проекты, которые почти ничем не уступают разработанным в 3ds Max или Maya.Книга содержит подробное описание функционала последне
Это саммари – сокращенная версия книги «Как устроен ChatGPT? Полное погружение в принципы работы и спектр возможностей самой известной нейросети в мире» Стивена Вольфрама. Только самые ценные мысли, идеи, кейсы, примеры.ChatGPT умеет генерировать читабельный текст, анализируя миллионы аналогичных текстов. Стивен Вольфрам поясняет, как работает чат-бот, и предлагает научить его не просто имитировать результат человеческого мышления, но мыслить сам
Telegram Bot V2. Создание бота и Монетизация для профессионалов – это практическое руководство, которое шаг за шагом проводит вас через все этапы разработки и монетизации Telegram-ботов. В книге раскрыты технические аспекты настройки, интеграции API, UX/UI дизайна, а также современные стратегии монетизации, включая подписки, рекламу, партнёрские программы и донаты. Она подходит для опытных разработчиков, которые хотят создать востребованного бота
Горячие бутерброды – удобное и вкусное блюдо, которое уместно подать к столу и на завтрак, и на обед, и на ужин. Да и праздничный стол от них только выиграет. А приготовив такие бутерброды в микроволновой печи, вы сэкономите свои силы и время.Для широкого круга читателей.
Разнообразные и интересно оформленные, дополненные гарниром закуски являются украшением не только будничного, но и праздничного стола. Как приготовить аппетитные и оригинальные закуски, вы узнаете из этой книги.Для широкого круга читателей.
На любителя, под настроение, при должном освещении, возможно сожаление, ничем не примечательна, скорее не понравится, уж точно не окупится.Содержит нецензурную брань.
Переместиться в магический мир и оказаться в теле девушки-мага, которая буквально окружена мужчинами. Один другого обаятельнее и опаснее. Хотела обратиться за помощью, но единственный, кто знает мой секрет, считает, что лучше никому не говорить, откуда я взялась. Только не понятно – можно ли ему доверять. А еще эти пронизывающие взгляды главного мага в моей команде. Мага, от которого веет опасностью, мощью и… притягательностью. Разумеется. Он вед