Noveo

Наш блог История успеха. Александр Горбунов – разработчик, автор, учитель…

История успеха. Александр Горбунов – разработчик, автор, учитель…

image

С Александром Горбуновым читатели нашего блога уже знакомы: Саша регулярно делится знаниями и полезными мыслями, например, здесь, здесь и здесь. Сегодня Саша – один из наших самых «сеньорных» старших iOS-разработчиков: помимо непосредственной разработки он активно обучает новичков, проводит код-ревью, участвует в собеседованиях, оценивая знания приходящих кандидатов… А на корпоративных выступлениях еще и балует нас игрой на саксофоне! :) А началось все примерно 2,5 года назад с должности простого разработчика. Мы расспросили Сашу, как шел его профессиональный рост.

— Я вернулся из Санкт-Петербурга в Новосибирск, искал работу – и у кого-то из друзей в соцсетях увидел фотографии корпоратива в Noveo. Мне стало любопытно, я стал смотреть, что за компания такая, пошел на сайт, зашел в раздел вакансий, а там как раз была подходящая – вот я и решил попробовать свои силы. Заполнил анкету, прошел собеседование, классический процесс.

— Какими были твои первые впечатления от компании?

— Хорошими :). Поначалу особенно заметен был контраст с предыдущими местами работы: в компаниях, где я работал раньше, атмосфера была хорошая, дружелюбная, но порой до того уж дружелюбная, что даже нерабочая. Хотелось иногда просто поработать в тишине, вникнуть в задачу, а не все время быть вовлеченным в какое-то корпоративное веселье. А в Noveo очень удачно соблюдена грань между работой и отдыхом: работа есть работа, и все-таки именно она главная, но всегда можно сделать паузу, отвлечься, пообщаться с коллегами за чашкой чая – и затем снова вернуться к работе.

Еще мне очень понравилась ориентация на развитие. Сначала мне давали учебные задачи, потом я полностью переключился на реальные – но при этом первые год-полтора у меня получалось посвящать достаточное количество времени учебным материалам.

— Как происходил твой рост?

— На первых порах мой код часто ревьюил наш старший разработчик Толя. Он всегда высказывал (и высказывает!) ценные замечания, может аргументированно объяснить, почему в данном случае вот этот подход лучше. Иногда, когда можно, например, применить 2 метода, Толя может привести аргументы в пользу каждого из них :). Это позволяет осознанно подходить к вопросам стиля программирования, архитектуры… Уже не просто что-то делаешь, а понимаешь – почему именно так.

В совместных проектах с другими разработчиками также узнаешь что-то новое. Какие-то решения для тебя оказываются неожиданными, ты бы, может, и не подумал об этом никогда. Что-то тебе нравится, и ты берешь это на заметку. А что-то, наоборот, не нравится, и ты начинаешь задумываться – почему не нравится, что плохо, почему так делать не надо и как этого избежать. Это тоже полезно. К тому же в совместных проектах вы, как правило, обсуждаете то, что получается, иногда даже спорите, а в споре, как известно, и рождается истина.

— Как менялись твои задачи в связи с ростом?

— Сначала я просто разрабатывал, потом к разработке стали добавляться собеседования, написание статей, code review… Иногда так забавно думать, что еще года полтора назад ревью делали на мой код, а теперь я смотрю чужой =). Я бы, правда, не отказался от ревью своего кода и сейчас. На мой взгляд это была бы хорошая практика – любой разработчик может проводить ревью твоего кода, и ты можешь смотреть любой код. Все-таки это очень эффективный метод развития.

Еще я участвую в подготовке и проведении стажировок. Это вообще постоянный вызов – нельзя один раз приготовить учебные материалы и пользоваться ими несколько лет подряд, постоянно что-то новое выходит – новые SDK, библиотеки, или, наоборот, чем-то запрещают пользоваться… Так что каждая стажировка – это довольно интенсивная работа кураторов по подготовке учебных материалов и, конечно, по проведению самой школы.

— Как на твоих глазах менялась компания?

— Она растет, развивается. Ремонт вот сделали :). Может, это и мелочь, но приятно, что есть уютный, благоустроенный офис, и он периодически обновляется.

— А как ты сам изменился за это время?

— Повзрослел =). Раньше, если мне что-то было непонятно или какие-то проблемы возникали на проекте, я довольно быстро обращался за помощью к старшим товарищам. Сейчас я все-таки стараюсь как можно больше проблем решить сам. Отчасти потому что могу, от другой части – потому что понимаю теперь, как много такие простые консультации могут отнимать времени :). Хотя приятно, когда иногда к тебе приходят люди, которые, может, даже дольше меня в компании работают, и спрашивают твоего мнения. Уважают :).

Еще я замечаю, что скорость работы у меня, как ни странно, снизилась. Раньше я получал задачу – и срочно бросался ее решать как можно скорее, а теперь интересна не скорость, а качество: я, может, раньше уже делал что-то подобное, но вместо того, чтобы тупо это воспроизвести, я пытаюсь оптимизировать, придумать лучшее решение. Всегда можно улучшить поведение, стабильность, производительность, избавиться от рутинной работы при дальнейшей поддержке проекта, даже если эти требования не зафиксированы в документации. То есть часов, может быть, тратится больше, но работа выходит качественнее, элегантнее.

— Ну и, конечно, я не могу тебя не спросить о том, как ты стал одним из наших любимых авторов =).

— Я не помню, с чего именно это началось, но точно помню момент, с которого мне это стало интересно. Мы работали над проектом в паре с другим разработчиком, точнее – разработчицей :). Конечно, мы многое обсуждали в ходе проекта, и Татьяна защищала довольно редкие, не общепринятые подходы. Они оказались такими интересными, что я прямо загорелся – нужно всем о них рассказать! Написал пост. Потом в процессе их использования и применения мы наткнулись на подводные камни, оказалось, не все так просто – так появилась вторая статья с описанием, как эти камни обойти, если кто-то будет использовать пропагандируемые нами решения.

Так я проникся тем, как, оказывается, интересно узнавать и рассказывать о спорных моментах, подходах, которые могут быть не общепризнаны, нестандартных решениях. Reactive Cocoa, например. Или вот – все используют в работе MVC, а есть же еще MVVM, MVP, но про них в основном только слышали, а применять редко кто применяет. А почему? Бывают проекты, на которых заказчик требует какие-то самые простые (правда, только при рассмотрении с позиций заказчика, пользователя) процессы делать по-своему, и на это может уйти уйма времени – можно написать по итогам статью и сократить время другим разработчикам, кто тоже столкнется с подобными требованиеми “бороться с системой” и “изобретать велосипеды”. А уж когда твоя статья вызывает отклики, кто-то комментирует, пишет что-то в ответ – и приятно, и сам чему-то учишься!

Вообще я считаю, что обмен опытом, знаниями между разработчиками должен быть! Поэтому я пишу статьи в блог, был бы рад возродить наш корпоративный чат, можно было бы ввести тематические доклады в команде… В общем, еще есть, что реализовывать! :)

image

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

НазадПредыдущий пост ВпередСледующий пост

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: