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

Вот несколько предложений по решению вашего нового года:

10. Овладейте собеседованием по JavaScript

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

Ознакомьтесь с этими ресурсами:

Однако книжный ум - это только половина дела. Вам также необходимо улучшить свои навыки программирования в реальном времени. Вам потребуются сотни часов практики написания реального кода. Для этого я рекомендую взяться за трек Основы JavaScript на FreeCodeCamp и упражнения в Eloquent JavaScript. Когда вы читаете статьи о JavaScript в Интернете, обязательно откройте свой любимый редактор, Codepen или Babel repl, и введите примеры кода, чтобы поэкспериментировать с ними.

Если вы хотите проверить свои силы в имитационном собеседовании, я буду рад вам помочь. Я много лет нанимал разработчиков JavaScript. Я технический консультант JS Cheerleader (технический агент для ведущих разработчиков JavaScript). На этой должности я провожу настоящие предварительные сертификационные собеседования по JavaScript для всех ее потенциальных клиентов.

9. Используйте TDD.

Разработка через тестирование (TDD) - это процесс написания тестов перед реализацией функций. Есть много преимуществ TDD. По моему опыту, это помогает вам писать лучший, более слабосвязанный код, потому что модульные тесты требуют модульности, а написание тестов в первую очередь заставляет задуматься о дизайне API перед написанием реализации. Самое главное, TDD может помочь вам снизить количество ошибок в продукте на 40–80%. Помимо обзора кода, это наиболее эффективный способ улучшить качество кода. Прочтите Возмутительная цена пропуска проверок TDD и кода.

8. Практикуйтесь в нетворкинге.

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

  • Твиттер
  • Конференции
  • Совместная работа
  • Кофейни - особенно магазины, расположенные рядом с техническими центрами, такими как район СоМа в Сан-Франциско, Плайя Виста в Лос-Анджелесе или технический коридор Фримонт в Сиэтле (или в центре города). В вашем районе нет технических кафе? Попробуйте поискать технические встречи на Meetup.com.

Вот несколько советов, которые помогут вам завести друзей:

  • Будьте ценным ресурсом
  • Будьте связующим звеном
  • Проявите благодарность и признательность
  • Уважайте частную жизнь людей, протоколы контактов и границы

7. Изучите Redux

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

Redux объединяет архитектуру Flux с функциональным программированием, используя reduce (подумайте Array.prototype.reduce()), чтобы получить состояние приложения из потока объектов действий. Ознакомьтесь с 10 советами по улучшению архитектуры Redux, чтобы начать свое путешествие по Redux.

6. Изучите новую библиотеку или фреймворк

Как я уже упоминал, если вы еще не используете Redux, вам следует изучить его. Если вам еще предстоит освоить базовый язык JavaScript и основные основы, упомянутые в предложении вопросов для собеседования по JavaScript, считайте это обязательным условием. Но если у вас есть основы, каждый разработчик JavaScript должен быть знаком хотя бы с одной интерфейсной структурой. Очевидные кандидаты - это React и Angular 2. Я рекомендую React. Чтобы узнать о других предложениях, ознакомьтесь с Лучшими фреймворками и темами JavaScript для изучения в 2017 году.

5. Улучшите свое присутствие в Интернете

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

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

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

  • Неприемлемый контент или фотографии
  • Выполнять впечатление алкоголика / наркомана.
  • Размещение дискриминационных или оскорбительных сообщений (раса, религия, пол и т. Д.)
  • Оскорбление предыдущих работодателей, начальника или коллег
  • Издевательства / злоупотребления
  • Плохие коммуникативные навыки

Вот некоторые вещи, которые вы хотите, чтобы ваши профили и сообщения передавали:

  • Профессиональный имидж
  • Отличные коммуникативные навыки
  • Великая личность
  • Дружелюбное / полезное взаимодействие

4. Будьте позитивными / перестаньте жаловаться

2016 год был сумасшедшим. Я никогда не видел, чтобы столько людей жаловалось на все замечательные инструменты, которые экосистема OSS создала для нас бесплатно. «Усталость от JavaScript» стал популярным мемом - но решил ли этот мем какие-нибудь проблемы?

Если вам интересно, то нет, жалобы на усталость от JavaScript ничего не решили. Как пользователи JavaScript, сообщество OSS уже знало об этой проблеме и усердно работало над реальными решениями, такими как инструменты для упрощения процессов, такие как create-react-app и Next.js. Что он действительно сделал, так это отпугнул авторов и сопровождающих OSS, которые получили поток разочаровывающих и негативных сообщений.

«Сообщество OSS уже знало о проблеме [усталости от JavaScript] и усердно работало над реальными решениями…»

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

Я знаю, что это разочаровывает, особенно новичков, пытающихся сориентироваться, но он также принес нам такие замечательные инновации, как React, Redux, Babel, TypeScript, Webpack, Rollup и т. Д.

«… Никто не успевает, и это нормально».

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

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

«Помните, сопровождающие OSS ничего вам не должны, но вы должны уважать их».

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

3. Код во благо: используйте свои навыки программирования во благо

Есть много отличных способов найти хорошее применение своим суперсилам кодирования. Помнить:

«С большой силой связана большая ответственность» - Дж. Гектор Фезанди, 1894 г. (также Человек-паук)

