В среду, 29 мая 2019 года, я получил электронное письмо, в котором говорилось, что я получил роль разработчика Protege в MYOB. Я был просто на седьмом небе от счастья.

Я подал заявление в MYOB в рамках программы профессионального трудоустройства моего университета, где я должен был проработать в отрасли 1 год, прежде чем вернуться в университет, чтобы получить степень. Я начал в MYOB во вторник, 30 июля 2019 года, а пятница, 31 июля 2020 года, была моим последним днем ​​в качестве протеже.

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

О роли

Роль Protege Developer относится к Академии будущих творцов (FMA). По сути, это аспирантская программа MYOB, и внешне эта роль называется Выпускник-разработчик программного обеспечения. Программа состоит из 2 основных этапов - разгона и ротации экипажа.

На этапе ускорения вы сосредотачиваетесь на развитии своих навыков, а также на изучении передового опыта и других ключевых концепций с помощью назначенных вами наставников. Затем вы примените эти навыки в реальных проектах, когда вы переходите к ротации экипажей, то есть когда вы присоединяетесь к разным командам / командам в MYOB.

Программа направлена ​​на то, чтобы вооружить вас жизненно важными знаниями и навыками, независимо от вашего опыта, чтобы начать работу и ускорить ваш путь к тому, чтобы стать эффективным разработчиком программного обеспечения.

Я провел свои первые 3 месяца в акселерации, затем последовали 3 ротации, каждая из которых также длилась около 3 месяцев. Я присоединился к 1 команде DevOps - Replicant и 2 командам полного стека - Tron и Skytree. У всех довольно крутые имена. Вот лишь некоторые из основных моментов, которые я получил за эти 12 месяцев.

Наставники важнее, чем я думал

У меня никогда не было наставника до прихода в MYOB, не думаю, что я вообще знал о концепции наставничества, поэтому мое крайнее удивление, когда я услышал, что у меня будет не 1, а 2 наставника, когда я буду в Acceleration. Оба они были потрясающими.

Они по очереди объединялись со мной каждый божий день, обучая меня от простейших, но важных вещей, таких как сочетание клавиш, до более сложных навыков, таких как представление идей, анализ проблем или разработка решений. Несмотря на свой плотный график, они все же находили время, чтобы сесть и провести со мной рецензию кода, давая отзывы о моем понимании различных концепций и принципов кодирования. Было очень приятно услышать, как они обсуждают плюсы и минусы различных решений и делятся своим опытом.

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

Пока я был в ротации экипажа, у меня были разные наставники. Они также были очень классными, и я был очень благодарен за их заботу обо мне. В течение первых двух недель они постоянно работали со мной, чтобы помочь мне познакомиться с кодовой базой команды, технологиями и системой работы. Вдобавок к этому у нас были регулярные встречи, даже в те дни, когда я работал вместе с другими разработчиками в команде. Я был очень удивлен, что мои наставники выделяли 1 час своего дня только для того, чтобы объяснить мне концепцию или пройтись по фрагменту кода, в котором я застрял. Их опыт восполнил мои пробелы в знаниях, на выяснение которых мне потребовались бы годы.

За 12 месяцев я узнал больше, чем за предыдущие 3 года вместе взятые. Рост, который у меня был, пока у меня были наставники, был просто экспоненциальным.

Доска объявлений - новый навык, о котором я даже не подозревал

Разработчики довольно широко занимаются доской в ​​MYOB, чтобы выражать идеи, делиться знаниями и вызывать содержательные беседы.

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

Но на самом деле мне пришлось немного научиться переходить от моей обычной ручки и бумаги к маркеру и белой доске, особенно когда я работал с белой доской для аудитории.

Мне пришлось привыкнуть к гораздо большему масштабу изображения, которое я рисовал (по сравнению с листом бумаги), и располагать их так, чтобы было достаточно места для всего, и аудитория могла ясно видеть, что происходит. Скоординировать все эти вычисления во время разговора может быть довольно сложно. Еще один умственный фактор, о котором стоит упомянуть, заключается в том, что в нем обычно участвует как минимум 2 «зрителя», поэтому это будет похоже на мини-презентацию, где вы делаете свои «слайды» на лету, и все мы знаем, насколько устрашающей может быть презентация 😣.

Несколько вещей, которые я сделал, чтобы погрузиться в это, - это пытаться говорить медленнее, делать одно дело за раз (рисовать немного, затем говорить об этом, затем рисовать еще одно), время от времени делать шаг назад и затем даже на несколько секунд, просто чтобы посмотреть, как продвигается ваш рисунок, сделать вдох и сделать некоторую подготовку, например, заранее нарисовать несколько черновиков.

С точки зрения аудитории, это тоже был бы интересный опыт. Например, если вы задаете тему своим наставникам, они могут четко увидеть, в чем вы особенно уверены и какие именно информационные пробелы необходимо заполнить.

Несколько примеров моей доски во время ротации моей бригады:

Это был один из моих первых сеансов работы с доской во время моей ротации в Replicant. В нем я объяснил, что узнал о различных сервисах AWS и о том, как они работают. Я рисовал простую архитектуру обычного веб-приложения, развернутого на VPC, используя Route53, S3, ELB, ASG и т. Д.

