October 16, 2019

Что нужно знать, чтобы устроиться в Тензор? Часть 1

Каждое мероприятие, которое мы устраиваем, приносит нам много нового. Мы обретаем новых друзей, свежие идеи и множество положительных эмоций. Но мы заметили, что каждый раз находятся люди, которые спрашивают: "Как попасть к вам на работу?". Ответ один - нужны знания и понимание того, как их применить. Звучит просто, не правда ли? Но в действительности, многих такой ответ ставит в тупик. Чтобы помочь вам разобраться в этих вопросах, мы решили написать этот мини-гайд.

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

Базовые знания

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

  • Для программиста важно понимать не только как работает определенный язык программирования, но и как работает вся система в целом. Разобраться в базовых вещах поможет книга: "Теоретический минимум по Computer Science".
Теоретический минимум по Computer Science
Грокаем алгоритмы
  • Когда вы уже знакомы с базовыми понятиями, понимаете отличия очереди от стека и готовы прямо сейчас написать что-то очень крутое - не спешите! Теперь необходимо понимать, как писать красивый, чистый, качественный код. Ну а для этого нужно вдумчиво почитать книгу "Совершенный код". Конечно, это не значит, что нужно бездумно применять все именно так, как написано в книге. Решите сами, как выглядит ваш совершенный код (не забывая про общепринятые стандарты, конечно), а книга лишь подкинет вам несколько советов и новых идей.
Совершенный код
  • Итак, вы пишете красивый код, умеете считать сложность алгоритма, знаете 5 способов сортировки массива. Все! Пора писать ту крутую штуку, которую вы хотели?! Нет. Еще рано. Ответьте на следующие вопросы: Вы хотите, чтобы ваша система внезапно не развалилась после маленькой правки? Вы хотите чтобы для добавления новой фичи вам не приходилось переделывать половину проекта? Вы хотите чтобы все это работало и вы понимали, как оно вообще работает? Если на большинство ответов вы ответили утвердительно, то вам будет интересно: "Чистая архитектура" и "Паттерны проектирования".
Чистая архитектура
  • Теперь вроде все. Правда все. Ну почти. Вы ведь уже знаете где будете хранить данные? Если вы представили себе кучу " .txt" файлов или блокнот с ручкой, то обязательно прочитайте, что такое базы-данных и какие они бывают. Например СУБД "PostgreSQL" поможет вам хранить данные, делать различные манипуляции и возвращать их так, как вам нужно(ну почти). Почитать о том, как работать с "PostgreSQL" можно на "Сайте" или в книге: "Страница книги (ссылка на PDF внизу страницы)". Если данных у вас не особо много, они не так важны и вы хотите быстро получать к ним доступ без какой-либо навороченной логики, изучите, что такое "Redis". Сделать это можно с помощью вот этой маленькой книги: "Маленькая книга о редиске".

Ссылка на 2 часть: Что нужно знать, чтобы устроиться в Тензор? Часть 2.
Ссылка на 3 часть: Что нужно знать, чтобы устроиться в Тензор? Часть 3.
Ссылка на 4 часть: Что нужно знать, чтобы устроиться в Тензор? Часть 4.