Как стать крутым программистом

FIXME Перевести вот это https://www.quora.com/How-can-I-be-a-better-programmer-2 и добавить это https://www.quora.com/How-do-I-know-if-I-am-coding-developing-fast-enough

  1. Вы понимаете устройство оперативной памяти, что такое адресация, чем отличается статическое выделение памяти от динамического;
  2. Вы можете описать, что происходит на низком уровне при вызове функции и как в этом участвует стек;
  3. Понимание процессов и потоков у вас глубже, чем просто понимание того, что потоки являются частью процессов;
  4. Вы знаете, что есть общего у файлов, сокетов и потоков ввода вывода, а также на практике можете подменить одно другим;
  5. Фраза “PHP рожден, чтобы умирать” - для вас скорее проверенная ложь, а реализация долгоживущего демона - посильная задача;
  6. (?<!\d) и ([^0-9]) для вас разные выражения и не только потому, что написаны по-разному, а жадность для вас это не качество человека, а технический термин;
  7. Вы видите плюсы деревьев не только в их красоте, но и в ускорении поиска, а фраза “префиксное дерево” не ставит вас в тупик;
  8. Вы знаете, в чем отличие между понятиями “инверсия управления” и “внедрение зависимости” и можете объяснить, когда нужно использовать абстрактную фабрику, а когда фабричный метод и почему;
  9. Вы в деталях понимаете что происходит в моменте между вводом URI в адресной строке браузера и отображением результата;
  10. PSR для вас это больше, чем просто 3 буквы, и вы знаете и используете несколько его вариантов;
  11. Вы в курсе устройства ZVAL и в связи с этим понимаете, в чем состоит важное изменение в PHP7 после PHP5, а также какие преимущества это дало;
  12. У вас есть опыт написания и оптимизации сложных запросов в MySQL или PostgreSQL, и вы понимаете для чего нужны и как устроены индексы;
  13. Транзакции для вас это не просто последовательность команд, и вы знаете, что такое ACID и уровень изоляции;
  14. Вы видите в нормализации и денормализации инструменты решения соответствующих задач и понимаете, каких;
  15. Все эти аббревиатуры SOLID, KISS, DRY, DDD, EDA, CQRS, SOA для вас не просто умные сочетания букв, необходимые для прохождения собеседования, а часть жизненного опыта, который вы во многом прошли самостоятельно.

Ссылки

Печать/экспорт