На занятии после этого я объяснил архитектуру Docker, сети Docker и просто использование Docker в целом.

С начала пандемии COVID-19 мне пришлось перейти на цифровую доску, что было интересным опытом.

Это было мое занятие об основах Kubernetes. Рисовать мышью было немного сложнее, но польза от рисования на доске все же была.

Позже, когда я перешел в команду Skytree, у меня также было несколько занятий с моими наставниками на доске по таким темам, как паттерн BFF, модель потока и т. Д. Но на этот раз я использовал draw.io, чтобы мой рисунок / письмо мог будет легче читать 😂.

«Команда, которая обедает вместе, вместе работает лучше»

Я позаимствовал эту цитату с домашней страницы Skytree, потому что она довольно хорошо отражает один из интересных мне выводов. Я также сделал быстрый поиск в Google, и было исследование по этому поводу от Корнельского университета. Я думаю, что эта цитата никоим образом не говорит о том, что команды, которые не едят вместе, не будут работать хорошо, но больше о командах, которые понимают друг друга на более личном уровне, как правило, работают лучше. Просто так получилось, что совместный ужин - хорошее занятие для сближения, и я думаю, это лучше рифмуется.

Мне повезло, что все три команды, к которым я присоединился, были потрясающими и хорошо функционирующими. Все они обладают одним и тем же атрибутом товарищей по команде, которые знают друг друга больше, чем просто рабочий контекст, и регулярно занимаются общением, например, обедают, ежедневно общаются в неформальных беседах, вместе играют в игры или делиются радостью от достижений друг друга. Что касается Трона, у нас были ежедневные обеды вместе; для Replicant это были ранние утренние разговоры о пивоварении; для Skytree это были наши ежедневные чаты с викторинами или играми.

Я всегда чувствовал, что нахожусь в очень доверительной среде, пока я был в этих командах. Все, включая меня, чувствовали себя комфортно, задавая вопросы, делясь своими знаниями и личным опытом, выражая свои идеи. Мы чувствовали себя в безопасности, говоря: «Я не уверен в этом, может ли кто-нибудь помочь мне», потому что мы знаем, что другие участники ответят или поддержат нас.

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

Вдобавок к этому, когда я лучше понимаю свою команду, у меня появляется желание внести свой вклад в нее. Я сосредоточил свое внимание на том, «что я могу сделать, чтобы помочь команде», а не просто на том, «чему я мог бы научиться из этой ротации». Я чувствую, что помощь команде - это более сильный и эффективный драйвер для меня, и я многому научился на этом.

Некоторые другие разные уроки

Технические знания

Будучи Protege, я узнал о принципах / методах кодирования, таких как принципы SOLID, 4 правила простого дизайна, разработка через тестирование и такие технологии, как Docker, Kubernetes, AWS, Azure, React, .NET, и применил их к реальным проблемам. , работающие над производственными системами. Я стал намного лучше работать с такими инструментами, как Git и Jira.

Другие разработчики в компании проводят регулярные сессии коричневых мешков, делясь своими знаниями о новых технологиях, практиках или архитектурном дизайне, которые действительно интересны и проницательны. Я был в коричневой сумке React 16, коричневой сумке с «асинхронным ожиданием в JS». Есть даже мастер-классы, организованные разными командами. Некоторые из тех, к которым я обратился, были Web Vulnerabilities 101 от группы безопасности, Linux и Docker 101 от DevOps.

Сотрудничество с другими ролями

Приобретая технические знания, я также получил возможность узнать о других ролях, с которыми разработчик будет тесно сотрудничать, таких как бизнес-аналитик (BA), аналитик по качеству (QA), дизайнер продукта (PD), технический менеджер (EM), менеджер по доставке ( DM) и менеджер по продукту (PM). Я познакомился с различными видами деятельности, такими как обработка бэклога, приоритезация бэклога, регрессионное тестирование, исследование пользователей и т. Д. Это помогает мне понять сквозной процесс, быть более ориентированным на Т-образную форму и проявлять больше сочувствия к другим ролям.

Слуга лидерства

Мне посчастливилось работать под руководством замечательных лидеров и менеджеров. Впервые я услышал об этой концепции во время разговора с одним из моих менеджеров. Все руководители или менеджеры по развитию, которых я встречал в MYOB, придерживаются такого мнения. Их цель - дать людям возможность и предоставить команде лучшие условия для выполнения своей работы. Они берут на себя инициативу делиться своими историями, создавая чувство общности, что делает их более человечными и близкими к команде. Они помогают согласовать ваши личные цели развития с целями команды, находя и давая вам возможности для роста и достижения этих целей.

Заключительные слова

Мой год в MYOB в качестве протеже снабдил меня жизненно важными инструментами, знаниями, отношением и перспективой, чтобы начать свой путь в технологической индустрии. Я глубоко благодарен за возможность работать со многими замечательными людьми, а также учиться и расти под руководством всех моих наставников.

Мой опыт здесь только подтверждает, насколько я люблю работать в сфере технологий. Я рад сообщить, что мой путь с MYOB все еще продолжается, поскольку мне повезло, что мне предложили должность младшего разработчика на неполный рабочий день, а я вернусь в университет на полный рабочий день, чтобы получить степень.

До скорого. Приятного чтения!