Статьи

Как быть хорошим разработчиком

Как PHP-разработчик или любой другой разработчик, вы должны постоянно совершенствоваться в этой постоянно меняющейся отрасли; Вы должны учиться и использовать новые знания каждый день.

Что общего у успешных разработчиков, так это то, что они очень заботятся о программировании, они профессионалы, воспринимающие хорошие методы программирования как форму искусства.

В этой статье вы узнаете о том, как стать лучшим разработчиком, следуя «этикету» программирования, и узнаете, как использовать эту информацию, чтобы, возможно, научить других себя лучше.

Как быть профессионалом

Programmer's aid

Профессионализм, независимо от работы, над которой вы работаете, всегда начинается с вас. Профессионалы в первую очередь имеют сильные личности и характеры.

Как и в любой сфере жизни, программисты пользуются уважением. Посмотрим, как вы станете одним.

Не будь эгоистом

У меня был шанс работать в больших командах, так как я практикую это ремесло, и самая важная динамика команды, которую я узнал на раннем этапе, это то, что команда и сотрудничество идут рука об руку.

Что вы делаете большую часть времени в команде, так это учитесь и учите друг друга, и рабочая среда всегда должна включать и поощрять обмен опытом.

Если вы не хотите делиться своей работой и знаниями, вы высокомерны и / или имеете большое эго, вы не будете чувствовать себя комфортно, работая в такой среде, как эта.

Будь ответственным

Непрофессионалы не должны брать на себя ответственность за свою работу. Это оставлено менеджеру. Они просто получают назначенную им работу и забывают все об этом, когда часы бьют 5 вечера.

Профессиональный программист не может принять это. Как бы вы себя чувствовали, если бы ваша ошибка стоила вашей компании тысячи долларов?

Это проблема, решение которой также зависит от руководства и от того, как компания справится с этим. Каждая компания должна поощрять разработчиков брать на себя ответственность за свои действия и, что более важно, за код, который они пишут.

Если ваша ошибка попадает на рабочий сервер, сделайте все возможное, чтобы исправить ее как можно скорее, даже если это займет всю ночь. Это отделяет вас от непрофессионалов и дает вам более высокую зарплату.

Принять критику

Программное обеспечение без ошибок невозможно написать, и мы все жертвы совершения глупостей в хранилище.

То, как мы справляемся с критикой, многое говорит о том, как на нас смотрят как на разработчиков.

Любая критика должна быть услышана и извлечена из нее, потому что именно это делает вас лучше в том, что вы делаете, особенно если вас критикуют люди, у которых гораздо больше опыта, чем у вас.

Иметь сильную трудовую этику

Быть профессионалом — это безостановочная работа. Обучение не длится с 9 до 5.

Постоянное обучение, практика и самосовершенствование — это инвестиции в себя, и это ваша ответственность, а не работодатель.

Это также должно происходить вне работы — вы не должны тратить время своего работодателя, чтобы прочитать последние учебники SitePoint [Эй! Легко! 😉 — Ред.].

Вы просто не хватает времени, говорите? Конечно, есть! Вы просто должны думать умно. Если вы хотите серьезно относиться к своей карьере, то сфокусируйтесь на ней серьезно.

Вставай рано, уходи немного поздно. Используйте эти дополнительные часы в своих интересах, не жертвуя своим здоровьем и семьей.

Всего полчаса до и после работы означает дополнительные пять часов каждую неделю. Это более половины всего восьмичасового рабочего дня.

Как написать хороший код

PHP Code

Читать исходный код

Посмотрите на это так: вы не можете научиться читать быстро, если совсем не практикуете чтение. Задача разработчика — писать хороший код, но вы не можете написать хороший код, если не знаете, как выглядит хороший код.

Большинство разработчиков слепо используют сторонние библиотеки, не касаясь исходного кода. Это нормально, но чтобы понять, как эта конкретная библиотека может помочь, вам нужно глубже изучить ее исходный код, комментарии и запустить тесты (если они есть).

Чтение кода поможет вам быстро находить ошибки других разработчиков, и это очень помогает, если вы делаете обзор кода или парное программирование.

Изучите новые методы

Всегда будьте открыты для изучения новых методов и решите, как они могут помочь вам стать лучшим программистом.

Будьте открыты для новых вещей все время, не просто игнорируйте последние тенденции, потому что вы думаете, что они пройдут. Все циклично, но постоянным является знание, которое вы получаете, открывая для этого свой ум.

Хороший разработчик никогда не прекращает учиться, даже имея 15-20 лет практики позади него.

Помедленнее

Замедление означает, что вам потребуется немного больше времени для оценки проблемы, которую вы пытаетесь решить. Быть быстрым — это не то, к чему вы должны стремиться.

