Содержимое
😎Хороший программист. Часть 3. Это продолжение серии постов про хорошего программиста. Это последняя глава в этой серии. ⚾️Учи концепции, а не технологии. Сегодня ты выучишь TypeScript, а завтра весь мир пишет на Flow. Сегодня ты выучишь RabbtMQ, а завтра весь мир использует Kafka. Мир технологий очень скоротечный. Поэтому не зацикливайся на технологиях, а изучай концепции которые лежат в основе них. Поняв концепцию тебе легче будет освоить похожие технологии. Это как если ты умеешь писать на одном языке программирования, то ты автоматический умеешь писать и на других, так базовые концепции везде одни и те же (переменные, классы, функции и т.д.). Как развить? Сталкиваясь с новой технологией попытайся понять базовые ее принципы, чем вызвана такая потребность, сравнивай со схожими технологиями, подумай о плюсах и минусах подходов. 🎙Коммуницируй. Я не смогу вам в полной мере объяснить насколько это важный пункт. 90% проблем в проектах можно было бы избежать если бы члены команды (хех члены) коммуницировали эффективно. • До дедлайна осталось 2 недели, а фичи еще не готовы?! Коммуницируй! Расскажи об этом своему менеджеру, обсудите как это исправить. • На встрече ты не понял что сказал клиент?! Коммуницируй! Спроси что они имели ввиду, убедись что вы поняли друг друга. • Ты нашел код который надо поменять, но не уверен в правильности решения?! Коммуницируй! Найди чувака который написал этот кусок кода и поделись со своим мнением. Любые непонятки, сомнения, несогласие, если это может повлиять на ход проекта, должны быть озвучены и обсуждены. Разумеется есть этикет коммуницирования, как это делать правильно, но это совсем другая история. Как развить? Изучи этикет коммуницирования, в каждой компании они разные (к примеру в Facebook нельзя назначать встречи в среду). Изучи общие практики правильных коммуникаций. Учись не боятся своего голоса и задавать вопросы на встречах с клиентом или командой. 💭Постоянно учись. Знаний никогда не бывает достаточно. Как развить? Все банально. Ставь цели и изучай то что поможет тебе там оказаться. Читай книги, делай сторонние проекты, бери курсы если надо. ⏰Расставляй приоритеты. Хороший программист умеет отличать важное от второстепенного. Написать технический дизайн проекта важнее чем рассуждать на чем его писать. Исправить баги на пути пользователя важнее чем добавлять новую фичу в настройки, куда пользователь никогда не заглядывает. Выспаться важнее чем, сидеть всю ночь над кодом с сонной головой, а весь следующий день ходить как зомби. Умение расставлять приоритеты сэкономит тебе кучу времени. Как развить? Попробуй представить разные ветки событий и попробуй трезво оценить какую пользу ты получишь по итогу каждого сценария. Представь это как кино, какая концовка тебе кажется логичной и правильной, по тому пути и иди. Еще порой сильно помогает опыт. Ты натыкаешься на одну граблю и впредь поступаешь умнее. 😱Решай проблемы. Задача программиста не подружить PHP с GraphQL, а сделать так чтобы пользователь смог купить себе велосипед у вас на сайте. Если пользователь не может купить у вас велосипед на сайте, то он уйдет к другому продавцу, не важно как вы делаете запросы, через GraphQL или Ajax. Как развить? Решай проблемы клиента любыми доступными способами, и кошерными, и не кошерными если по другому никак. Иди самым очевидными и простым путем, потом оптимизируй. #story