Одной из первых плюшек в компании куда я устроился была подаренная электронная книга с набором литературы. Вот этот объем литературы я и хотел бы описать.

Программист-прагматик.

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

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

  1. Насколько вы знаете используемый вами текстовый редактор? 
  2. Насколько быстро вы в нем работаете? 
  3. Если он еще не является продолжением ваших рук, сколько альтернатив ему вы рассмотрели?Знаете, моя девушка начинающий програмист. Код она пишет хорошо, даже читаемо, недавно я ревьюил ее дипломную работу - мне практически не к чему было придраться в плане производительности и утечек памяти. Но! Знал бы кто, как тяжело мне было сдерживать эмоции, когда увидел с какой скоростью она работает в vim:
  • Операции, которые делаются парой команд, она делала вручную
  • Не пользовалась автозаменой
  • Не пользовалась поиском по шаблонам
  • Порой и того хуже - искала что-то глазами. Все те же самые действия в gedit заняли бы у нее куда меньше времени. А все почему? Люди редко думают о том, что использовать надо __инструмент, __самый удобный для решения своей задачи.

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

Веревка достаточной длины для того, чтобы выстрелить себе в ногу, А. Голуб.

Я бы назвал эту книгу несколько иначе - “Этикет написания кода на С/С++”.

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

Во время чтения книги моей основной целью стояло срочное изучение С, поэтому все связанное с С++ я пропускал, так что сказать об этом ничего не могу. А вот про Си: выучить его оно мне не сильно помогло, но - оно сильно увеличило читаемость моего кода, при том, что я редко комментирую/документирую свой код (русский не использую из-за разных кодировок, английский плохо знаю).

Рекомендую каждому, кто слышал мат в сторону своего кода.

Клаудия Зальцберг, Азбука ядра Linux.

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

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

Минусом можно считать то, что около 10% книги посвящено разбору кода для архитектуры PPC, с которой в скором времени вряд ли столкнется среднестатистический разработчик. А пролистывать эти страницы не так уж удобно.

Читал я ее урывками и все еще не дочитал - 400/550 страниц, но за месяц вы сможете научиться писать малоглючащий и почти не костыльный код для Kernel Space даже если до этого не писали на Си.

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

Мифический человекомесяц

TODO

Scrum и XP - заметки с передовой

TODO

Что-то про мифы и заблуждения о разработке, надо глянуть

TODO