Вот несколько отличных способов внести свой вклад в доброе дело:

  • Станьте волонтером в программе обучения кодексу некоммерческих организаций
  • Участвуйте в проекте с открытым исходным кодом
  • Станьте волонтером для создания программного обеспечения для некоммерческих организаций
  • Начните благотворительный проект в своей компании, например программу Microsoft’s Hack for Good.
  • Создайте в своей компании программу наставничества или ученичества и возьмите на себя обязательство нанимать людей из групп со сложным прошлым, таких как беженцы или бездомные.

2. Улучшите свой процесс разработки

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

  • Используйте обзоры кода. Каждый час, потраченный на проверку кода, экономит 33 часа на обслуживании.
  • Используйте TDD. Настолько важно, что у него есть собственное разрешение.
  • Развертывайте ежедневно. Непрерывная интеграция и непрерывная доставка помогают автоматизировать и нормализовать наиболее рискованные части процесса разработки. Чем чаще вы их выполняете, тем легче они становятся, пока рутинная работа не станет почти полностью автоматизированной и перестанет создавать когнитивную нагрузку на разработчиков.
  • Избегайте перерывов. По данным Microsoft Research, прерванная задача занимает примерно в два раза больше времени для выполнения и содержит вдвое больше ошибок, чем непрерывная задача.
  • Групповые встречи. Во избежание перерывов встречи считаются прерываниями. Насколько вы можете, группируйте встречи вместе и блокируйте отрезки по крайней мере на 3 часа тихого времени, когда никому не разрешено планировать встречи с вами или другими разработчиками в вашей команде. А еще лучше исключить как можно больше встреч. По возможности предпочитайте асинхронное онлайн-общение и резервируйте встречи строго для прямой и обратной связи с высокой пропускной способностью.
  • Пакетное электронное письмо. То же самое и со встречами. Не позволяйте электронной почте отвлекать вас. Проверяйте электронную почту ровно два раза в день: утром и днем ​​/ вечером. Если это возможно на вашем рабочем месте или в вашей культуре, в некоторые дни вообще откажитесь от электронной почты.
  • Пакетные социальные сети. См. выше. Вы, наверное, думаете, что я лицемер, потому что я постоянно публикую что-нибудь в Твиттере. Я открою вам небольшой секрет: я автоматически планирую публикации на несколько дней вперед, а затем отмечаюсь и общаюсь только тогда, когда у меня есть свободные минуты между блоками работы.
  • Пакетные асинхронные чаты. Время от времени полезно общаться со своей командой через асинхронный чат, чтобы быть доступным для вопросов и ответов. Мне нравится иметь 2 непрерывных блока по 2–3 часа в день для непрерывного кодирования. До и после этих блоков я проверю каналы чата и убеждаюсь, что никто не ждет моей помощи.
  • Отключить уведомления. Отключите уведомления - на телефоне и на компьютере. Когда программы спрашивают вас, хотите ли вы включить уведомления, нажмите «Ты издеваешься надо мной ?! Зачем мне вообще это делать ?! кнопка - или любая другая кнопка, которая звучит так, как будто она отключит уведомления. Сделайте исключения для чрезвычайных ситуаций.
  • Обращайтесь за помощью, когда она вам нужна - и создайте в своей команде безопасную среду, в которой приветствуется обращение за помощью. Мы все иногда не замечаем ошибок в собственном коде, но нет оправдания тому, что мы часами зацикливаемся на проблеме, когда кто-то другой может найти решение за секунды.
  • Избавьтесь от сроков. Вам, вероятно, понадобится быть менеджером или иметь помощника менеджера, чтобы справиться с этой задачей. Если вы не менеджер, поделитесь со своим менеджером Почему дедлайны должны быть мертвыми.

1. Сострадание

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

Сострадание к пользователям побудит вас:

  • Создайте более дружелюбный UX
  • Создавайте более быструю загрузку страниц и более плавную анимацию
  • Решайте реальные проблемы клиентов, а не внедряйте функции, о которых никто не просил и никому не нужен

Сострадание к товарищам по команде побудит вас:

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

Сострадание к вашим сотрудникам и отчеты побудят вас:

  • Улучшить процесс разработки
  • Улучшите UX разработчика для своего проекта
  • Защитите разработчиков от перебоев
  • Решайте проблемы и проблемы с производительностью с сочувствием и добротой
  • Слушайте потребности команды
  • Честно и ответственно общаться с руководством и клиентами
  • Защищайте интересы как бизнеса, так и команды разработчиков, не высыхая и не бросая никого под автобус

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

«Если вы хотите, чтобы другие были счастливы, практикуйте сострадание.
Если вы хотите быть счастливыми, практикуйте сострадание»
~ Далай-лама

Теперь вы знаете: самый важный технический навык в мире - это сострадание.

Следующие шаги

Теперь, когда у вас есть несколько планов на новый год, какую технологию вам следует изучить?



Повысьте уровень своей игры на JavaScript. Если вы не являетесь участником, вы что-то теряете.

Эрик Эллиотт - автор книг Программирование приложений JavaScript (О’Рейли) и Изучение JavaScript с Эриком Эллиоттом. Он участвовал в разработке программного обеспечения для Adobe Systems, Zumba Fitness, The Wall Street Journal, ESPN, BBC, а также известных исполнителей, включая Usher, Frank Ocean, Metallica и многие другие.

Он проводит большую часть времени в районе залива Сан-Франциско с самой красивой женщиной в мире.