не получается программировать что делать

Я застрял! — 5 советов как выйти из ступора и начать программировать

Авторизуйтесь

Я застрял! — 5 советов как выйти из ступора и начать программировать

Начать программировать может быть сложно, потому что мозгу нужно перестроиться от объектов реального мира к абстракциям. Рассказываем, как организовать обучение программированию так, чтобы минимизировать отвлекающие факторы и не застрять на полпути.

Подготовка

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

Картинка с сайта https://skillbox.ru/media/management/pomodoro/

Начало работы

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

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

Главное правило при встрече с багом — не паникуйте. Просто попробуйте сделать следующее:

Понимание

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

Применяйте знания на практике

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

Источник

Как учиться программировать: 6 вещей, которые я понял, учась на Хекслете

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

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

Какой язык программирования изучать первым? Неважно!

Не нужно тратить сильно много времени на выбор и мучаться этим. Берите Ruby, Python, JavaScript, PHP, Java, Lisp, да хоть паскаль — не ошибетесь. Для начала вам все равно нужно будет освоить базовые вещи, такие как циклы, условия, переменные, функции, объекты, рекурсию и т.п. Я когда-то в школе немного программировал на всяких бейсиках и C++, но к тому времени, как решил стать программистом, все это успешно забыл.

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

Новички так серьезно подходят к вопросу «Какой же язык программирования выбрать», будто им предстоит подписать договор с дьяволом, и всю жизнь писать только на этом единожды выбранном языке. Лично для меня просветлением стало, когда я увидел профили высокооплачиваемых программистов на бирже Upwork, почему-то очень во многих из них было написано примерно следующее — могу Django, могу Rails, а еще Meteor и Angular, да и Spring тоже. И Joomla само собой.

Потом я спрашивал некоторых знакомых (и малознакомых) программистов об их карьере, и увидел некий паттерн, которого раньше не понимал. Человек может, например, год работать с PHP, потом уйти на Java, потом плюнуть и выучить руби, стать RoR разработчиком, и в итоге заняться Node.js или Clojure. Любой нормальный программист знает несколько языков хорошо и десяток поверхностно. Поэтому не ломайте голову, не пытайтесь выбрать Самый Лучший Язык и строчить для этого тысяча первый вопрос на тостере. Просто берите любой язык и прочитайте по нему хотя бы одну книгу/пройдите курс. Попытки выбрать Самый Лучший Фреймворк из той же серии.

Про первую работу

Очень многие программисты начинают свою работу с весьма непрестижных компаний и крошечных зарплат. И это нормально. Но это сложно принять, особенно тем, кто решает «войти в айти» уже не в юном возрасте, имея семью и детей. Мифам об огромных зарплатах программистов зачастую способствуют школы программирования, которым нужно продавать свои курсы и в итоге на своих лендингах они крупным шрифтом пишут какие-то заоблачные цифры, вроде «средняя зарплата JavaScript программиста 150 000 рублей», при этом часто забывают сказать, что такую зарплату получают люди с опытом в несколько лет (или даже десяток лет), которые могут решать реальные сложные задачи, а вам после их курсов на старте светит тысяч 30 на испытательный срок, и это в Москве. А то и вообще попросят бесплатно поработать. За опыт и еду. Не нужно бояться идти на непрестижную и малооплачиваемую работу, потому что как только вы официально начнете работать программистом, даже за 20 тысяч в месяц, ваша привлекательность в глазах других работодателей и HRов сильно вырастет. На старте работу никто не мешает менять хоть каждые 3-6 месяцев, каждый раз уходя на бОльшую зарплату и более интересные задачи.

Но я, конечно же, не говорю, что нужно идти работать за еду, может конкретно вы найдете первую работу и за 100 000 в месяц. Просто нужно понять, что карьера тоже требует немалых усилий, и необходимо активно изучать рынок труда, время от времени общаться с рекрутерами и ходить на собеседования, чтобы адекватно себя оценивать в каждый момент времени. А первая работа — это не навсегда.

Читайте также:  куда можно сходить с отцом

Учиться программировать сложно

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

