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

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

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

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

Вернитесь к основам

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

  • Улучшение навыков решения проблем. Вам не нужно внедрять алгоритмы сортировки или поиска каждый раз, когда вам нужно их использовать, а также вам не нужно изучать всю реляционную алгебру, чтобы использовать SQL. , но фундаментальные знания помогут вам выбрать подходящий вариант, сравнить разные решения и выбрать наиболее эффективное для решения вашей конкретной задачи. Существует множество полезных ресурсов для практики, таких как Leetcode, HackerRank, VisuAlgo или Tutorialspoint.
  • Понимание того, как все работает. Речь идет не о том, чтобы попросить младшего разработчика пройти по бинарному дереву на собеседовании с внешним интерфейсом, это больше о понимании того, как все реализовано под капотом используемой вами структуры или библиотеки. Практически все было изобретено до вас, и вам просто нужно знать, что использовать и как это работает.
  • Независимость от языков программирования. Алгоритмы и структуры данных не предназначены для определенного языка или платформы. При наличии надлежащих знаний вам не составит труда переключиться с одного языка на другой. Кроме того, многим крупным компаниям требуется знание алгоритмов и структур данных, а не определенный языковой опыт. Это сделает вас более гибким.

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

Внесите свой вклад в открытый исходный код

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

  • Исправление ошибок. Существует множество вариантов поиска проблем в проектах с открытым исходным кодом, таких как использование определенных инструментов (например, поиск GitHub, IssueHub, IssueHunt и т. д.). Некоторые проекты запускают программы вознаграждений, другие подходят для начинающих, поэтому будет легко найти что-то подходящее для вашего уровня и потребностей.
  • Улучшение существующей кодовой базы. Если вы думаете, что можете повысить производительность или сделать программу более эффективной, реализуйте ее и поделитесь ею с другими. Не каждый проект так сильно нуждается в оптимизации или рефакторинге, но иногда это может быть полезно.
  • Добавление потенциальных функций. Создайте предложение в репозитории выбранного вами проекта, опишите новую функцию, предоставьте несколько примеров кода, если необходимо, и после утверждения вашего предложения создайте ответвление репозитория и запустите реализация.

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

Рассмотрим проект для домашних животных

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

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

  • Отраслевое исследование. Сейчас хорошее время для изучения индустрии развлечений, электронного обучения или инструментов для оптимизации удаленной работы.
  • Планирование. Вы вряд ли продвинетесь вперед без плана или хотя бы сформированного видения. Есть так много вещей, которые вы можете разработать даже в одиночку, например, простую игру, диспетчер задач, трекер привычек и т. Д. Спланируйте свой будущий проект, разделите его на спринты, создайте задачи. Используйте разные инструменты, такие как Trello, Todoist или Toggle.
  • Регулярное обязательство. Все планы рухнут без регулярной активности и развития. Установите для себя индивидуальные дедлайны в зависимости от вашей постоянной работы или учебы, личной жизни и увлечений. Не жертвуйте одним из них ради побочного проекта. Это тот случай, когда процесс важнее результата.

Создайте присутствие в социальных сетях

Социальные сети стали неотъемлемой частью нашей жизни. Мы даже не замечаем, сколько времени мы проводим, просматривая Twitter, Instagram, Facebook, LinkedIn или просматривая видео на YouTube.

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

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

Окунитесь в передовые технологии

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

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

  • Определите технологию. Лучше всего выбирать, исходя из вашего прошлого и опыта. Однако ничто не мешает вам принять вызов и научиться чему-то с нуля. Я начал заниматься физикой два года назад в средней школе.
  • Наборы инструментов, SDK и игровые площадки. Есть много ресурсов, чтобы опробовать понравившуюся вам технологию: Apple ARKit, Databricks, игровая площадка нейронной сети Tensorflow и т. д. Это зависит только от усилий, которые вы хотите приложить. учить.

Заключение

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