Мы как индустрия уходим в нездоровые глуши, когда не только ожидаем, но и требуем, чтобы люди продолжали работать после работы.
Отказ от кандидатур, поскольку человек не контрибьютит в открытые проекты; выбор сотрудника на увольнение по отсутствию личного проекта; ожидание от сотрудников полностью самостоятельного своевременного знакомства с новыми технологиями, фреймворками и языками; и так далее.
Проблема
Такое случилось потому, что как-то стало непреложной истиной мнение о том, что только пишущие (бесплатно) код после работы влюблены в свою работу и/или являются хорошими разработчиками.
Однако, вот несколько более реалистичных истин:
- Только очень особая демографическая группа может позволить работать бесплатно после завершения официального рабочего дня.
- В интересах компаний, чтобы их сотрудники продолжали учиться и соответствовали современным требованиям. Для этого компании должны предоставлять ресурсы.
- Есть отличные разработчики, у которых есть жизнь вне работы.
- Есть отличные разработчики, у которых есть обязательства вне работы.
- Есть отличные разработчики, которые не осваивали самостоятельно программирование, когда им было 12 лет.
Жизнь идёт. Люди встречаются — люди влюбляются… Рождаются дети. Люди создают семьи. Разработчики — тоже люди.
Можно предположить, что дети или семья — это роскошь выбора. Даже если посчитать, что это так (на самом деле, нет), жизнь идёт. Родители стареют, и им понадобился ежедневный уход. Появилась душевная болезнь, к примеру, депресссия, и после целого дня работы сил работать дальше не остаётся. После случившейся дорожной аварии пришлось год тратить по 2 часа в день на реабилитацию.
Кто в состоянии продолжать писать код после 8-часового рабочего дня, состоящего из того же кода? Кого не гнобят в сообществе открытого программного обеспечения? 20-летние молодые люди без каких-либо обязанностей и/или с доходом, достаточным для «приобретения» большего количества свободного времени (к примеру: няни, уборщики для дома, хорошие медицинские услуги, автомобиль, чтобы добраться до работы, и так далее).
И всё это рождает вопрос…
Как быть хорошим разработчиком, не занимаясь программированием 24/7?
Во-первых, следует понимать, что работа идёт лучше всего, когда мы счастливы и без стрессов.
Урезать столь важный сон, чтобы изучать книгу? Плохая идея. Сон имеет первостепенное значение для здоровья (и эффективности работы!), и его недостаток приведёт к потерям.
Пренебрегать второй половинкой и детьми, чтобы создать личный проект? Серьёзно? Какой-то личный проект более ценен, чем видеть, как растут ваши дети, или наслаждаться жизнью с тем, кого вы любите?
Уйти от социальной жизни, отказаться от хобби, перестать тренироваться и работать над своим телом — и всё, чтобы покоммитить в открытый код? Принесёт ли это вам счастье в долгосрочной перспективе?
Так что же делать?
В моей жизни я поступала так: полностью использовала своё рабочее время. Парное программирование с коллегами, чтение чужого кода, задавание множества вопросов, ответы на множество вопросов, анализ программ и так далее.
Предложите вашему работодателю заплатить за конференцию и предоставить вам рабочее время для участия. Если компания небольшая и ресурсов мало, то можно попросить предоставить возможность посещения локальных семинаров, встреч и т.п. Как было сказано выше, компании заинтересованы в том, чтобы подготовка сотрудников соответствовала современному уровню отрасли. Если они не создают условий для этого, то это означает, что они думают, будто сотрудники являются легко получаемыми и легко заменяемыми, поэтому у вас есть основания начать искать новую работу.
Можно читать технические книги или статьи в блогах в обеденный перерыв или в транспорте по пути на работу. Для разработки мелкого вспомогательного инструмента или прототипа можно попробовать новые технологии и языки. Не бойтесь пробовать новое!
Не испытывайте чувство вины за другие увлечения помимо программирования. Другие виды деятельности и физнагрузки повысят ваше настроение, вашу энергию и креативность — короче говоря, улучшат ваши качества как разработчика.
И если получается выкроить немного свободного времени, которое можно посвятить программированию, то проводите его с умом. Самым полезным для меня было установить жёсткое ограничение на часы, отводимые на личный проект. К примеру, это могут быть выходные в формате геймджем или что-то своё: «На это я потрачу 20 часов». Если есть дедлайн, то хоть что-то будет закончено. А это мотивирует работать дальше, позволяет что-то опубликовать в Сети или онлайн-магазине и неплохо смотрится в резюме.
Автор: LukinB