Начните с малого – плана на день. Научитесь полностью выполнять его. Честно отвечайте себе, почему не смогли. Были недостаточно быстры? Оттачивайте мастерство, используйте вспомогательные инструменты. Запланировали слишком много? Отделите желаемое от действительного, учтите предыдущий опыт выполнения подобных дел для понимания требуемого времени. Нашлись более срочные дела? Оцените важность всех задач и выберите меньше, но из самых нужных.
Привыкайте брать ответственность и проявлять инициативу. Тренируйтесь на других сферах – подумайте, как оптимальнее пройти от дома до работы или университета, как передернуть привычный шаблон поведения в стандартной ситуации, как сократить время сбора утром. Попробуйте мыслить нестандартно, организовать расстановку книг в домашней библиотеке или провести небольшой митап в известной вам области. Зачем? Затем, что это именно те важные софт-скилс, которые все чаще желает видеть в своих сотрудниках индустрия ПО. Методологии построения рабочего процесса, равно как и критерии оценки сотрудников, – быть может, сами того не осознавая, – исходят из наличия у топовых сотрудников способности предлагать улучшения, внедрять их в команде и… отвечать головой, если твой «улучшающий код» внезапно отправил сервера прилечь на пару часов на незаслуженный отдых. Подход управления разработкой Scrum поощряет участников команды, склонных брать на себя дополнительные роли, например, роль scrum-мастера. Подход с наличием начальника-надзирателя, увы, устарел. Сейчас до разработчика спускается задача, детали реализации которой, ожидается, предложит он сам. Более того, всё больше распространяется презентация результата заказчику напрямую самим разработчиком. А это значит, что вы должны уметь собрать информацию о проделанной работе со всей команды и красиво ее подать, общаться и выступать перед людьми, держаться уверенно, ориентироваться в моменте и немного быть политиком, отвечая на неудобные вопросы заказчика. Выступления на конференциях, написание статей, предложения по организации процессов учитываются наравне с ответственным и качественным программированием нужной фичи – прямой обязанностью разработчика. Проникнитесь, насколько нужные здесь качества далеки от стандартных базовых черт хорошего разработчика. По моему опыту, компании склонны нанимать «человека, умеющего говорить», чем подчас более глубокомысленного и вдумчивого специалиста с яркими чертами интроверта. Как по мне – уход не на ту тропинку с главной дороги, но реалии таковы, и вы должны быть к этому готовы.
Обозначьте верные приоритеты. Сейчас жизнь IT бурлит и кипит, отнимая у наиболее увлеченных кадров всё свободное время, занимая их молодые умы. Я видела многих, кто сгорал на работе. IT-успех – удел молодых, амбициозных и азартных. Регулярно сидеть, день и ночь дописывая захватывающую фичу, доделывая нестандартный проект, – сродни зависимости. Образ небритого и немытого, физически мало развитого молодого человека органично примеряется и на паренька-геймера, и на талантливого программиста, потому что грань отчасти стирается. IT может поглотить, увлечь и завладеть вашим разумом гораздо больше, чем на рабочие 8 часов в сутки.
Если в вашей системе ценностей важнее семья и дети, если вы хотите жарить котлеты, гармонично сочетать в своей жизни другие сферы и любимые хобби – пожалуйста, смиритесь, что вероятность сделать что-то революционное в сфере IT низка, ибо всегда найдется более поглощенный и азартный, на грани нормы и безумия. Пока вы будете сплавляться с друзьями на байдарке, он придумает, как оптимизировать архитектуру подключения серверов или как изменить алгоритм, чтобы качественнее обучить нейросеть. Посему сразу установите себе верхний «keep balance» – соотношение времени и важности между IT и семьей, спортом, увлечениями. Иначе, поставив всё на красное, вы рискуете остаться у разбитого корыта, если, что не редкость, наступит разочарование в работе программистом или ваша карьера не сложится профессионально.