У меня начался отпуск, прошло 2.5 года, как я работаю на обычной работе по найму. До этого я около 7 лет был фрилансером, а в начале этого пути запустил пару успешных собственных проектов (и пару десятков неуспешных, которые, собственно, высосали все заработанные деньги).
Некоторые разработчики хотят уйти из найма во фриланс. Кажется, что личного времени становится больше, максимально гибкий график, работай себе с берега моря. У меня обратный опыт — добровольный переход с фриланса на найм, и опыт скорее положительный.
Что стало хуже:
1. Спонтанные мероприятия теперь почти недоступны. В середине рабочего дня не поедешь к друзьям играть в настолки.
2. Как ни крути, но 30 дней отпуска в год — это прямо очень очень мало. Его неизбежно приходится разбивать на части, и каждая из этих частей очень маленькая — в длинное путешествие не съездить, собственный проект не замутить, с кучей накопившихся бытовых дел не разобраться.
3. На фрилансе ты можешь не брать заказы, которые содержат большую долю скучной для тебя работы. В найме же ты обязан брать задачи, даже если они на 80% состоят из какого-нибудь рефакторинга или написания документации.
Что стало лучше:
1. Денег стало больше. Зарплата заметно выше моего среднего дохода с фриланс-заказов. Я сильный прогер, но тратить время и внимание на поиск клиентов и заказов мне всегда было тяжело. Сейчас я конвертирую своё время в деньги эффективнее, потому что занимаюсь только разработкой и руководством другими разработчиками.
2. У меня появились выходные. Я могу не работать в выходные, и это удивительное чувство. На фрилансе формально ты можешь работать когда хочешь, но по факту хоть чуть-чуть работаешь каждый день, потому что висит очередной заказ с дедлайном. Сейчас я со спокойной совестью все выходные занимаюсь исключительно своими делами.
3. У меня пропала нервозность по поводу того, что я ещё что-то не доделал и не успею вовремя, если сейчас не сяду. Рабочий график распределяется как раз на комфортный уровень загрузки.
4. Я перестал работать по ночам, и в целом у меня нормализовался режим дня. Будучи фрилансером, я мог вставать в обед, потом сидеть до утра, и из-за этого снова долго спать. Это могло длиться месяцами. Сейчас каждое утро дейли, рабочий день начинается в одно и то же время, поэтому график у меня нормальный.
5. За 2.5 года работы в компании я прокачался в программерских скиллах как за 7 лет фриланса. Потому что на фрилансе ты плюс минус делаешь всё уже знакомым тебе способом. А вот при работе в компании есть другие разработчики, которые знают что-то, чего не знаешь ты. И есть кодревью, это очень полезная штука, причем, полезно и самому проводить, и чтобы тебе проводили.
#dev#life
• На хабре есть очень хороший лонгрид по Docker, в котором описаны механизмы контейнеризации + примеры, эксперименты и реализация. Подойдет новичкам, кто хотел погрузиться в данную тему.
• Краткое содержание:
➡Chroot как первый популярный механизм, с помощью которого можно изолировать процесс в контексте файловой системы;
➡Namespaces как механизм, представляющий собой прослойку между желанием процесса получить ресурс и самим ресурсом;
➡Cgroups как ещё один механизм изоляции процессов, но только уже в контексте физических ресурсов системы;
➡OverlayFS как способ экономить место за счёт хитрой работы с файловыми системами контейнеров. Самое главное, поняли почему Docker слоёный пирог :);
➡Стандарт OCI как вещь, на которой держится вся современная контейнерная инфраструктура и утилиту runC, являющуюся эталонной реализацией OCI.
➡Читать статью [33 min].
#Docker
#docker
🐳
Docker & Kubernetes: The Practical Guide
Learn Docker, Docker Compose, Multi-Container Projects, Deployment and all about Kubernetes from the ground up!
-----
Main channel: @repo_science
Coupons: @freecoupons_reposcience
-----
👣 Docker Escape.
• Очень крутой и содержательный урок (вебинар) про различные методы, которые злоумышленник может использовать для побега из контейнера Docker, а ещё мы разберем необходимые шаги для успешного побега на понятных примерах. Также обсудим причины возникновения таких уязвимостей и разберём, какие меры можно принять, чтобы предотвратить побег из контейнеров по следующим сценариям:
➡SYS_ADMIN;
➡SYS_PTRACE;
➡SYS_MODULE;
➡DAC_READ_SEARCH;
➡DAC_OVERRIDE;
➡docker soсket.
➡️https://youtu.be/biC3TO7OELY
➡️https://github.com/aleksey0xffd/docker-escape
#Docker
👩💻 Play with Docker — онлайн-сервис для практического знакомства с Docker.
• Интересный и уникальный ресурс для изучения Docker, который был создан еще в далеком 2017 году. Идея заключается в том, что после авторизации нас пересылает на один из облачных хостов, где стартует 4-часовая сессия «игровой площадки». В ней вы можете создавать новые сущности (instances), т.е. узлы тестового Docker-кластера. Каждый из них — это инсталляция легковесного дистрибутива Alpine Linux с редактируемым локальным IP-адресом. В них установлен Docker актуальной версии:
https://labs.play-with-docker.com
• А чтобы начинающим пользователям Docker было проще и лучше понять, чем же вообще можно (и полезно) заниматься в игровой площадке Docker, авторы Play with Docker дополнили свой сервис удобным ресурсом по обучению:
➡️https://training.play-with-docker.com
• Дополнительная информация есть на GitHub: https://github.com/play-with-docker/play-with-docker
#Docker
👩💻 Play with Docker — онлайн-сервис для практического знакомства с Docker.
• Интересный и уникальный ресурс для изучения Docker, который был создан еще в далеком 2017 году. Идея заключается в том, что после авторизации нас пересылает на один из облачных хостов, где стартует 4-часовая сессия «игровой площадки». В ней вы можете создавать новые сущности (instances), т.е. узлы тестового Docker-кластера. Каждый из них — это инсталляция легковесного дистрибутива Alpine Linux с редактируемым локальным IP-адресом. В них установлен Docker актуальной версии:
https://labs.play-with-docker.com
• А чтобы начинающим пользователям Docker было проще и лучше понять, чем же вообще можно (и полезно) заниматься в игровой площадке Docker, авторы Play with Docker дополнили свой сервис удобным ресурсом по обучению:
➡️https://training.play-with-docker.com
• Дополнительная информация есть на GitHub: https://github.com/play-with-docker/play-with-docker
#Docker
👩💻Attacking Docker.
• Статья включает в себя описание актуальных методов атак на Docker, описание различных уязвимостей и неправильных конфигураций, слабых мест в различных компонентах и другую полезную информацию:
- Privileged Container;
- Exposed Container APIs;
- Container Escape;
- Container Image Tampering;
- Insecure Container Configuration;
- Denial-of-Service (DoS);
- Kernel Vulnerabilities;
- Shared Kernel Exploitation;
- Insecure Container Orchestration;
- Insecure Container Images;
- References.
#Docker
👩💻 Docker guide.
• Ловите полезную и объемную (50 страниц) шпаргалку по Docker, которая содержит примеры различных команд и их пояснение.
• К слову, у авторов этого материала есть еще множество различных шпаргалок, в основном для разработчиков, но может быть кто-нибудь из Вас найдет для себя полезный материал: https://www.jsmastery.pro/resources?category=all
#Docker