Основные возможности платформы Hexlet не доступны в вашем браузере.
Пожалуйста, обновитесь. Выбрать браузер.
Развитие

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

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

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

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

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

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

Развитие

Если вы хотите больше практических заданий и владеете английским (или хотя бы умеете гуглить перевод), то у меня для вас хорошая новость! Пару дней назад Кирилл подсказал неплохой сайт-тренажер-задачник. Я его опробовал, и, вот, теперь опишу свои мысли. Ах да, сервис называется codewars и наверняка кто-то из вас уже слышал о нем.

Коротко о коудворс

Для меня лично codewars стал местом, где можно попрактиковать технику написания кода + узнать чужие, более интересные техники. Сервис реализован в стиле "восточных единоборств". Сам сайт уже не просто сайт, а – додзё; задачки – ката; вы – солдат, воин, а не просто студент-программист, а код-ревью – кумите, спарринг. Восточная тематика создает специфическую атмосферу – здесь хочется непрерывно развиваться и становиться искуссным мастером. Порадовала сегментация задачек-ката по сложности. В общем, заходи и развивайся, самурай!

Развитие

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

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

Развитие

Благодаря своим open source корням, Linux выиграл от вкладов тысяч разработчиков за всё время его существования. Они построили программы и утилиты, чтобы упростить работу не только себе, но и тем программистам, которые последовали за ними.

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

Разработка на Windows ведёт к двум основным проблемам:

  1. Базовые задачи, вроде парсинга файлов, рабочего планирования и поиска текста используются чаще, чем запуск утилиты командной строки.
  2. Языки программирования (Python, C++) и связанные с ними библиотеки выкидывают ошибки, потому что они ожидают конкретных параметров Linux или специфических локаций файловой системы.

Если собрать всё вместе, это выльется в трату времени на переписывание базовых инструментов, которые уже доступны в Linux, они позволят избежать ошибок совместимости с ОС. Тут нет никаких сюрпризов — экосистема Windows просто не была задумана и спроектирована под нужды разработки софта.

Теперь давайте рассмотрим базовые идеи Linux.

Развитие

github

Я написал это руководство, чтобы помочь любому присоединяться или выкладывать свои (contributing) open source проекты на GitHub. Одна из причин крутости open source — в желании людей помогать друг другу.

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

Развитие

Это перевод статьи 7 Ways to Improve Your Code Reading Skills от A. N. M. Bazlur Rahman.

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

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

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

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

Если сказать проще — навыки чтения кода совершенствуют навыки написания кода.

Развитие

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

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

career steps 1

Развитие

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

Развитие

Это — перевод статьи "For Developers, Ego is the Enemy" разработчиак Fatos Morina.

Недавно я закончил читать книгу Райана Холидея Ego is the Enemy (Эго – это враг), и у меня возникло множество ценных умозаключений, которые я решил написать в этой статье.

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

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

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

Развитие

Монокультура в программировании — это использование одного стека для решения всех возникающих задач. Она существует не только на уровне конкретного человека и его предпочтений, но также часто встречается на уровне компаний. В таких компаниях, как правило, все делается с использованием одну технологию.

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