Как делать не стоит 🙂
-
- проучиться в ВУЗе на программиста/математика 5 лет, изучив C, Pascal, Prolog, List (хотя это-то нормальный пункт);
- 15 лет проработать Wind0ws-администратором, карабкаясь по профессиональной лестнице от переустановки рабочих станций – до дирижирования виртуальными серверами;
- последние лет пять писать постепенно усложняющиеся скрипты на PowerShell;
- года три назад начать занятия на курсе https://dlcourse.ai и бросить их из-за сложностей в математике (Back Propagation, например) и программировании (классы в Python ну вообще не зашли);
- начать изучение программирования на Coursera курса по Go… И бросить его из-за чрезвычайной сложности для начинающего программиста.
- посмотреть вдохновляющие лекции Ивана Бибилова (еще хвалят Хирьянова, но для меня изучение языка программирования по видеолекциям – так себе затея, имхо);
- вписаться в бесплатное соревнование для студентов от Яндекса – Тренировку по алгоритмам (вот это было самым крутым);
- написать на питоне свой скрипт синхронизации хостов и виртуальных машин из vSphere в Netbox (пока через Pyvmomi).
Как лучше, – спросите вы?
- “Поколение Python”: курс для начинающих на Степике. Отлично то, что есть онлайн-IDE (среда разработки) с автотестами: то есть, вы не только учите язык, но и проверяете себя на практике. Альтернативно, вы можете сесть за Python Tutorial, но практики не будет.
- Теперь вы знаете основы языка и можете вписаться в любую более сложную движуху. Можете выбрать курс “Поколение Python”: курс для продвинутых на Степике, а можете – тренировки Яндекса по алгоритмам. Кстати, у Яндекса есть программы стажировки по разным направлениям, причем они не ограничиваются только студентами (по крайней мере, так утверждают сотрудники Яндекса 🙂 )
Но там очень жесткий отбор – например, в школу бэкенд разработки надо было за несколько часов решить 6 задач. - Как вариант, вместо дальнейшей прокачки Python вы можете пойти в Go (ссылку на Курсеру кидал выше) или в Java. Есть мнение, что это более перспективные языки с точки зрения вашей будущей з/п.
- Нелишним будет подтянуть хотя бы основы Git. Там есть много полезного даже для сисадминов.
Выводы
Если вы – сисадмин и поступите так, как я написал, то ваша жизнь может заиграть новыми красками. О, сколько новых слов я сказал, когда:
- узнал, что кабели в Netbox могут соединять как два устройства, так и устройство с “circuit”;
- цвет кабеля в Netbox можно задать неправильно и это будет ломать API-запросы к нему;
- узнал, что хост ESXi может не содержать vmnic5, но содержать vmnic7 (vmnic0, 1, 2, 3, 6, 7).
Зато помог коллегам вычистить конфликты серийников у хостов в Netbox.
Поздравляю, а почему именно Python? Мне казалось, что это сложный язык для умных, хотя тоже когда-то хотел его учить прочитав про обучение в MIT и видя, что половина линуксовых тулов написаны на нем (тот же esxcli во времена 5.х).
Во-первых, я немного поднатаскался с синтаксисом, пока делал на нем практику в DLCourse.AI.
Во-вторых, требовалось синхронизировать vSphere с Netbox, а первыми попались библиотеки под Python.
Хотя сейчас я понимаю, что у обоих продуктов (vSphere/Netbox) также есть RestAPI, который можно дергать да хоть PowerShell’ом 🙂