Обложка канала

.NET Разработчик

Опытный разработчик не так давно зашёл в .Net и поставил цель получить сертификат Microsoft. Свой ежедневный прогресс он описывает на канале .Net Разработчик. Заметки об изученном материале, советы по повышению производительности и поддержке мотивации, ин

.NET Разработчик

3 года назад
Открыть в
День 1506. #BestPractices 20 Вещей, Которым я Научился за 20 Лет. Продолжение Начало 7. Если у вас нет хорошего понимания ваших возможностей, вы не сможете разработать хорошую систему Не отставать от трендов разработки — огромная работа, но очень важно понимать ваши возможности. Если вы не понимаете, что возможно и что доступно в данной сфере, вы не сможете разработать разумное решение для проблем, кроме самых простых. Стоит опасаться разработчиков, которые долгое время не писали никакого кода. 8. Каждая система в итоге становится плохой, смиритесь У Бьерна Страуструпа есть цитата: «Есть только два вида языков: те, на которые люди жалуются, и те, которые никто не использует». Это может быть распространено и на большие системы. Не существует «правильной» архитектуры, вы никогда не спроектируете идеальный интерфейс, тесты всегда будут медленными. Это не повод не улучшать ситуацию, но меньше беспокойтесь об элегантности и совершенстве. Стремитесь к постоянному улучшению и созданию пригодной для жизни системы, в которой вашей команде будет приятно работать и которая будет стабильно приносить пользу. 9. Никто не задаёт достаточно вопросов «почему» Используйте любую возможность, чтобы подвергнуть сомнению предположения и подходы из серии «всегда так делаем». Приходит новый член команды? Обратите внимание на то, где он путается и какие вопросы задаёт. Есть новый запрос странной функции? Убедитесь, что вы понимаете цель и то, что движет желанием иметь эту функцию. Если вы не получите чёткого ответа, продолжайте спрашивать «почему», пока не поймёте. 10. Лучше избегать программистов 0,1x, чем искать программистов 10x 10-х программист — глупый миф. Идея, что кто-то может сделать за день то, что другой компетентный, трудолюбивый, такой же опытный программист может сделать за 2 недели, глупа. Некоторые пишут в 10 раз больше кода, а затем его приходится исправлять в 10 раз чаще. Кто-то может стать 10x программистом только при сравнении с 0,1x программистом, который тратит время впустую, не спрашивает отзывов, не тестирует свой код, не рассматривает пограничные случаи и т. д. Лучше не допустить в команду программистов 0,1x, чем найти мифического программиста 10x. 11. Разница между сеньором и джуном в том, что у сеньора есть мнение о том, как всё должно быть Ничто не беспокоит больше, чем сеньор, который не имеет мнения о его инструментах или о том, как подходить к созданию ПО. Лучше высказать мнение, с которым никто не будет согласен, чем не иметь никакого мнения. Если вы используете свои инструменты и у вас нет миллиона причин их как любить, так и ненавидеть, вам нужно больше опыта их использования. Изучите другие языки, библиотеки и парадигмы. Есть мало способов улучшить навыки быстрее, чем активно искать, как другие выполняют задачи с помощью инструментов и методов, отличных от ваших. 12. Люди на самом деле не хотят инноваций Люди много говорят об инновациях, но обычно они ищут простых побед и нового дизайна. Если вы внедряете инновации и меняете то, как люди должны делать что-то, ожидайте в основном отрицательных отзывов. Если вы верите в то, что делаете, и знаете, что это действительно улучшит ситуацию, приготовьтесь к долгой битве. 13. Ваши данные — самая важная часть системы Во многих системах надежда - основной механизм целостности данных. В таких системах всё, что происходит не на «золотом пути», создаёт неполные или грязные данные. Работа с этими данными в будущем может стать кошмаром. Помните, что ваши данные, скорее всего, сильно переживут вашу кодовую базу. Тратьте энергию на поддержание порядка и чистоты, это окупится в долгосрочной перспективе. Окончание следует… Источник: https://www.simplethread.com/20-things-ive-learned-in-my-20-years-as-a-software-engineer/ Автор оригинала: Justin Etheredge