Как вкатиться в программирование
Пост родился внезапно, сумбурен и не претендует на универсальную истину. Скорее, это одна из множества точек зрения, которая может кому-то подойти. Так сказать, поток сознания, основанный на реальных событиях.
Рисовать за день тоже не научишься
Изучение программирования мало отличается от изучения любого другого скилла - не всё будет получаться сразу, волшебного способа "вжух и 300к/нс" нет. Как я часто говорю своим потомкам: ходить вы тоже научились не с первой попытки, однако же не бросили пытаться и оно получилось.
Как себя мотивировать?
Чтобы не бросить, нужна мотивация. Деньги станут такой мотивацией только для очень целеустремлённых (либо тех, у кого нет альтернатив, сбивающих с пути). Предлагаю сделать мотивацией интерес ("фан"). Условно, выбрать какой-то проект (приложение, игру, сервис, сайт, телеграм-бота, etc), который будет вам будет интересно сделать не ради денег, а ради самого факта. И начать его делать на подходящем языке (js, python, java, php и прочее).
Здесь важно выбрать проект и технологию так, чтобы не пришлось учить сразу дофига всего разного. Условно, если кодишь игру, то не упирай на графон, а то очнёшься через месяц в Блендере, не написав ни строчки кода. Если делаешь веб-приложение, то выбирай простую архитектуру (монолит делать и поддерживать проще, чем микросервисы). Не дели фронт и бек, пусть всё будет на беке, ангуляры потом прикрутишь, когда поймёшь, для чего и надо ли вообще.
Ради интереса многие играют в игры по многу часов и это не напрягает. Кодить just for fun тоже не будет напрягать как кодить непонятную хрень ради мифических денег в будущем. Но, как разгадывать загадки в играх или трайхардить в солслайках, это преодоление себя, своих слабостей, которое в итоге тебя порадует.
Создание своего проекта заставит решать кучу разнотипных задач и язык выучится сам собой. Не пытайтесь делать идеально - если оно работает, то это уже збс. Улучшать уже написанное проще, особенно если нет опыта в проектировании ) Не бойся писать говнокод в своём проекте. Пиши как умеешь, главное - получить результат. Когда поймёшь, что код - говно, не расстраивайся, а радуйся - тебя настигло просветление. Такое просветление будет настигать тебя регулярно :-)
Не боги горшки обжигают
Не надо думать, что в компаниях все пишут идеальный код. Если код среднего качества выполняет задачи бизнеса и не ухудшает общую работу системы, то его даже улучшать не будут, так как тратить дофига бабок ради красоты кода - это про искусство, а не про бизнес. Это не значит, что дальше развиваться не нужно, это про то, что не надо впадать в перфекционизм при обучении. Со временем, когда набьёшь руку, хороший код будет получаться сам собой. А профессиональный рост будет способствовать получению более сложных задач - и уже жизнь приведёт тебя к тому, что будешь узнавать больше.
Я готов?
Джуну достаточно ориентироваться в синтаксисе языка, решать типовые задачки и уметь искать причины своих ошибок самостоятельно. Пусть не всегда получится найти ошибку, но не надо бояться читать логи ошибок и думать - этот навык, кмк, один из самых главных.
Как понимаешь, что можешь сделать типовой проектик - можно пробовать идти на собеседования. Джуну лучше гнаться не за деньгами, а за местом, где можешь вырасти. Если есть к кому ходить за советами, есть возможность поработать с разными задачами, то до мидла можно дорасти за полгода-год.
Если не уверен, готов или нет - сходи на собеседование. Да, тебе возможно будет неприятно, да и похер. Зато поймёшь, что спрашивают, что важно - за несколько месяцев (может и за один) прокачаешь и снова попробуешь.
Кратко:
Программист - это не тот, кто умеет писать на некоем языке программирования, а тот, кто умеет решать задачи бизнеса с использованием этого языка.
В жопу перфекционизм на стадии обучения.
Учиться ты будешь всю свою карьеру (подумой!).
Учить следующий язык будет проще :-)
Чот проповедь получилась какая-то, чувствую себя Димой Титовым (приятное ощущение). Сорян, дико не выспался сегодня и формулировать связные мысли сложно. Ну и напомню: это всего лишь одна из множества точек зрения. Путь у каждого свой.
Колобком
Лобком
Значит нужно бежать из таких компаний, поскольку любая система страдает от загнивания кодовой базы, она требует освежения в рамках тех. долга / рефакторинга
Можно конечно этого не делать, но придётся потом объяснять, почему внесение новых изменений будет занимать всё больше времени, а инфраструктура не может быть контейнеризирована в закупленный за миллионы деняк бизнеса openshift
Дружище, ну ты же понимаешь, что иногда лучше выпустить быстро, чем страдать перфекционизмом. Ну, с позиции бизнеса.
А не очень хороший код рано или поздно начнёт требовать рефакторинга. И тут бизнесу уже можно объяснить всё на языке денег (тоже полезный скилл, кстати). А если не захотят, то можно и бежать )
чёт не выкупаю, это сарказм или серьезно? потому что не дай бог тебе увидеть код старых сервисов МС/Яндекса/etc. там реально по 20+ лет не трогали
MES система для условного НПЗ или сталепрокатного завода не требует сверхъестественного функционада, тащемта многие промсистемы до сих пор на фортрановском говнокоде работают, и дешевле их просто не трогать, когда обслуживать станет дороже чем обновить, тогда и обновят
В нормальных компаниях джуны и мидлы об этом не думают. Для этого есть синьоры, аналитики, архитекторы
Подскажи эту магическую компанию где люди с радостью хотят рефакторинг плохой код?
Бизнесу обычно нужно решение здесь и сейчас, а так же как можно дешевле. В технические решения они обычно редко влезают.
Комментарий недоступен
В рисовании ведь так же работает?)
Душевный пост, согласен с тем, что лучше начинать все с just for fun, а не ставить себе каких-то жестких рамок. В процессе обучения уже сам разгонишься и поймёшь в каком направлении развиваться
Да. И не надо бояться выкинуть код на помойку и переписать - это неизбежно и в это нет ничего страшного. Как выкинуть неудачный набросок и начать рисовать новый )
Эту картинку мы ещё по аське друг другу скидывали
должно же в посте хоть что-то быть базированным
"Предлагаю сделать мотивацией интерес ("фан")."
Ну, это база всего.
для этого надо расслабиться и не ставить себе сроков. В нашем нервном, вечно спешащем мире не всегда удаётся (
А я когда вкатывался программировал ради программирования. Хотелось просто написать программу, у которого был ".exe" и ".dll" файлы, и всё. Любите программирование как оно есть, остальные мотивации не работают.
Это да. Но кто-то может захотеть, только после первого результата. Наверное…
Перепись титанов русского рэпа:
Встроил nocontext прямо в каменты, чтобы мы читали nocontext, когда читаем каменты
Слава Аллаху такие мотивашки не работают, а если и работают то никто никогда не идет в бэки после такого.
Нахуй мне конкуренция не нужна. Хочу пинать хуй на дохуя денег и продолжу
Аминь )
Рекомендую (сам правда запускал полтора раза всего, но купил лайфтайм подписку и скоро планирую вернуться):
https://store.steampowered.com/app/464350/Screeps_World/
ОФигенно! Джва года хочу написать что-то подобное (не того Деда назвали ленивым)
Сначала ты отправляешь сотни откликов, потом ты получаешь 0 (ноль) приглашений на собес, а потом пытаешься не впасть в отчаяние.
у программистов сейчас так бывает? Без подъёба, реально интересно насколько джунам сложно сейчас устроиться
Ещё хотелось бы упомянуть читаемость кода. Иногда вижу, как трайхардящие джуны выдают код, состоящий из самых новых фич.
кмк, такое приходит только с опытом командной разработки. Интересно было бы услышать ещё мнений на сей счёт )
Много чего умею, немало лет в геймдеве, но не программист. Осилил курс c# для геймдева на курсере, но без практики все это вникуда.
Все думаю покодить какой-нибудь несложный пет-проджект, но где б взять сил и времени, а главное, у кого бы консультироваться?
На большинство вопросов уже есть ответы в Гугле ) ну и наверняка есть профильные сообщества/форумы
У ChatGPT
Интересно, конечно, но я для себя понял, что это выше моих сил. Потому что это куда более комплексно, времязатратно и так далее, чем просто несложную модель в блендере по гайдам сделать, на которую условно несколько выходных можно потратить. Кмк, важна регулярность и достаточное количество времени. А у меня даже в игры после работы не всегда остается время или силы поиграть. Так это игры, то, что как бы нравится, интересно и расслабляет по умолчанию. А тут Обучение. Так что замкнутый круг, и на мой взгляд подходят либо людям, которые ничем не заняты, либо очень целеустремленным и с железной силой воли
а с блендером, кстати, нет такой фигни, что его одного мало для "сделать модель" и надо идти ковыряться во всяких збрашах и всяком другом?
Главное не начинать с rust а то можно довести себя до самоубийства
Неа. Проще сразу делать нормально, критерием нормальности служит простое добавление нового функционала, без переписывания всего. Это как дом строить. Будете пристрой делать, рухнет всё на фиг.
Приснилась как-то раз мне огромная змея
Если приходится задаваться таким вопросом, то тут что-то не так. Либо человеку просто не интересно это занятие, и тогда соваться в него не стоит. Либо у человека какие-то проблемы в области мотивации (психологические проблемы, либо банальные перегруз), тогда лучше в первую очередь решить эти проблемы.
Коротко и ясно. Сейчас активно впитываю всю информацию о языках, среде разработки, типах данных и синтаксисе Пайтона.
Расскажи свои историю о зарождении идеи стать программистом до той точке в который оказался сейчас. С чего начал, как учился, какие ошибки допустил, о собеседованиях, о первой стажировке, о первой постоянной работе и о своём участии в реализации полноценного проекта.
Это так не работает
Пройдут месяцы, прежде чем у вас получится что то сделать
Даже простой бот на питоне потребует изучения нескольких тем питонских. И хорошо если в процессе мозг не взорвется