Организация

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

Запишите все

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

Автоматизируйте задачи

Потратьте время на автоматизацию повторяющихся задач, таких как резервное копирование или любые проверки, которые вам могут понадобиться (проверить, работает ли служба на сервере и т. д.). Это не только высвободит ваше время и сделает вас более продуктивным, но и даст хороший шанс решить проблемы, которые могут отличаться от вашей обычной работы. Это может помочь вам изучить инструменты Linux, такие как bash и cron, или Windows batch/powershell, которые невероятно полезны. Вы можете автоматизировать развертывание новых версий программного обеспечения с помощью Jenkins или сократить количество шагов, необходимых для выполнения других трудоемких задач.

Время мозгового штурма

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

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

Оставьте папки в лучшем месте

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

Используйте Git (или другой инструмент контроля версий)

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

Совет Git 1: работайте над кодом в отдельной функциональной ветке

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

Git совет 2: Чаще отправляйте и объединяйте

Также в связи с вышеизложенным, часто отправляйте свой код в удаленный репозиторий (Github, Gitlab, Bitbucket и т. д.). Это может быть не так важно для сольных проектов, но все же служит полезным запасным вариантом. В команде это означает, что люди могут просматривать небольшие фрагменты кода. Люди могут разозлиться на вас за то, что вы загрузили недельный код за один раз, так как потребуется много времени, чтобы тщательно его просмотреть. Это также означает, что вы можете часто объединять основную ветку с вашей функциональной веткой, что довольно безболезненно. Это избавляет вас от одного большого слияния в конце, потому что ваша ветвь отстает, и именно здесь вы рискуете сломать что-то, поскольку вы можете не знать контекст всех конфликтов слияния.

Выспаться

Последний совет из этой серии блогов, вероятно, наименее связан с программированием. Да, я извиняюсь за вторжение в вашу личную жизнь, но это мне очень помогло. По будням в настоящее время я ложусь спать в 22:00. Я стремлюсь к 10, и это часто становится 10:30, но это все еще дает мне хорошие 9 часов сна. С тех пор, как я это сделал, я обнаружил, что могу лучше концентрироваться, рабочие дни идут быстрее, и я больше наслаждаюсь жизнью! У всех нас были такие недели, когда мы становились все более и более уставшими с течением недели, и мы просто ждали выходных, которые придут и спасут нас. Эти недели не веселые.

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

Это последняя часть этой серии сообщений в блоге. Было очень весело писать, и я надеюсь, что кому-то это будет интересно и/или полезно. Если вы не читали другие части, вот они:
Часть 1: Работа в команде
Часть 2: Гибкость
Часть 3: Планирование
«Часть 4 : Коммуникация"

Спасибо за чтение и удачного программирования.

-Майк Грегори