Лично я долго (слишком долго) учился на всяких курсах из серии «посмотри на меня, делай как я». Когда начал учиться на Хекслете, у меня от некоторых заданий просто мозг кипел, да и сейчас кипит. Одно задание я пытался сделать 3 дня. Но в итоге я прокачался, и теперь могу решать более сложные задания, чем раньше. Мне кажется, именно в этом должна быть цель хороших курсов программирования. Не в том, чтобы натренировать вашу память на запоминание 1000 функций из какой-то библиотеки. А в том, чтобы заставить мозг напрягаться и с каждым днем решать все более сложные задачи.

Про code kata

На определенном этапе (почти сразу после изучения основного синтаксиса одного из языков программирования), нужно набить руку в решении простых (хотя бы простых, для начала), алгоритмических задачек. Есть десятки разных сервисов, где это можно делать — codewars.com, exercism.io, hackerrank.com и т.п. Проскочить этот этап не получится. Если вы зашли на codewars и просто не понимаете, что от вас хотят, и как решать даже самые простые задачи первых уровней, срочно вливайтесь в какое-то сообщество, где есть программисты и единомышленники, изучающие программирование, и где можно будет задавать вопросы и получать помощь. Одно из таких мест — слак чат Хекслета. Если вы не научитесь решать эти простые задания, вероятность резиста того, что вы сможете решать какие-то реальные рабочие задачи, крайне мала.

Не нужно зубрить названия функций

Смысл вообще не в этом. Это дошло до меня как-то внезапно и совсем недавно. Вообще не надо пытаться насильно их запомнить. Я пытаюсь понять смысл, построить какую-то абстракцию, грубо говоря, сформулировать для себя общую концепцию того, что изучил.

Кстати, это очень полезная штука и для изучения иностранных языков, я лично просто ненавижу делать какие-то списки, карточки и зубрить слова. Особенно у меня вызывают желание ругаться матом наборы слов, вырванные из контекста, типа «100 прилагательных на тему Погода». Это просто нереально запомнить, а даже если и зазубрил сегодня, через месяц 80 процентов забудешь. Гораздо эффективнее просто читать/смотреть интересный тебе контент на языке и искать незнакомые слова в словаре каждый раз, таким образом через какое-то время самые употребительные слова запоминаются естественным образом.

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

Начните изучать разработку с бесплатного курса «Основы современной вёрстки». Вы научитесь создавать статические веб-страницы, стилизовать элементы, использовать редакторы кода с полезными расширениями. В конце курса вы опубликуете свой первый сайт на GitHub Pages.

Тупить — это нормально. (с) Елена Малышева

То есть люди, которые занимались программированием много лет, иногда тоже не могут самостоятельно разобраться в какой-то новой фиче, и совершенно не стесняются просить совета и помощи. Однако, с вероятностью 99% предварительно они пытались сами решить эту проблему, обратились к Google и Stackoverflow, но безуспешно.

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

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

Источник

Не получается программировать. Лень или не любимое дело?

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

проблемы с мамашей?

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

Работа — она такая, требует прикладывать усилия.

Разве что в последние выходные написал чат-бота для Facebook Messenger, интересно было.

Ну раз интересно, значит твоё. На работе скорее всего не интересная тебе сфера деятельности, язык, технологии и так далее. Она не обязана приносить удовольствие, работа зачастую и у большинства скучная.

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

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

Последний отпуск, который реально отпуск, а не ремонт/огород/прочее, когда был?

С первого курса у меня не получалась математика

Это первый признак, что программирование не для тебя.

Но это не было каким-то фанатичным занятием

Это второй признак. Нет, именно фанатизм, конечно, не нужен, но без серьёзной увлечённости нечего себя мучать.

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

А вот это может случиться с каждым. Может просто проект или целиком область работы тебе не интересна. Может быть стоит сменить сферу деятельности. Не в смысле с программирования на что-то ещё, а в смысле с веба на десктоп и наоборот, с фронтэнда на бэкэнд и т. п.

Читайте также:  на ноге появилось красное пятнышко что это

Бросай это дело. Я работал в банке, полгода, больше туда ни ногой.

Upd. ну если ток на пенсию.

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

Мой знакомый программист говорит что если работать больше 4 часов вдень то начинаешь тупеть и из-за этого перестаёшь справляться с задачами.

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

написал игрушку или компилятор?

Привыкай, с каждым полугодием станет ещё сложнее, просто ты взрослеешь.

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

