Вскрытие в словаре означает «вскрытие для установления причины смерти». В этой истории я хочу рассмотреть свои действия в качестве программиста в компании Kasra за последние 5 лет и извлечь из них уроки.

Конец 2021 года был временем, когда я решил покинуть компанию Kasra и начать работать в другой компании. Это был первый раз после августа 2016 года, когда я вошел в Касру, когда почувствовал необходимость в этом изменении. Эта история лишь часть моего восприятия событий и опыта, которые я приобрела за эти годы, работая с разными людьми, и я не хочу вдаваться во все подробности пути, который я прошел в Касре.

Давай начнем. В морге труп готов.

Летом 2016 года, в конце 4-го семестра бакалавриата компьютерной инженерии в Университете Исфахана, и с моей жаждой начать работать, меня привлекла компания Kasra. Компания, работающая в сфере производства систем контроля посещаемости для крупных компаний. Выход на рабочее место, когда вы еще учитесь в вузе, у вас не хватает времени и знаний, является одним из самых сложных условий для начала работы, но присоединение к мобильной команде компании Kasra под названием Loopers, которая на тот момент состояла из четырех других студентов значительно облегчил путь.

Урок 1. Выходите на рынок труда раньше.

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

Нашим первым проектом в Lopers было производство мобильного программного обеспечения для посещаемости Kasra, поэтому я начал свое программирование, работая с ionic framework. Ionic — это фреймворк, который вы можете кодировать с помощью Html, CSS и Angular js и получать вывод программного обеспечения на мобильные устройства Android и iOS и создавать так называемое гибридное мобильное программное обеспечение. Можно сказать, что в то время гибридное программирование было только что представлено, и ионные, и другие платформы еще не имели необходимой зрелости, сообщества и плагинов, необходимых для создания мобильных приложений, и у нас было много трудностей с производством и поддержкой наших продуктов, в дополнение к эти проблемы. Необходимость большего доступа к функциям операционной системы, таким как push-уведомления и работа с картами, привела нас к нативному программированию, и с 2017 года мы перешли на программирование с помощью java для Android и Swift для iOS и разрабатываем наши будущие приложения на этих языках. . Где я официально вошел в мир Android-программирования.

Урок 2. Гибкость должна быть вашим самым важным качеством.

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

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

Урок 3. Никогда не работайте без правильной структуры.

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

Структура команды Loopers была понятна, в команду добавлялись новые люди, но мы так и не получили желаемого результата. Каждый день мы работали усерднее, чем раньше, мы больше думали, у нас было больше встреч, но мы все еще были в порочном круге, и в конце каждого сезона мы не добивались желаемых результатов. Мы пересмотрели оценки, усомнились в используемых нами языках программирования, у нас были изменения в составе команды, но новостей о росте по-прежнему не было. После того, как вы нашли нужную структуру, теперь вам нужно искоренить возникающие проблемы, а когда вы боретесь с вызовом, очень трудно сделать шаг назад и посмотреть на проблему сверху. Поэтому не исключено, что быстровозвратные решения на практике не только не помогут решить проблему, но даже могут добавить новых проблем. Наша проблема была решена, когда была сформирована «продуктовая команда», которая пересмотрела определения проекта, сформулировала план развития команды на ежеквартальной основе и определила отставание по каждому продукту для разных фаз. Здесь мы вступили в исполнительскую стадию модели Talkman.

Урок 4. Вклад команды так же важен, как и результат.

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

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

Урок 5. Мотивация — это то, что помогает вам выжить.

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

Когда я решил перейти в компанию Bama с начала 2022 года.