Я видел, как начинающие разработчики выполняли задачу и доставляли код так быстро, как могли, что приводило к ошибочному коду, на исправление которого уходило больше времени, чем если бы они сели и серьезно подумали о правильном решении.

Старшие разработчики ленивы и медлительны, и это в интересах всех, потому что хороший программист не хочет выполнять работу дважды.

Для старшего разработчика написание реального кода отнимает треть его времени, потраченного на выполнение задачи, остальное думает о хорошем решении проблемы.

Проверьте свой код

Это не будет TDD или не будет обсуждением TDD, но имейте в виду, что тесты любого рода очень важны для предоставления качественного кода.

Как узнать, что что-то сломалось без проверки? Знаете ли вы, что вы делали пару месяцев назад на базе кода конкретной функции?

Из тестов вы можете узнать, как на самом деле работает код. Это как руководство для разработчиков, так же как и содержание книги. Тесты показывают, где искать и что искать.

Написание тестов для вашего кода поначалу является важным и трудным делом, но это доказало свою полезность в долгосрочной перспективе бесчисленное количество раз.

Знай свой набор инструментов

Знайте, какие инструменты вы можете использовать, чтобы помочь вам справиться с проблемой. Большинство инструментов, в конце концов, сводятся к предпочтениям, но имейте в виду, что хороший инструмент или библиотека могут вам очень помочь.

Подумайте, сколько времени вы проводите в редакторе, будь то полноценная IDE или текстовый редактор с выделенным синтаксисом.

Кроме того, вы должны решить, стоит ли использовать определенную библиотеку для работы или нет. Стоит ли использовать фреймворк PHP? Каковы плюсы и минусы? Окупается ли использование неуклюжей CMS для проекта?

Это те вопросы, о которых вы должны подумать, прежде чем писать хотя бы одну строчку кода.

Как остаться на трассе

PHP Code

Борьба с выгоранием

Постоянно набирать код в казалось бы бесконечном цикле может быть утомительно. Большинство разработчиков, которые были в этом бизнесе достаточно долго в какой-то момент своей карьеры, испытали выгорание.

Выгорание связано с длительной работой и так называемым синдромом самозванца , что означает, что разработчик постоянно думает, что он недостаточно хорош, и чтобы стать лучше, ему нужно работать больше и работать больше, в то время как больше не обязательно означает лучше.

Лучшее лекарство для этого — просто сделать шаг назад, выйти из этого цикла и заняться другими вещами, творческими вещами. Возьмите перерыв, даже если это всего лишь пара дней.

Другое решение, которое становится все более популярным в борьбе с истощением, — найти члена команды, с которым вы сможете заниматься парным программированием. Социальное взаимодействие с другим человеком очень эффективно.

Обслуживание кода

Оставаться на правильном пути также означает поддерживать чистую базу кода. Не только для других, но и для себя тоже. Код без тестов или документации похож на русскую рулетку.

Что происходит, когда вам нужно пересмотреть некоторые функции через пару месяцев? Вы будете тратить больше времени на выяснение того, что вы на самом деле делаете, чем на саму задачу.

Я видел клиентов, обращающихся к разработчикам, чтобы реорганизовать свой проект бесчисленное количество раз, потому что предыдущая команда потеряла интерес или больше не могла над ним работать, и почти все время реакция новой команды заключалась в том, что он должен быть переписан с нуля.

Это происходит потому, что предыдущая команда не была способна поддерживать чистую и надежную базу кода. Эта практика занимает много времени; Прочитайте статью под названием « 18 критических упущений в веб-разработке», в которой рассказывается о том, как сохранить код в чистоте, и другие рекомендации.

По оценкам

Оценки являются чувствительным вопросом для многих программистов и менеджеров, и они не должны быть. Я уверен, что все слышали о случае, когда менеджеры спрашивают разработчиков, сколько времени займет задача, и они ожидают четких ответов, но оценочная задача по-прежнему занимает вдвое больше времени, чем первоначально оценивалась.

Большинство людей не понимают, что оценки — это только догадки, а не обязательства. Чтобы быть лучшим разработчиком, вы должны знать, что оценка никогда не является обязательством , потому что если вы передаете что-то себе, это означает, что вы несете ответственность за ее предоставление.

Оценки никогда не были и никогда не будут обязательствами, это характер оценки. Люди ужасно оценивают время для выполнения определенной задачи , и если ваш менеджер просит об этом, вы должны сказать ему, что вы не можете взять на себя обязательство делать то, в чем вы не уверены на 100%, что вы можете сделать вовремя.

Однако вы можете сделать предположение, но не давать никаких обещаний.

Как стать мастером

PHP Code

связь

Все дело в общении. Я видел, как проекты и компании развалились, потому что члены команды не могли общаться.

