SMART, Ruby и Docker

Что теперь делать то?

Я определился с инструментами которые на мой взгляд, мне потребуются как программисту. А где брать материал? Как определить, что вот если я могу сделать “a” и “b” значит я освоил этот инструмент на достаточном уровне.

Для того чтобы это понять я стал ходить на собеседования и брать отовсюду тестовые задания. Оказалось что практически везде помимо самого языка/технологии/феймворка меня спрашивают как работать с БД, как проектировать структуру и как строить запросы сквозь несколько таблиц. В целом задания достаточно типичные - сделать блог или простой сервис, но везде есть свои нюансы:

Для того чтобы понять как все таки делаются эти типовые задания я прошел Базовый гайд по рельсам и в довесок к нему курс на хекслете по Ruby чтобы познакомиться с синтаксисом. Курс достаточно поверхностный, но он дает первичное представление о языке. Немного смутили блочные конструкции, однако в целом язык порадовал немногословностью и практически отсутствием пунктуации. При прохождении я испытал двоякое чувство, с одной стороны в рельсах все как то просто - вот моделька, вот контроллер, вот вьюха, вот так просто подключается бд. С другой стороны я не знаю что происходит под капотом и все это выглядит для меня достаточно “магично”. Теперь я примерно понимаю почему на такие тестовые задания дается пару дней (по крайней мере на рельсах) - все делается быстро и просто (осталось самое “простое” - научиться). Тут же я с болью вспоминаю как я пытался консольную утилиту на NodeJs заставить писать в базу через ORM Sequelize…

Так же я уcпел пройти JS: HTTP Server, курс достаточно простой на первый взгляд и содержит не много практики, там строится свой простой веб-сервер - приложение отвечающее на запросы. Так же уделяется внимание иструментам - CURL, nodemon. В планах выложить это на github чтобы информация лучше усвоилась.

Ещё я успел познакомиться с Docker - интересный инструмент по сути позволяющий запускать процессы в изолированном окружении с ограниченными ресурсами. Тут мне в этом помогли:

Как понять достиг ты цели или ещё нет?

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

Тут я воспользуюсь советом от b0noI - ваши цели должны соответствовать SMART, быть конкретизированными, реальными, с понятным критерием достижения и ограничением по времени (последнего мне явно не хватает) - что это такое описано тут:

Дальнейшие планы такие: