Мой фон

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

В то время я особо не думал о зарплате (которая составляла 5000 рупий/66 долларов в месяц), я был так счастлив, что могу где-то работать и мне не нужно просить у отца ежемесячную арендную плату.

Необходимость постоянного обучения в балансе между работой и личной жизнью

Я работал только в сервисных компаниях. Они больше сосредоточены на задачах, чем на проектах. Задачи/Вехи должны быть выполнены, что принесет им деньги. Не все проекты выполняются должным образом. Вы можете начать иметь бэклог проектов.

  • Работая над одним проектом, вы можете получить работу над другим проектом.
  • Вы можете делать какие-то документы параллельно.
  • У вас могут быть сжатые сроки для проектов
  • Обратная связь с клиентом должна быть доставлена ​​сегодня

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

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

Я не был великим разработчиком и не был слишком в курсе последних событий на рынке Android-разработчиков. Честно говоря, я узнал о шаблонах проектирования и принципах проектирования довольно поздно, где-то на 3-4 курсе. Когда я впервые посетил семинар по паттерну «Стратегия» из HEAD FIRST DESIGN PATTERN BOOK, я сказал себе, что это то, что я искал, но не знал, что я искал. Я был так поражен, увидев, как структура кода может сделать проект расширяемым и удобным в сопровождении.

Важность структуры проекта

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

Идеальная структура проекта исходит из знания шаблонов проектирования и принципов проектирования (SOLID, DRY, KISS и т. д.). Возможно, вы уже используете структуру проекта, рекомендованную вашим старшим, но понимание причин этой структуры будет исходить только из базовых знаний принципов проектирования. Хорошая структура проекта обеспечивает возможность повторного использования кода. Меньше кода, меньше зависимостей, меньше мест для проблем.

Я создал одну структуру кода Android, вдохновившись своим прошлым проектом. Буду рад, если вам поможет. Вы можете оформить заказ здесь.

Вывод. У нас не может быть идеальной работы, но мы можем добиться баланса между работой и личной жизнью, если нам нравится больше узнавать о программировании. Это сократит наше рабочее время, так что вы сможете сэкономить больше времени, чтобы учиться, проводить больше времени с семьей. Чем меньше рабочего времени, тем лучше будет здоровье, меньше будет стресса. Так что продолжаем учиться!!