Привет, Хабр!

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

Спойлер для тех, кому лень читать
Последствия
Последствия

Идеология

В марте 2023 года, листая мемы про программистов в ВК, я подумал:

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

Смешно капец
Смешно капец

Это и правда была очень умная мысль, особенно, если учитывать то, что я далеко не гений, а мне в следующем году ЕГЭ нужно сдавать, ну да ладно

Официальную работу я, конечно, искать не решился, поэтому полазил по фриланс платформам и столкнулся с некоторыми проблемами:

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

  2. Очень много заказов, которые нужно сделать за 0 секунд, качественно, применяя все архитектурные паттерны, без четкого ТЗ, просто по экранам с Figma, за такие заказы обычно хорошо платят, но со школой такое совмещать сложно, поскольку нужно работать 24/7

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

Стратегия

Буквально я
Буквально я

Раз уж я школьник, у меня нет опыта работы, нужно брать другими качествами, которые, возможно привлекли бы заказчика. Поэтому в своих откликах я писал про все: что стал призером олимпиады в 9 классе используя Flutter, что времени много у меня, что работаю скорее за опыт, чем за деньги, что быстро печатаю, поэтому могу быстро сделать заказ, что хоть опыта у меня и нет, но технологию изучаю уже очень давно, поэтому я крутой и все дела

С такой стратегией я залетел на Хабр фриланс и откликнулся на несколько заданий, которые мне показались относительно простыми. Какое-то время ответа я не получал, уже подзабил на свою идею, но потом мне в телеграм, который я оставлял при откликах, прилетело:

Приветствую

Первый опыт

Ура! Меня возьмут на работу. Поздоровался.

Следующим сообщением была ссылка на дизайн... А при дальнейшем общении с заказчиком я столкнулся с проблемой 2, и с еще двумя новыми проблемами:

  1. чтобы понять заказчика, нужно прочитать сообщение раз 5, а потом 5 минут думать, что он хотел сказать... но со временем это приходит

  2. Человек пишет Flatter...

Задачей была разработка приложения для сети АЗС по дизайну из Figma. Ну и, конечно же, на вопрос, о том, сколько времени дается на проект, мне отвечают, что его нужно было еще вчера сдать... Ну ладно, думаю, экранов не так много, за неделю сделаю... Сделал, оказалось, что нужно еще к API подключать, потом новые экраны добавились... Потом то, се, пятое, десятое... В итоге проект затянулся на полгода, приложение планировали выложить в сторы, но в итоге просто продали

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

Должен признать, что работа относительно сильно утомляет + ко всему она довольно интересная, поэтому после нее довольно сложно готовиться к тому же ЕГЭ или делать домашку. Иногда дают очень сложные, но интересные проекты (например, интегрировать NFC-модуль в приложение), которые утомляют еще больше, но, мне кажется, это отличный опыт работы для резюме и повод изучить что-то новое

Про сам Flutter

Для несведущих, вкратце, Flutter - фреймворк для языка Dart, который придумали модные ребята из Google, чтобы делать приложения под ВСЕ платформы единым кодом

Поскольку проекты мои были небольшими, при их разработке я использовал:

GetX, Provider, StatefulWidget - State Management

GetX, Go_router, Navigator - Routing

SharedPreferences, Get_storage - Storage

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

Результаты

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

Положительные:

  1. ПОЛУЧЕН ОПЫТ РАБОТЫ. Для меня это самый главный результат, именно для этого мне и нужно было работать, поэтому считаю это главным достижением. Причем получен опыт как для резюме, так и для самого себя, теперь я знаю свои сильные стороны, слабые стороны, понимаю, хочу ли я дальше заниматься разработкой на Flutter (определенно хочу), понимаю, какую архитектуру я буду использовать для будущих проектов. Я научился работать с заказчиками, пусть и не очень хорошо, но научился, хотя бы базовое понимание пришло, я открыл для себя новые пакеты flutter, стал более открытым, поэтому теперь не боюсь попросить бэкендера поменять формат даты на бэке на удобный мне

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

  3. Сформированы связи с людьми, у которых я в ВУЗе скорее всего смогу найти part-time подработку, в случае, если не смогу работать full-time

