Привет, я Дэвид. Я веб-разработчик и инженер-программист, работаю фрилансером из Еревана, Армения. Это мой первый пост в среде, и я буду рад видеть ваши комментарии и критику. Чем больше я занимаюсь программированием, тем больше возникает острая потребность поделиться своими мыслями и опытом с другими и получить от них ответ. Вот почему я написал этот пост. Пойдем!

  1. FAT - F ** k Any Tool или другое дерьмо, которое снижает уровень понимания основных процессов.

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

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

2. Не относитесь к своему коду слишком идеалистично!

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

Это становится более правдоподобным, особенно когда у вас нет большой команды или большого количества тестировщиков в разных частях приложения. Невозможно протестировать все возможные ситуации, нестандартные способы взаимодействия пользователя с вашим продуктом на веб-интерфейсе и т. Д. Теперь, это важно: вам все равно нужно написать чистый код, который следует популярным принципам, как KISS, DRY, YAGNI и SOLID. Вам по-прежнему следует использовать парадигму TDD и смотреть лекции Дяди Боба. Но вы должны четко понимать, что вы не следующий Эйнштейн, поэтому вы не можете предсказать сотни возможных странных ситуаций и ошибок, которые могут произойти. С этим очень сложно справиться в одиночку или в небольшой команде.

Даже такие корпорации, как google и facebook, тратят кучу времени и человеческих ресурсов на тестирование, и тем не менее иногда у них появляются странные ошибки.

3. Сосредоточьтесь на конечном пользователе!

Это одна из самых важных вещей, которые вам нужно понять. Работая для клиента или создавая новое приложение SaaS для конечных пользователей, вы должны беспокоиться о них, а не о себе. Не будь эгоистом. Если вы потратили много часов на код, который считаете отличным, но конечный пользователь считает его бесполезным, то вы можете без сожаления выбросить проделанную работу в корзину. Все это время потрачено зря.

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

Профессионализм - это создание ценного программного обеспечения, удовлетворяющего потребности вашего клиента.

4. Не участвуйте в массовых психозах!

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

Все новое не обязательно меняет правила игры, и все старое не обязательно мертво.

5. Если вам нравится хаос, вы еще не гений!

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

Если вы дошли до точки, когда вы сказали себе: «Что, черт возьми, здесь происходит!», Тогда что-то не так. Лучше начать все с нуля или заново проанализировать код, немного отдохнув.

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

6. В будущее за разработчиками полного стека!

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

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

Даже, если я ошибаюсь, делать что-то одно для меня - это кошмар, и шансы, что я сгорю, занимаясь этим, намного выше. В своей повседневной жизни разработчика я создаю сценарии оболочки, пишу немного C и Python, например, для автоматизации на стороне сервера и т. Д. Я комбинирую это с PHP и JavaScript, использую базовый HTML, расширенный CSS и многое другое.
Думаю, игру с полным стеком выиграют. Взгляните на рынок.

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

7. Боритесь со своим высокомерием!

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

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

Мы должны быть открыты для критики. Легко сказать, но сложно сделать.

8. Будь трудолюбивым!

Не ленитесь, боритесь с каждым граммом своей лени. В мире распространено заблуждение, что талантливые люди ленивы. Это не правда. Прочтите историю, откройте для себя искусство. Моцарт в молодости тренировался по много часов в день. Бах написал более тысячи музыкальных произведений, Наполеон спал всего 4 часа в сутки, у Льва Толстого было 14 детей. Итак, работайте усердно!

Все таланты проводили бессонные ночи, оттачивая и отрабатывая свои навыки.

9. Будьте прозрачны!

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

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

Дерьмо случается. Важно понять это и исправить как можно быстрее.

10. Нет строгих правил!

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

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

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

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

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

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

Ваше здоровье!