Когда папа - программист.
Доброго времени суток, друзья! В очередной раз раскинув нейронами главного мыслительного органа, решил поведать Вам о том, как это быть разработчиком программного обеспечения и отцом одновременно. При это работать и воспитывать новорожденного младенца.
Всего 10 месяцев назад, на свет появилась девочка, маленькая такая, беззащитная, с чертами лица отдаленно напоминающих мое собственное лет так этак 30 назад. Взглянул я на этот комочек счастья, взял его крепкими ручищами web-разработчика и понял, что о языках программирования я знаю на порядок больше, чем о воспитании и взращивании маленьких существ, наследуемых от вездесущего класса «человек».
С высоты семи лет беспрерывной работы в области IT, для меня вдруг оказалось очень неожиданным столкнуться с кем-то, кто не имеет console.log или хотя-бы самой захудалой версии debugger. И мысль «как же с этим взаимодействовать?» легла, так сказать, красной нитью через все повествование огромного роя мыслей, бушующего тогда в моей голове. Однако легла она мягко, я бы даже сказал весьма щадяще, и не задев отделы, отвечающие за отправку в бессознательное состояние в экстренных ситуациях, дала импульс к использованию того, что было знакомо благодаря моей профессии – судорожному поиску стабильного алгоритма работы систем в период катастрофического deadline. Потому как ребенок то уже вот – на руках, а user interface где? Где? Я Вас спрашиваю!
Спрашивал я, конечно не Вас, а себя. И вот, если вдруг какой-то программист оказался на моем месте с примерно аналогичным потоком переживаний. Тада! Прими коллега мою помощь, ибо как я тебя понимаю…
Алгоритм отцовства для программиста:
1. Читай документацию! Да да, мой новоиспеченный коллега-программист, и в этом деле без нее никуда. Причем советую приобрести документацию именно на бумажном носителе, для того чтобы она всегда была под рукой. Ибо Интернет даже в нашем надвигающемся 2017 году (Всех с наступающим!) под рукой не всегда. А ребенок теперь под рукой всегда. И документация по его эксплуатации должна быть рядом. Она спасет от паники, и сэкономит нервы в случае, когда ребенок будет делать что-то нелогичное. Например, засовывать себе в рот обе руки, давиться, кашлять и после этого нежно тебе улыбаться… В тренде сейчас находится техническая документация доктора Комаровского и фреймворк Даниловой c хорошим сопровождением и большим комьюнити. Помни, пользоваться устаревшей документацией (советы бабушек, мам, тёть) нужно крайне аккуратно, ибо API с того времени изменился кардинально, и большинство методов давно уже в статусе Deprecated.
2. Если по каким-то причинам IDE для поддержки проекта типа «ребенок» не была организована должным образом, немедленно исправить эту ошибку. Ибо отсутствие таких tool’зов, как пеленальный комод, детская кроватка, ранний старт, фитболл, одноразовые пеленки, подгузники затормозят support проекта «ребенок» в разы. Большинство из инструментария лишены триальной версии и будут стоить денег. Готовься покупать. Пиратские crack’и тут не проходят.
3. Время! Время станет главным ресурсом, почти таким же как золото в Warcraft. Поэтому необходимо сделать декомпозицию распорядка своего повседневного дня. Правильно оценить получившиеся задачи. Помнить – реальные estimates позволят рационально использовать время. Обязательно ввести временной буфер для непредвиденных ситуаций. И вообще настроиться на гибкую методологию разработки типа Ajail. А еще лучше привлечь к этому делу знакомого Scrum Master’а. Возможно сыграть пару партий в Planning Poker.
4. Составить блок схему, примерно следующего вида. Неукоснительно ей следовать, а со временем заучить наизусть.
5. Наконец, запастись терпением и выдержкой. Помнить, что team lead’ом за короткий срок еще никто не становился, что опыт появляется только в скрупулезной работе, а проект становится успешным только если отдавать ему всего себя.
А на сегодня все. Большого здоровья Вам и Вашим деткам!