Когда появятся дети, то будет ещё сложнее, у меня после рождения ребёнка ещё хватало немного времени на ЛОР и линуксы, потом всё. Удалил все дистры, на компе дома не появляюсь, там теперь винда для жены и детей с вконтактиками и прочим.

Прокрастинация прогрессирует, скорее всего. У многих сейчас похожие проблемы.

Может лоровчане тебе ещё что посоветуют.

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

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

И уже после окончания универа, на последней стажировке, что-то прострелило вдохновение и программирование не даёт мне особого удовольствия. Поступил в магистратуру на специальность «Информатика», работаю параллельно в банке программистом. И каждый день мне приходится прикладывать усилия, чтобы читать или писать код и документацию, а не отвлекаться на чтение соцсетей или хабра.

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

Источник

5 способов быстро победить ступор программиста

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

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

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

Давайте рассмотрим несколько наиболее распространенных причин кризисов программиста, и разберем, как с ними бороться.

Первопричина №1: Беспомощность

Первый крупный источник кризиса, особенно у новичков, — беспомощность. Это то самое ощущение перегрузки, которое заставляет вас «зависать» и сбегать от своих проблем, часами сидя на Netflix или бродя по Reddit.

Саму беспомощность можно разделить на две подпроблемы: недостаток знаний и трудности с управлением задачами.

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

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

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

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

Если же книги — не ваш конек, можете ознакомиться с несколькими курсами для программистов Udemy. Смысл в том, что после изучения максимального количества материала процесс программирования уже не будет казаться столь сложным.

Первопричина №2: Страх перед неудачей

Страх перед неудачей косвенно связан с идеей «перегруженности». Он способен влиять как на новичков, так и на бывалых специалистов. И, хотя поражает он не каждого, но страдают от него многие.

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

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

«Я никогда с этим не сталкивался, — говорил консультант по программному ПО и специалист по XML Билл Шиндлер. — Я не знаю, почему мы позволяем людям использовать такие глупые отмазки, как творческий кризис/ступор программиста… Единственное лекарство от кризиса программиста — начать программировать что-то, что угодно — точно также, как единственное средство против писательского ступора — начать писать».

«Мне нравится такая аналогия для медитации: дефрагментация жесткого диска, очистка кэша и удаление временных файлов», — пишет один из посетителей Slashdot.

Многие на собственном опыте доказали эффективность медитации для снижения уровня тревожности и «освежения» головы. Мы рекомендуем ознакомиться с этими бесплатными медитативными инструментами, они помогут вам начать. А вот такие приложения, успокаивающие ваш разум, способны творить чудеса.

Читайте также:  криптоарм старт можно ли подписывать документы

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

Первопричина №3: Бесцельность

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

Если мы заглянем в теорию мотивации, то обнаружим, что у нее есть 2 формы: внутренняя и внешняя.

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

В любой момент вы обычно действуете под влиянием множества факторов, являющихся смесью как внутренних, так и внешних стимулов. Но если вашим движением управляет только внешняя мотивация, то вы можете начать задаваться вопросом: «А что я вообще здесь делаю?»

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

Внутренняя мотивация состоит из мечты и цели. Заинтересованы ли лично вы в результатах своей деятельности? Согласны ли вы с целями и убеждениями своей компании? Есть ли у вас ощущение, что часть выполняемой работы принадлежит вам?

Если нет, то пора задуматься, куда вы могли бы себя «инвестировать». Ищите пути к созданию собственного проекта, даже на паях с кем-то. В худшем случае — если вы просто не можете отыскать внутренние стимулы — возможно, самое время сменить условия на более удачные.

Первопричина №4: Скука

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

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

Решение в том, чтобы найти способ снова бросить себе вызов.

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

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

«Я рекомендую программистам иметь 2—3 параллельных активных задания, над которыми он(а) может работать. Оказавшись в тупике, полезно переключиться и на какое-то время заняться чем-то другим, а потом вернуться к проблеме и взглянуть на нее с иной точки зрения»

Мало есть способов, столь же эффективно избавляющих от скуки, как смена деятельности, и программирование — не исключение. Иногда вам просто нужно что-то новенькое.

Первопричина №5: Выгорание

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

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

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

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

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

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

Как ВЫ боретесь с кризисом программиста?

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

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

Автор перевода — Давиденко Вячеслав, основатель компании TESTutor.

Источник

Строительный портал