Отрицательные:

  1. Можно было время работы потратить на LeetCode и попробовать выиграть олимпиадки, чтобы поступить в ВУЗ БВИ, но я думаю, что все равно слишком глупый, чтобы что-то там выигрывать, поэтому я не так много потерял.

  2. У моих сверстников есть больше времени на подготовку к экзаменам

  3. Усталость. Когда к 40 часам в неделю в школе + полтора часа на поездки туда-обратно, добавляется 10-20 часов работы + 10 часов дополнительных курсов, после 10 класса, где были только уроки, довольно сильно устаешь. Но это также и плюс, поскольку учишься со своей усталостью бороться

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

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

  6. Сидячий образ жизни, поэтому приходится иногда просто по комнате круги нарезать

Выводы

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

  2. Даже если нет опыта работы, все равно есть смысл откликаться на интересные работы, но при этом стоит указывать все свои плюсы и минусы

  3. Стоит браться за сложные задачи, но не стоит делать так, чтобы слишком много времени уходило на работу, не рекомендую работать больше 4 часов в день

  4. Нужно понимать, что для работодателя возраст - это не повод делать поблажки, поэтому нужно успевать сдавать проекты вовремя, чтобы их не отдали крутому взрослому разработчику

  5. Учите Flutter - он моднейший))


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

Удачи!

