Компьютер делает ровно то, что ему сказали, — не больше и не меньше. Программист — тот, кто умеет сказать это так, чтобы получилось именно то, что нужно людям. И отвечает за то, как это потом работает.
Код — только видимая часть. Большая часть работы происходит до первой строки и после последней.
Выясняет, что на самом деле нужно, а не что попросили. Задаёт неудобные вопросы, пока это дёшево.
Делит большое на части, выбирает, где провести границы и что можно будет поменять потом.
Код, тесты, документацию. Перечитывает своё так же строго, как чужое.
Чинит, ускоряет, упрощает. Хорошая система — та, которую не страшно менять через год.
Языки и фреймворки меняются каждые несколько лет. Способ мышления остаётся.
split()Любую сложную задачу можно разбить на простые. Если не получается — значит, задача ещё не понята.
interfaceСкрыть детали там, где они мешают, и показать там, где они важны. Хорошее имя стоит десятка комментариев.
assert«Работает у меня» — не доказательство. Проверить на краях, на пустом вводе, на сбое сети, на ошибке пользователя.
deleteЛучший код — тот, который не пришлось писать. Удалить лишнее часто ценнее, чем добавить новое.
Программы пишутся для того, чтобы их читали люди, и лишь между делом — чтобы их исполняли машины.
Профессия обросла стереотипами. Большинство из них — про кино, а не про работу.
Примерно так — с поправкой на команду, проект и количество созвонов.