Начало
Я обычный житель мегаполиса Москва, по специальности инженер.
Часики от тикали 29 лет от роду, и я понял - не выносимо каждый день преодолевать расстояния от дома до офиса.
Ведь есть профессии, которые позволяют работать из любой точки мира.
В своей инженерной карьере я работаю с программированием, но данное программирование подразумевает сидеть рядом с железкой, а это значит надо ехать в офис.
Я решил - надо что то менять, почитал, поискал информацию - посмотрел рынок профессий, сделал выбор. Web разработка.
Я понимаю что это не просто, научиться в 30 лет чему то новому, и не факт что удастся найти работу моей мечты и не быть привязанным к офису.
Но чем раньше начнешь тем быстрее достигнешь, а о инженерах работающих из дома я вообще не слышал.
Так вот господа, я решил я окунуться в данную стезю программирования.
немного знаю PHP и HTLM, JS и CSS начинаю изучать с нуля.
Прошу у знающих, подскажете курсы? книги? учебники для начинающих.
быстрый гуглеж дал результат по JS, CSS пока совсем тихо.
Буду рад любым дельным советам.
Если тебе нужен совет, их есть у меня.
Во-первых, "не лезь,..., она тебя сожрёт" (с). Имо, самый полезный совет, что можно дать :D
Во-вторых, "на часах" уже 29, так что не сусоль, засунь поглубже всякие инфоцыганские курсы и приготовься пахать всё свободное время. ВСЁ - значит ВСЁ. У тебя наверняка есть часик-другой вечером "потупить", с утреца часик "на разогрев" и днем минут 20. Посчитай их все, умножь на 7 и ты увидишь цифру в районе 20-30 часов в неделю. ЭТО ПОЛ РАБОЧЕЙ НЕДЕЛИ есичо. Не теряй времени, ебошь.
В-третьих, ты, небось, как и многие, валял ваньку на уроках английского. Пора его поднять на ноги и отряхнуть. АНГЛИЙСКИЙ - это твой один из основных навыков, как программиста. Всем насрать кто и как тебя учил (это не только языка касается). Важно уметь коммуницировать со своими коллегами и заказчиками. Смирись, но upper intermediate тебе нужен будет кровь из носу при работе на зарубеж. Доставай откуда хочешь, выдели время. Мы ж не смотрим на тех, кому "итак хватает sverdlovskii inglish from mai hart", верно?
В-четвертых, если ты решил быть программистом, определись - точно ли ты хочешь писать веб-интерфейсы. Есть много специальностей как около веба, так и просто в программировании. При чем, начать зарабатывать (если это твоя главная цель, а не "для души") в некоторых можно намного быстрее, чем в других. Почитай про них, выбери, что именно тебе интересно и уже ТОЛЬКО ПОТОМ выбирай инструменты (язык программирования, библиотеки к нему), которые тебе нужны будут для твоей деятельности. Раз уж ты инженер, то должен знать, что всё идёт по этапам - постановка задачи, анализ, разработка, тестирование, выпуск продукта. Так вот, грубо говоря, тот же верстальщик - верстает "внешнюю часть" сайтов, фронтенд-программист - обеспечивает правильную работу этой "внешней части", бэкендер - обеспечивает выполнение логической части сайта на стороне сервера, тестер - тестирует (внезапно). Есть еще архитекторы (баз данных и не только), сеошники, ui/ux-дизайнеры, менеджеры всех родов (тимлиды, cto,cio и тд), девопсы и тд. Часто их задачи пересекаются между собой и тот же фронтендер должен уметь верстать (а еще тестировать, ага). Итак - определяешься с тем, что ты хочешь - двигать кнопки по экрану, рисовать интерфейсы, писать обработку запросов к серверу, писать тесты или организовывать доставку кода в прод. Читаешь требования к выбранной специальности на самых начальных позициях (обычно это junior-разработчик). Выписываешь себе ВСЁ, что требуется. Потом сидишь и ищешь по каждому пункту как и что надо делать/ знать.
В-пятых, портфолио. Как в универе - сначала надо поработать на свою зачётку. Делаешь нормальные работы, которые ты хотел бы кому-нибудь продать. Ну, или купить. Всякие туду-листы, календари, пятнашки, простенькие бложики и чатики, змейки и тетрисы - классно, основы усвоены, задачи и уровень кю на кодварсе - здорово, алгоритмы чуток узнал. Но вот пара работающих сайтов с использованием нормальных не шаблонных фишек - это твоя гордость. С этим ты пойдёшь к работодателю говорить какой ты пиз...й специалист за 100500 тыщ зарплаты. Ты ж не пойдёшь к нему с тетрисом?
В-шестых, заведи гитхаб. Не хочется, а придётся. Одна из популярнейших систем контроля версий и инструмент командой разработки. Освой и потихоньку заполняй. Чем он "зеленее" каждый день, тем ты "круче" (нет). Потом уже освоишь закрытие ишью в открытых репах у крутых чуваков, звезды за выложенные тобой библиотеки, но это всё потом.
В-седьмых, сиди на стаковерфлоу и в профильных сообществах в телеге по выбранному тобой языку. У тебя будет куча технических вопросов на каждый чих. Ищи их на стаке и задалбывай ими всех в чатах. Все так делали, все это проходили. Это нормально, что тебе будет казаться, будто ты самый тупой. Это чувство не покинет тебя даже когда ты будешь тру-кодером с 15+ годами опыта. Не получится знать всё. Кто-то обязательно будет опытнее тебя в какой-то области. Дави в себе "синдром самозванца", пробуждай уверенность в себе.
В-восьмых, и не последних - качай свои "софт-скиллы". Это умение договариваться, обсуждать, продавливать свои идеи и признавать свои косяки. Умение работать с людьми - одно из самых важных в любом деле. Программисты не исключение. Так же как потом пригодится умение видеть картину целиком, умение думать больше, чем о технической реализации какого-то куска, а о бизнес-логике в целом. Ты будешь специалистом и тебе виднее, как решить задачи бизнеса в ТВОЕЙ области компетенций. Читай как крутые чуваки строят архитектуру приложений, какие проблемы решают, как косячат и признают это, что делают хорошо и потом успешно продают. Как говорит один человек - "люди работают с людьми". Программирование - это решение бизнес-задач путем внедрения программного продукта. Не забывай кому, что и для чего ты делаешь =)
Ну, и удачи, офк. Надеюсь, ты не перегоришь за первые полтора года, а потом через 3-5 лет снова, и таки станешь тру-программистом =) Пиши, если что.