Комментарии (33)


  1. MAXH0
    03.01.2024 16:51
    +1

    что быстро печатаю, поэтому могу быстро сделать заказ, что хоть опыта у меня и нет,

    Спасибо! Расмешили :)))

    Удачи Вам. Главное в поступлении в хороший ВУЗ. Вообще начинать фрилансить в 11 классе - это экстрим. Надо в 10-м. А подготовка к фрилансу: 6 - 9 классы. Это из моей практики как учителя.


    1. aNOOBisTheGod Автор
      03.01.2024 16:51

      ну я вот в 10 начал, но чет затянулось как-то... планирую потихоньку из этого дела вылезать, ибо ЕГЭ таки сдавать нужно)


      1. VladimirFarshatov
        03.01.2024 16:51
        +1

        Если освоишь для себя жесткий тайм-менеджмент, времени хватит на всё. Но, это трудно, помню .. помню, как же:

        Hidden text

        Приучить себя вставать в нужное время, скажем в 6-15 утра, когда ты - сова. Ложишься спать, смотришь на будильник и представляешь (ускоренно) как бежит его стрелка и ставишь "будильник" в башке. Заводи только настоящий, проспишь поначалу.. ;)

        Научиться спать по 4-6 часов в день с отсыпанием на "выходных" или хотя бы через три дня.. тоже не сразу получалось.

        Совмещать приятное с полезным .. любую даже самую нудную и монотонную работу можно превратить в игру.. 23 способа бросков бетона (раствора) совковой лопатой в растворонасос на разные группы мышц, о как! .. можно ли готовиться к ЕГЭ на .. флаттер? (я не знаю, в мое время ЭГЕ ещё не было)

        Самое трудное: отказаться играть в игрушки и залипать в игрушечных стримах. Мне в свое время сильно помогло участие в "игровой индустрии": кто пишет игры, тот в цирке не смеется (не играет)", но это не точно. Затознаю нескольких "мечтателей", пишущих "свою игру" на миллион долларов .. который год, т.к. большая часть свободного времени уходит на .. игры.

        Тайм менеджмент .. с чего начать? С дневника. Заведи дневник, в котором будешь отмечать всё, что сделал за день с поминутной точностью. Ваще всё. Проведи так, хотя бы пару недель. А потом сядь и пересмотри и подбей статистику: сколько времени уходит на сон, еду, помощь предкам, учебу, дорогу .. рассортируй от большого к меньшему и присмотрись: что можно поменять и куда.. очень занимательно поначалу. А потом, просто привыкнешь и вести дневник и календарь событий и .. появится время даже на игрушки и прочие ништяки.


        1. aNOOBisTheGod Автор
          03.01.2024 16:51

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


          1. lil_master
            03.01.2024 16:51
            +2

            1) Забейте на вуз, поступайте в любой, и учитесь для галочки, всё равно от вуза толку не будет, т к вся образовательная система для галочки.

            2) Сосредоточьтесь на изучении Dart и Flutter, OpenAPI, C. Dart - не просто модный, это, возможно ЛУЧШИЙ язык программирования, а C - мощнейший. Их связка позволяет делать ВСЁ.

            3) Берите проекты и делайте один за другим, берите много и делайте! Работа в экстремальных условиях увеличит скилы на порядки.

            0) Но прежде всего: забейте на всё что говорят другие, не отвлекайтесь ни на что. Всегда помните что "каждая сосиска хочет чувствовать себя колбасой", эти сосиски будут стараться отвлечь внимание. Будьте уверены в себе, вы очень толковый парень, не обращайте внимание на то что пока нет профессионализма - "Ковчег был построен любителем, профессионалы построили Титаник".

            Удачи!


            1. Safort
              03.01.2024 16:51
              +8

              > Забейте на вуз, поступайте в любой, и учитесь для галочки, всё равно от
              вуза толку не будет, т к вся образовательная система для галочки

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


              > Dart - не просто модный, это, возможно ЛУЧШИЙ язык программирования

              Довольно смелое утверждение, проверять мы его, конечно, не будем.


            1. aNOOBisTheGod Автор
              03.01.2024 16:51
              +1

              Большое спасибо за поддержку)

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

              а по поводу C и Dart, я как-то не видел их работу в связке пока что, так что буду рад ссылочкам на какие-нибудь статьи на эту тему ;)


            1. Georrg
              03.01.2024 16:51
              +4

              Какие-то сплошные вредные советы от вас. @aNOOBisTheGod, хороший универ даёт хорошие связи, возможности, опыт и знания. Чем лучше универ, тем лучше pack (вы будете более конкурентоспособным). Кроме того, универ структурирует знания, чего не сделать самому. Плохой универ не даёт ничего кроме корочки, но часто и не требует ничего взамен. Там люди пинают кое-что всю дорогу)) На одном flutter 50 лет вам не проехать, более того, существует десятки крутых направлений о которых вы пока не знаете и не узнаете без хорошего универа (или массового перебора). Через 5-10 лет вы так или иначе ощутите нехватку диплома; знания по проге выравниваются; деньги уйдут и придут снова. Ставьте приоритетом подготовку к ЕГЭ, если чувствуете что можете набрать хорошие баллы. Я пишу на Котлин для андроид и на flutter для себя. В сравнении с kotlin - dart привет из 2000-ых))) Да, красивый UI, да, кроссплатформенность, но называть синтаксис или сам фремворк красивым - у меня язык не повернется, даже под пытками)) Если бы я был на вашем месте (18 лет без образования и с опытом по проге), то ставил бы на ML и хороший универ (ИТМО, например, с ними я в начале карьеры часто конкурировал и часто проигрывал - мой универ оказался слабее в подготовке. Это стоило мне лишней нервоптрепке при выпуске). И да, учтите, что AI наступает - 5-10 лет и нашу работу нехило так адаптируют. Все будет по другому и лучше ставить ставку на долгую.


              1. VladimirFarshatov
                03.01.2024 16:51
                -1

                Поддержу. А тайм менеджмент начинается с .. дневника. Потом остальное..


              1. aNOOBisTheGod Автор
                03.01.2024 16:51
                +2

                я сам хочу в ИТМО идти, но это другой город + туда, куда я хочу, нужны баллы высокие (типа 305), а олимпиад у меня подходящих нет, так что или как-то ITMO STARS выигрывать нужно, или какую-нибудь другую олимпиаду, а это сложно(( но все равно спачибо большое за совет!


                1. Georrg
                  03.01.2024 16:51

                  я переехал в другую страну ради образования, а до этого дальше Шапитовки не уезжал)) Промониторьте все универы в крупных городах и с хорошими отзывами. Если в одном месте будет закрыто, в другом будет открыто)


            1. jackcrane
              03.01.2024 16:51

              -1) английский язык (если не планируете в программисты 1С). для начала сдать по нему ЕГЭ на 95+ баллов. преимущества: источники свежее, кругозор ширше, заказчиков больше => можно выбирать какие выгоднее.


        1. selivanov_pavel
          03.01.2024 16:51
          +5

          спать по 4-6 часов в день с отсыпанием на "выходных" или хотя бы через три дня

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

          Здоровье - самый ценный и плохо восполнимый ресурс.


          1. VladimirFarshatov
            03.01.2024 16:51

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


            1. selivanov_pavel
              03.01.2024 16:51
              +2

              Отсып не компенсирует хроническое недосыпание в плане долговременного ущерба здоровью.


              1. VladimirFarshatov
                03.01.2024 16:51

                Не знаю, вполне возможно. Сию 61. Свой "тайм менеджмент" начинал где-то в районе 20-и, точнее не вспомню.. Примерно до 45-и сон по 4 часа, а то и двое суток и вовсе без сна - штатное явление. Жив вроде бы, но это не точно.. ;)


        1. syrus_the_virus
          03.01.2024 16:51
          +2

          Самый идиотский совет, который я когда-либо слышал. Надеюсь автор прочитает мой комментарий и сделает это вдумчиво. Любая стоящая цель никогда не берётся нахрапом - только постоянный и осознанный труд, помноженный на опыт сделает из тебя профессионала. Не стоит думать, что есть какой-то чит, который поможет тебе игнорировать отсутствие опыта или сопутствующих знаний и навыков. "Жёсткий тайм-менеджмент" - это один из таких читов, он уместен только в армии, вот только я никогда не слышал, чтобы из армии возвращались академиками или крутыми разработчиками. Секрет успеха на самом деле очень прост: надо любить то что ты делаешь, и тогда время пролетит очень быстро, и ты не успеешь заметить как многому ты научился. Но будет трудно, и много раз придётся перебороть в себе "я нихрена не знаю и не умею, и не шарю", и шаг за шагом идти вперёд


          1. VladimirFarshatov
            03.01.2024 16:51
            +1

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

            Да, ничего не дается "просто так", нужен труд, много труда. Даже самое любимое дело часто сопутствует с нудной и монотонной работой и это остужает детский "энтузазизм".. Любовь к любимому делу .. часто разбивается о рутину, которая содержится в любом деле.

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


    1. audiserg
      03.01.2024 16:51
      +1

      Вообще начинать подготовку в 6-9 это поздно.! Это из вашей практики как "учителя"!Лучше всего начинать в детском саду, с яслей ещё до изучения родного языка! Ещё можно посоветовать пусть мама во время беременности слушает конференции по мобильной разработке...

      Оставьте детям детство, "Учителя"!


  1. ky0
    03.01.2024 16:51
    +19

    TLDR:

    Должен признать, что работа относительно сильно утомляет.

    Что сказать - с подключением.


  1. PackRuble
    03.01.2024 16:51
    +2

    Привет, крутая история! Из стейт-менеджера рекомендую рассмотреть riverpod, поскольку он сильно освобождает от бойлерплейта и одновременно совмещает концепцию внедрения и реактивных BLoC-классов одновременно.

    От getx вооще стоит отказываться, поскольку он отвратительно написан и для больших проектов не подходит.

    Под рукой нет компухтера, чтобы детальней просмотреть, но чем getstorage отличается от SharedPreferences? Сомнительным бенчмарком?) Да, из доки я видел, что там есть прослушка к примеру. Что там ещё есть, чего не хватает в SP? Чисто из спортивного интереса... Я недавно выпустил cardoteka на основе SP, которая добавляет типизацию, работу с null, прослушку на основе коллбеков и разделение имён хранилищ. Может это покроет какие-то ваши кейсы использования... :)

    Пиши ещё, интересный путь ????


    1. aNOOBisTheGod Автор
      03.01.2024 16:51
      +1

      Спасибо за советы. От GetX мне и правда стоит отказываться и на что-то ее переходить, там и ненужного много, да и вообще его использование вроде как моветон...


    1. beduin01
      03.01.2024 16:51
      -2

      GetX это наверно лучший из СтейтМенеджеров. Хейтить его начали только потому что его создатель смог сделать в разы проще чем задумывали инженеры Гугл.

      Автор молодец - своим примером показал что ИТ-шником может стать любой мотивированный человек.


  1. stryder123451
    03.01.2024 16:51
    +2

    Ты правильно идёшь, я лично очень жалею что на первом курсе не стал изучать Flutter , советую тебе уже на первом курсе искать работу. Если ещё и зп для твоего города будет норм, будешь себя везде уверенно и спокойно чувствовать. По факту ВУЗ только знакомства может дать , а какого цвета у тебя корочка Тим Лиду по барабану , в общем, ты молодец, желаю удачи


    1. aNOOBisTheGod Автор
      03.01.2024 16:51

      Спасибо!


    1. NuckChorris
      03.01.2024 16:51
      -1

      Там не только на цвет корочки смотрят, но и на то, где эту корочку получил. Потому что программирование это не только знание языка.


  1. Ib1za
    03.01.2024 16:51
    +1

    что быстро печатаю

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


  1. viver77
    03.01.2024 16:51

    А почему flutter, а не react-native? Выбираю между ними, так-как знаю react, то склоняюсь к native. К тому же я за неделю от "первый раз начал что-то делать в native", до "выложил свое приложение в googlePlay", в режиме с тестирования, но довести его до ума только вопрос времени. Все кажется не сложно и вполне понятно. Миллион роликов на эту тему так и не дают ответ, кроме абстрактного, что якобы flutter быстрее, но доказательств на реальном приложении никто не приводит, ну или я таких не видел.


  1. audiserg
    03.01.2024 16:51

    Молодец, но есть небольшое замечание: Мы всегда спешим куда то, куда нам не сильно надо. Спешим стать взрослыми, спешим стать бизнесменами на последнем курсе универа. Спешим работать, а не учиться. Скажу за себя чем я только не занимался в то время когда надо было учиться, но только не учебой. Но учиться потом - гораздо дороже и сложнее, чем в отведенный для этого этап жизни. Сейчас в айти снова диплом становиться важен, поверь мне все что ты выучишь тебе пригодиться, по настоящему, поэтому сосредоточь свои усилия на учебе , поступлении в университет и получении знаний в нем. Удачи!


  1. rimashi
    03.01.2024 16:51
    +1

    Спасибо автору за статейку, тоже в 11 классе и тоже хотел на фриланс. Хотел ботов на питончике пописать или сервера на nodejs, но каждый раз заходя на фриланс, либо не находил заказов от слова совсем, либо заказы, которые кажутся очень сложные и есть вероятность получить немного пугает. Так что, спасибо, хотел что-то взять на каникулах, но уже лучше к ЕГЭ готовиться и для себя проектики писать и в портфолио кидать)

    Автору удачи с ЕГЭ


  1. saag
    03.01.2024 16:51
    +2

    Как то настораживает упомянутый в статье шаблон мышления заказчика - "все должно быть сделано вчера", предположу что он довольно распространен...


    1. VladimirFarshatov
      03.01.2024 16:51

      Это самый любимый шаблон "Заказчика".. (секрет Полишинеля) .. привыкайте. ;)


      1. saag
        03.01.2024 16:51

        Да как то думал если нашел ТС заказ на Хабр.Фриланс, то как то адекватнее предполагалось, а так да известно...