Начинающий программист
Личные навыки
Научитесь отлаживать
Как отлаживать, разделяя пространство проблемы
Как устранять баги
Как отлаживать, используя логи
Как определять проблемы производительности
Как устранять проблемы производительности
Как оптимизировать циклы
Как справиться с расходами на операции чтения и записи
Как управлять памятью
Как устранять плавающие баги
Как научиться проектировать программы
Как экспериментировать
Командные навыки
Почему важно оценивать задачи
Как оценивать время на разработку
Как искать информацию
Как спрашивать людей
Как документировать правильно
Как работать с плохим кодом
Как использовать системы контроля версий
Как писать юнит-тесты
Делайте перерывы, когда вы в тупике
Как понять, когда идти домой
Как вести себя с трудными людьми
Программист среднего уровня
Как сохранять мотивацию
Как заслужить доверие
Как балансировать процессорное время и память
Как проводить стресс-тестирование
Как балансировать краткость и абстракцию
Как осваивать новые навыки
Научитесь печатать вслепую
Как проводить интеграционное тестирование
Языки взаимодействия систем
Стандартные технологии
Как анализировать данные
Как управлять временем разработки
Как управлять рисками, связанными со сторонним программным обеспечением
Как руководить консультантами
Как соизмерять количество общения
Как честно выражать несогласие
Экспертиза
Как балансировать качество и время разработки
Как управлять зависимостями
Как оценивать стороннее программное обеспечение
Как решить: покупать программу или писать свою
Как расти профессионально
Как проводить собеседования
Как понять, когда применять высокие технологии
Как разговаривать с неинженерами
Продвинутый программист
Техническая экспертиза
Как отличить сложное от невозможного
Как использовать встроенные языки
Выбор языка программирования
Правильные компромиссы
Как справляться с давлением графика
Как понять пользователя
Как получить повышение
Управление командой
Как развивать таланты
Как выбрать, над чем работать
Как получить наибольшую отдачу от коллег
Как разделять задачи
Как распределять скучные задания
Как получить поддержку для проекта
Как развивать систему
Как качественно взаимодействовать
Как сообщать неприятное
Как справляться с менеджерскими мифами
Как справляться с организационным хаосом
Глоссарий
Приложение A - Библиография/Список сайтов
Приложение B - История (на январь 2016)
Приложение C - Участие в проекте (на январь 2016)
Last updated 1 day ago