Начинающим программистам требуется нечто большее, чем навыки программирования. Столкнувшись с реальной работой, вы моментально понимаете, что самым нужным вещам, имеющим критическое значение для карьеры, не обучают ни в университетах, ни на курсах. Книга «README. Суровые реалии разработчиков» призвана восполнить этот пробел. Познакомьтесь с важнейшими практиками инжиниринга, которым обучают разработчиков в ведущих компаниях. Вы узнаете о том, что вас ждет при устройстве на работу, затем познакомитесь с особенностями кода промышленного уровня, эффективным тестированием, рецензированием кода, непрерывной интеграцией и развертыванием, созданием проектной документации и лучшими практиками архитектуры ПО. В последних главах описываются навыки гибкого планирования и даются советы по построению карьеры.
Ключевые концепции и лучшие практики для начинающих разработчиков — то, чему вас не учили в университете!
Все инженеры должны научиться правильно задавать вопросы. Новички обычно боятся лишний раз побеспокоить коллег и пытаются разобраться во всем самостоятельно, что негативно сказывается на скорости и эффективности работы. Правильные вопросы помогут вам учиться быстро, не раздражая окружающих. Для этого нужно провести исследование, четко сформулировать вопрос и выбрать подходящее время, чтобы его задать.
Лучший способ решения проблем, связанных с повторными попытками, состоит в создании идемпотентных систем. Идемпотентной называется операция, которую можно выполнять многократно, получая при этом один и тот же результат. Примером такой операции является добавление значения в набор. Вне зависимости от того, сколько раз вы добавляете значение, в наборе оно присутствует в единственном экземпляре. Удаленные API можно сделать идемпотентными, позволив клиентам предоставлять уникальный идентификатор для каждого запроса. Повторяя попытку, клиент предоставит тот же уникальный идентификатор, что и во время неудачной попытки, и сервер сможет исключить дополнительный запрос, если тот уже был обработан.