Автор статьи: Владимир Кунаев
Seven Suns Development
Работая в одной из первых команд рядовым программистом 1С, я столкнулся с нередкой проблемой, когда в каждом релизе 60% ошибок были моими. Помимо негатива, который незримо ощущался от техподдержки, я получил заниженную самооценку, отчего моя эффективность работы стала падать ещё быстрее. При этом рядом со мной сидел программист 1С с таким же возрастом и опытом, но у него процент ошибок не превышал 10%.
Я стал искать способы, как выйти на такие же результаты и перестать релизить кривой код. Перебрав массу способов, большинство из которых в итоге сработали, мне удалось достичь желаемого. Чем большее количество этих «лайфаков» удастся применить, тем быстрее и лучше будет эффект.
Учите «матчасть». В свое время меня очень раздражала эта фраза, особенно применяемая ко мне в случаях, когда я не знал каких-то теоретических выкладок. Однако со временем сам пришел к выводу, что теория — это фундамент, на котором базируется всё остальное. В любой творческой профессии без знаний основ многого не достигнешь. Поэтому первое, с чего надо начать, это изучить основы программирования (говорящие переменные, неповторяемый код и т.д.)
Отпуск. Однажды я посчитал и понял, что не был в отпуске 5 лет подряд. И я не помню, чтобы мой профессиональный уровень как-то резко менялся в это время. При этом после двухнедельного активного отпуска я вернулся на работу совсем другим. Я стал программировать значительно быстрее и качественнее, чем 14 дней назад. Сначала даже подумал, что это ненадолго, но уровень сохранился. Не пренебрегайте отдыхом и не только для повышения работоспособности, но и для восстановления организма.
Поймите, какой вы человек. Экстравертам и «болтунам» советую проговаривать код и размышления над задачей вслух, интровертам лучше уединиться, чтобы никто не мешал. От этого их продуктивность только возрастает. Если вы физически активный человек, встаньте и ходите по офису во время размышления. На одной из работ я наблюдал, как программист 1С периодически встает, ходит из угла в угол по кабинету, потом быстро садится и записывает то, что «нашагал». Если вы пока не знаете, какой вы, потипируйте себя в интернете по различным методологиям типа DISC, PAEI, модель Белбина и т.д. Экстравертам подойдет постоянное переключение между задачами, а интроверты любят долго делать одну.
Перфекционизм. Не идите на поводу у желания идеально выполнить задачу. В природе всё имеет нормальные несовершенства. Лучше простой работающий продукт с ошибками, чем идеально оформленная, но неработоспособная программа. MVP никто не отменял.
Слона есть по частям. Большую задачу делить на мелкие, первую из которых можно начать делать прямо сейчас. И второй вариант разделения - делим процесс выполнения задачи на этапы, то есть, сначала пишем весь код без проверок, потом проверяем его работоспособность и исправляем ошибки, в конце прогоняем весь процесс полностью до тех пор, пока не останется ни одной ошибки. Такой метод больше применим к не очень большим задачам.
Красивый и сложный код. Это ещё один демотиватор. Лучше писать самый простой и понятный код, не гоняясь за красотой и зрелищностью, так как его будет впоследствии легко и удобно поддерживать и дорабатывать.
Энергетики. Из самых менее вредных я бы назвал кофе, если он вас ещё бодрит. Сам пришел к такому способу активизироваться и собраться, особенно после обеда, когда начинает клонить в сон, так как ночью вы спали только 3 часа по не сильно зависящим от вас причинам. Когда мне нужно сосредоточиться и продуктивно поработать, я неизменно прибегаю к кофе. Даже эту статью я пишу после выпитой чашки. Но у меня есть одно правило, не более 2 кружек в день, иначе организм адаптируется и перестанет реагировать подъемом сил. Последняя чашка не позже 18:00. Такую технику я практикую уже 7 лет, и эффект хуже не стал.
Комфортное рабочее место. Не жалейте денег на удобный стул, лучше коленный. Купите коврик, если вас, как и меня, раздражает скрип пластмассы по столу и грязь, налипающая на нижнюю часть мыши. Быстрый компьютер с большими, качественными мониторами только поначалу кажется расточительством, на самом деле, это прямая инвестиция в ваш заработок и здоровье, которая потом многократно окупится.
Ритуалы. Я знаю одного человека, который хорошо работает из дома, но не может даже сесть за рабочий компьютер, не надев офисный костюм. Придумайте себе ритуалы, настраивающие на рабочий ритм. Утренний кофе, новости в ленте или разговор с охранником – всё это мозг запоминает и начинает продуцировать ту энергию, которая будет нужна после таких повторяющихся действий для продуктивной работы.
Ограничение времени работы. По заверениям ученых, занимающихся исследованием процессов работы мозга, обычный человек может напряженно работать не более 4 часов в день. Если превысить этот порог, то следующий день будет значительно менее продуктивным, так как потребуется время на восстановление в 2 раза больше, чем затраченное на работу. Но это касается именно напряженной работы, а не обычного полурасслабленного состояния senior-программиста 1С, в котором он часто может пребывать, делая на «автомате» стандартные задачи.
Хороший код — это тот код, который нравится хотя бы вам самим. Каждый следующий программист 1С, приходя на новое место работы, как правило, начинает рассказывать, что до него работали «говнокодеры», и уж он-то сейчас наведет порядок. Часто этого не происходит, но оценка уже дана.
В любом случае, описанные приемы сильно помогают мне в повседневной деятельности для решения задач программирования. И некоторые из них обязательно помогут вам, если начнете их использовать. Всем хорошего кода!
Не секрет, что у фирмы 1С есть конфигурации, сильно помогающие разработчикам не изобретать велосипеды и экономить время разработки. Приглашаю всех на бесплатный урок, в рамках которого разберём основной функционал библиотек этих конфигураций и возьмём на вооружение их приемы. А также хочу поделиться с вами записью урока на котором я рассказывал про нестандартные решения на платформе 1С.