Это время года - время думать о решениях на новый год. Но на этот раз вы действительно собираетесь проверить некоторые из них, и мы здесь, чтобы помочь.
Вот несколько предложений по решению вашего нового года:
10. Овладейте собеседованием по JavaScript
Независимо от того, являетесь ли вы новичком в JavaScript или ветераном, есть некоторые концепции, которые действительно часто возникают на собеседованиях по JavaScript. Для тех из вас, кто был в этом квартале раньше, интервью изменились. Намного больше внимания уделяется таким концепциям, как функциональное и реактивное программирование, поэтому важно понимать некоторые основные основы.
Ознакомьтесь с этими ресурсами:
- « Что такое закрытие? »
- « Что такое чистая функция? »
- « Что такое функциональное программирование? »
- « Что такое функциональная композиция? »
- « В чем разница между классовым и прототипным наследованием? »
- « 10 вопросов для собеседования, которые должен знать каждый разработчик 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 и многие другие.
Он проводит большую часть времени в районе залива Сан-Франциско с самой красивой женщиной в мире.