- PVSM.RU - https://www.pvsm.ru -
Прим: странно, что этой нетленки нет на хабре. Я решил исправить это недоразумение.
Оригинал — http://thecodist.com/article/all-i-need-to-know-to-be-a-better-programmer-i-learned-in-kindergarten [1]
Программирование — сложная штука, но много принципов, которые делают программиста лучше, почти не отличаются от того, чему нас учили воспитательницы.
Вдохновением для списка ниже послужило эссе “Все что мне действительно нужно знать, я узнал в детском саду”, автор Robert Fulghum (http://www.robertfulghum.com/ [2]).
Используйте Open Source насколько это возможно, и по мере сил старайтесь вносить свою лепту. Совместная мудрость большого сообщества лучше ограниченной позиции нескольких больших корпораций.
Дайте другим технологиям, фреймворкам, методологиям и мнениям шанс. Не считайте свое мнение единственно верным. Другие подходы к проблеме вполне могут оказаться лучше Ваших; взглянуть на них непредвзято делу не повредит.
Не стоит атаковать людей только потому, что они используют .Net, Java или PHP. Иногда технологии могут оказаться гораздо более полезными и удобными чем представляется. У человека можно научиться гораздо большему, если при этом не стараться растереть его в порошок.
Старайтесь выдавать на-гора код, который работает. Не стоит ожидать, что QA найдет все ошибки за Вас. Тестируйте свой код интенсивно, и вглубь (юнит-тесты) и вширь (функциональные тесты).
Придерживайтесь лицензий на код, библиотеки или инструменты, которые Вы используете, не надо воровать, а затем говорить что невиновен.
Просмотр кода (Code Review) — хорошая, но редко применяемая идея. Обучение менее опытных программистов идет на пользу команде. Но не нужно открыто критиковать, если что-то не так — обучать людей не значит принижать их. Иногда Вас будут слушать, иногда нет. Иногда можно многому научиться у людей, которых Вы считали ниже себя по уровню.
Старайтесь разобраться в поставленной задаче прежде чем писать код. Напишите небольшой прототип, поищите аналоги в сети, пообщайтесь с людьми, которые с этим уже сталкивались. Создать с нуля что-то, с чем не приходилось работать или иметь дело раньше — непростая задача. Конечный результат будет намного лучше, если начинать работу с пониманием проблемы.
Не нужно бояться заменить, переписать, реструктурировать или вообще выбросить кусок плохого кода или неудачный проект. Иногда “если не знаешь что делать — выбрось и забудь” — лучший подход. Никогда не надо слишком любить свой код.
Да, у программиста должна быть удобная и комфортная рабочая обстановка. Хорошее кресло, тихое рабочее место, пристойный компьютер и инструменты, делающие разработку лучше и проще — все это очень важно. Менеджеры должны осуществлять функцию зонтика, оберегающего разработчиков от всего того нехорошего, что стекает сверху. Как программист, Вы должны ожидать достойного к себе отношения. Если же наниматель не может этого обеспечить, стоит задуматься о поиске более адекватного места работы.
Мне нравится организация труда в Google, где 20% своего времени ты можешь посвятить работе над тем, что, как тебе кажется, этого заслуживает. Неплохо было бы также предоставлять комнаты для отдыха или игр — программирование это тяжелый умственный труд, иногда просто необходимо дать голове отдохнуть. Избегайте постоянных переработок — упавшее качество работы сведет на нет прирост в производительности, достигнутый ценой ночных бдений.
Работа 24 часа в сутки не делает более продуктивным. Делайте перерывы, уйдите домой, поспите немного. Часто мне удавалось решать запутанные задачи просто уходя домой, и решение приходило в голову по дороге с работы или на следующее утро.
Общество полезно для души — читайте блоги, изучайте новые языки и фреймворки, участвуйте в дискуссиях и смотрите что делают другие. Только делая свою работу, не стать лучшим программистом. Зарывшись в работу с головой, вы рискуете в один прекрасный день обнаружить что все переменилось и ваши знания устарели.
Каждый день что-то новое и удивительное происходит в мире программирования и технологий. Узнайте об этом. Удивитесь. Узнавайте что-то новое каждый день. Это помогает поддерживать свежесть и актуальность навыков и расширяет кругозор.
Код становится старым и умирает. Временами лучше просто смириться с этим и сделать все заново. Незачем держаться за ужасный код только для того, чтобы сохранить вложенные деньги.
(Дик и Джейн — герои популярных в свое время в США книг для обучения чтению, см. http://en.wikipedia.org/wiki/Dick_and_Jane [4])
Вы не узнаете ничего, если не попробуете это сделать. Все, чему я научился в программировании, было результатом ни к чему не обязывающей возни с новыми интересными вещами. Каждое утро я читаю кучу сайтов и узнаю что происходит в индустрии; я делаю так с самой начала моей профессиональной карьеры в начале 80-х (тогда это означало чтение каталогов и журналов)
Видите, программирование — это просто, если посмотреть глазами пятилетнего ребенка.
Автор: Bringoff
Источник [5]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/sovety/38945
Ссылки в тексте:
[1] http://thecodist.com/article/all-i-need-to-know-to-be-a-better-programmer-i-learned-in-kindergarten: http://thecodist.com/article/all-i-need-to-know-to-be-a-better-programmer-i-learned-in-kindergarten
[2] http://www.robertfulghum.com/: http://www.robertfulghum.com/
[3] мышления: http://www.braintools.ru
[4] http://en.wikipedia.org/wiki/Dick_and_Jane: http://en.wikipedia.org/wiki/Dick_and_Jane
[5] Источник: http://habrahabr.ru/post/186936/
Нажмите здесь для печати.