Сохраняйте общение простым и понятным, исключите посредников между вами и получателем. Каждый «узел» в вашей линии связи создает почти экспоненциальные сложности.

Предприятие сильно страдает от этого — вот почему оно движется так медленно, каждое решение должно приниматься дюжиной людей, и именно здесь блистают гибкие команды.

Простое и краткое общение означает, что вы можете двигаться быстрее, чем другие, вы можете лучше понимать свои задачи, и это дает вам преимущество, поэтому не бойтесь задавать и задавать конкретные вопросы.

сотрудничать

Помимо того, что вы хороший коммуникатор, вам также нужно быть хорошим соавтором , и давайте посмотрим правде в глаза, программисты — не самые социальные люди.

Вы должны сотрудничать не только с другими разработчиками, но и с вашим менеджером, и, возможно, напрямую с клиентом.

Сотрудничество также означает, что нужно знать, что поставлено на карту, выполнять свою работу и быть хорошим командным игроком.

Если вам трудно эффективно сотрудничать с другими, попробуйте парное программирование . Самой сущностью парного программирования является сотрудничество.

Смотрите также эту статью о работе с чужим кодом.

Проклятие знаний

Согласно Википедии: «Проклятие знания — это когнитивный уклон, который приводит к тому, что лучше информированные стороны считают, что чрезвычайно трудно думать о проблемах с точки зрения менее информированных сторон».

По сути, старшим разработчикам трудно объяснить проблемы, настолько простые, что младшие разработчики могут понять. Это происходит потому, что все они очень хорошо знакомы с проблемой и имеющимися у нее методами ее решения, но когда они пытаются объяснить ее другим, они терпят неудачу, потому что это объяснение является лишь кратким изложением знаний в их голове.

Проще говоря, когда вы что-то знаете, очень трудно не знать этого. Чтобы бороться с этим, вам нужно использовать определенный язык. Объясните проблему так подробно, что вам даже смешно, но продолжайте делать это, потому что ваше состояние ума не равно состоянию ума получателей.

Знай свое поле

Если вы называете себя экспертом по программированию, то будьте экспертом по программированию. Знайте свое поле сверху вниз и не бойтесь говорить «нет» столько раз, сколько считаете нужным.

Чтобы упростить это, быть экспертом — значит просто сказать «нет» другим, потому что это означает, что вы защищаете свою правду и имеете преимущество среди своих сверстников, вы, вероятно, в большинстве случаев правы.

Знание своей области не обязательно означает, что у вас есть степень CS, это означает, что у вас есть большой опыт и практика в том, что вы делаете. Вы должны улучшить свои навыки не только в общем программировании, но и в компьютерной инженерии и архитектуре.

Быть экспертом означает, что вы находите наилучший возможный дизайн для решения проблемы, а написание кода является «побочным эффектом» этого.

Понять бизнес, в котором вы находитесь

Никто не может создать хорошее программное обеспечение, не зная проблем бизнеса и того, что они пытаются решить с помощью вашего кода.

Вы должны быть активными и заинтересованными в бизнесе, потому что это отражается на вашей работе. Без четких целей и конкретных проблем код будет непреднамеренно путаться, вот как работает кодирование.

Вы должны держать в узде, какие функции следует реализовать и особенно как, но для этого бизнес-ценность должна быть предельно ясна.

Если вы чувствуете, что ваш опыт и цели бизнеса не очень хорошо совпадают, сделайте себе одолжение и не принимайте работу. Цените свое время, потому что это бесценно.

Код катас

Чтобы постоянно улучшать себя, сначала вы должны знать, на каком уровне вы находитесь.

Code katas — это упражнения для программистов, которые улучшают свои навыки, практикуясь и находя лучшие решения для различных проблем.

Вы можете попробовать решить проблемы с кодами в Project Euler , CodeKata или Topcoder .

Topcoder даже предлагает призы за нахождение лучшего решения их задач программирования.


Вывод

Программирование — это больше социальный навык, чем все остальное. Чтобы быть хорошим программистом, сначала вы должны работать над своей личностью, если вы обнаружите себя замкнутым. Затем освоите принципы программирования.

Вам нужно постоянно совершенствоваться, постоянно учиться, быть на шаг впереди игры. Чтобы по-настоящему достичь профессионализма, вам нужно понять бизнес и проблему, которую вы пытаетесь решить с помощью своего кода.

Код — это всего лишь побочный продукт всего решения проблемы, и он очень мало добавляет к общей картине. Идеи для решений, навыки для совместной работы и мастерство инструментов, которые вы должны использовать для решения проблемы, являются ключом к тому, чтобы стать уважаемым профессионалом.

Подробнее о том, как стать профессионалом, смотрите в этой серии , и если у вас есть что-то, что вы хотели бы добавить в этот список, пожалуйста, сообщите нам об этом в комментариях ниже.