Очередь в backend: за чем стоим и с чего начать свой путь?

    image

    Для всех, кто не любит делать UI, «дышит» очередями и мечтает об идеальном API, в четвёртый выпуск подкаста «Сушите вёсла» мы позвали backend-разработчиков Андрея, Азата и Антона.

    Железные разработчики Redmadrobot Артём и Рома записывают подкаст, где вместе с гостями обсуждают разные стороны создания ИТ-продуктов и делятся опытом в диджитале. В выпуске #4 ведущие разузнали у собеседников, с чего начинался их путь в backend, какой web-framework стоит выбрать, снится ли им верстка экранов и как объяснить маме, кем ты работаешь.

    Прикладываем подкаст и ответы на несколько животрепещущих вопросов


    Тайминг


    01:27 — Как приходят в backend-разработку
    10:33 — Что привлекает специалистов в backend
    12:32 — Срыв покровов: нужны ли глубокие знания алгоритмов для тех, кто «пилит апишку»?
    15:17 — Вопросики масштабирования и безопасности
    16:23 — Одинаковую ли работу делают все backend-разработчики?
    19:23 — Ruby on Rails, его «магия», взлёт и падение
    24:23 — Как выбрать платформу?
    28:06 — Зачем нужны микрофреймворки и как с ними работать?
    33:55 — Что такое асинхронный сервер и для чего он нужен?
    35:58 — Go: простота и архитектура
    41:46 — Postgresql вместо MySQL. Почему?
    44:58 — Зачем нужно изучить Docker как можно быстрее и для чего стоит поставить nginx?
    50:49 — «Зелёные» разработчики: какими минимальными навыками необходимо обладать выпускникам университетов, чтобы устроиться на работу?
    1:04:21 — Лучшие книги по алгоритмам
    1:09:33 — Что нужно знать и что не нужно делать на собеседовании?
    1:14:29 — Не хочется ли ребятам уйти из backend?
    1:20:28 — И все-таки, чего не стоит делать на работе и почему «с людьми нужно общаться»?

    Как приходят в backend разработку?


    Несмотря на популярность мобильной разработки, остались еще те, кому милее старый-добрый backend. Среди них, разумеется, и наши гости.

    Азат, например, рассказал, как он не пошел в мобильную разработку и решил, что логичнее заниматься веб-разработкой в широком смысле. А вот история Антона тесно связана с Python.

    Я учился в университете и выучил Python. Он мне нравился, и мне хотелось продолжать делать что-то на «питоне». А в Белгороде, где я жил и учился, можно было найти только какую-нибудь веб-студию, которая делает сайты на CMS’ке — просто подверстывают шаблоны. Мне этим вообще заниматься не хотелось. Поэтому мы с другом нашли каких-то людей, сделали им сайт, а потом ещё кому-то сделали. И было классно, потому что я делал то, что хотел. Но хотел я, наверное, не то, что было нужно в тот момент. Но, по крайней мере, я научился делать backend и после этого нашёл нормальную работу.

    Что привлекает людей в backend...


    …Когда есть суперпопулярный frontend? Артём вспомнил множество собеседований, на которых соискатели рассказывали, почему они хотят строить карьеру в мобильной разработке. Просто чтобы потом похвастаться крутостью приложения. В backend с этим сложнее.

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

    Плюсы Backend-разработки


    Азат предположил, что людей привлекает тот факт, что не нужно верстать. Ещё есть мнение, что backend сложнее и круче, хотя каждому, конечно же, свое. После этого ребята ушли в беседу о масштабировании и безопасности. Подробнее — с 15:17.

    Все ли backend-разработчики делают одну работу?


    Это не так. Задачи в backend разработке бывают разными, и они зависят не от языка или платформы, а от потребностей и специфики компании, а также от уровня самого разработчика.

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

    Python, Ruby, Go, С++ и все-все-все


    Ребята в студии заговорили о том, как выбрать платформу. А также о том, что Ruby «ещё живет» (Рома недавно видел доказательство), а ещё почему Антон начал учить Python, о странных именах создателей языков программирования, простоте Go, микрофреймворках (о них говорили особенно много — слушайте с 28:06), MySQL, Docker, асинхронных серверах и магии рельсов.

    «Зелёные» разработчики и минимальные навыки для соискателя


    Насколько глубоко должен, например, выпускник университета разбираться в backend, чтобы получить работу?

    Во время обсуждения выяснилось, что он должен быть «уверенным пользователем ПК». А если серьезно, то по мнению Азата, молодой специалист обязан обладать минимальными навыками администрирования unix-систем — знать определенный набор команд: cd, ls и другие.

    Также должен понимать, что такое процесс, какие есть права доступа, какая система прав Linux и как вообще в ней функционируют сети, как работает IPC (inter process communications), TCP сокеты. Для начала этого достаточно. Нужно просто уметь программировать. Вот что сказал Антон:

    Есть базовые вещи, общие для любой разработки, допустим, для ООП (объектно-ориентированного программирования) есть правила написания, проектирования классов. Если это алгоритмы, нужно просто знать, как они проектируются, что там есть, динамическое программирование, ну и «использовать stack везде, где можно».

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

    Какие книги по алгоритмам стоит прочитать


    Андрей «топил» за Стивена Скиена и его «Алгоритмы. Разработка и применение». Антон порекомендовал книгу Томаса Кормена, в которой «есть баланс между строгостью, понятностью и простотой изложения», и ещё «Cracking the Coding Interview» — хорошее практическое руководство, чтобы быстро разобраться в алгоритмах.

    Также гости посоветовали «Искусство программирования» Дональда Кнута, которая задумывалась как пособие по компиляторам, а стала настоящей «книгой книг».

    В итоге, backend — да или нет?


    Ребята пришли к выводу, что во всех сферах веб-разработки есть свои плюсы и минусы. И это нормально. Если вам нравится backend, алгоритмы и очереди, то вам стоит задуматься о карьере именно в нём. Это если кратко. Если же хочется вживую услышать рассуждения, то включайтесь в подкаст с 1:14:29.

    Полезные материалы


    Для желающих погрузиться в Python можно почитать:


    Подборка для будущих джедаев REST-а:



    Предыдущие выпуски подкаста «Сушите вёсла»


    1. Архитектор ПО: зачем он нужен и в чём его проклятие
    2. Источник правды: как аналитик учит менеджера и разработчика работать вместе
    3. CTO всея стартапа
    4. QA для начинающих: как протестировать ракету или самолёт

    Слушайте нас там, где удобно: Soundcloud, Apple, Google Podcasts
    Забегайте обсудить выпуск в Telegram-чат
    Redmadrobot
    №1 в разработке цифровых решений для бизнеса

    Похожие публикации

    Комментарии 8

      +2
      Спасибо большое!
      Помогли сориентироваться, дали направление куда дальше изучать backend разработку
        0
        Рады! Спасибо)
        +1
        Тот случай, когда действительно зашел почитать про очереди в бэкенде, а тебе тут какие-то интервью дают… Вы хоть заголовки и КДПВ нормальные делайте.
          0
          Подскажите, как скачать?
            0
            Выпуск достуен в Google/Apple подкастах и SoundCloud. Все ссылки в подвале поста.
              0
              Я спросил «где скачать», а не «где послушать» :)
                0
                Вот такой вариант есть.
                image
                  0
                  Спасибо.

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

          Самое читаемое