Академический Документы
Профессиональный Документы
Культура Документы
Рис. 12. Ощущения двух разных людей при прохождении одного и того же пути
Итак, моей задачей было написать код, чтобы все это заработало. Я
посмотрел первую часть обучающих материалов и успешно создал
первый экран с формой. Первый этап пройден, ура! Я почувствовал
воодушевление, потому что у меня все получилось и результаты
учителя полностью совпали с моими. У него работает, и у меня
работает. Все счастливы!
Затем я приступил ко второму этапу. И тут мой темп продвижения
начал снижаться. Это произошло потому, что сложность материала
возросла. Делая паузы в процессе просмотра видеоролика, я строчку за
строчкой повторял код, который написал учитель. И тут выяснилось,
что у него все работает и он собирается переходить к следующему
этапу. А у меня при отправке данных приходит ответ с ошибкой: «500
Internal Server Error».
Что делать? Конечно, я пошел в поисковик и начал изучать причины
возникновения этой ошибки. Я расстроился, поскольку полностью
повторял то, что учитель писал на экране, но результаты у нас разные.
В такие моменты я чувствовал досаду, что курс не может
предусмотреть подобные сценарии и ошибки, которые могут
случаться, если что-то пошло не так.
Я проходил через это огромное количество раз. Более того, когда я
уже сам был профессиональным программистом и создал свой курс по
разработке на Android, я пытался разобрать самые распространенные
проблемы в своих видео и акцентировать внимание учеников на том,
как искать решение проблем, если я о чем-то не рассказал. Тем не
менее ошибки, причину которых им не удавалось понять, все равно
появлялись. Причем не где-то в середине курса, когда человек уже
пишет сложный код, а даже на самых первых уроках, когда мы просто
устанавливаем программу для разработки на компьютер.
Поэтому я сделал вывод, что появление непредвиденных ошибок –
естественная часть процесса обучения.
Но вернемся к моей проблеме. Столкнувшись с ошибкой «500
Internal Server Error», я начал разбираться в этом вопросе, пытаясь все
починить. И в один прекрасный момент мне это удалось. Но, смотря
видео про причины возникновения ошибки 500, я выяснил, что
существуют и другие типы ошибок:
● 501 HTTP Error (Not implemented),
● 502 HTTP Error (Bad Gateway Error),
● 503 HTTP Error (Service Unavailable),
● 504 HTTP Error (Gateway Timeout Error),
● 505 HTTP Error (HTTP Version Not Supported).
И тут у меня возникла мысль, что было бы неплохо изучить и
остальные типы ошибок – на всякий случай, чтобы в дальнейшем
иметь о них представление и уметь с ними справляться.
Вот тот момент, ради которого я и пишу эту главу. Потому что здесь
очень важно вовремя остановиться и не углубиться слишком сильно в
материал, который не относится к курсу. Вам нужно двигаться дальше.
Максимум, что я порекомендовал бы сделать, – это посмотреть одно
видео, где просто делают краткий обзор всех ошибок, но не начинать
изучать каждую из них по отдельности. Другими словами, если ваша
ошибка исправлена и вы можете продвигаться вперед – лучше именно
так и поступить.
Подводя итог этой главы, отмечу несколько основных моментов.
● Обучающие материалы можно условно разделить на две части:
материалы курса, по которому вы двигаетесь, и дополнительные,
которые позволяют продвигаться дальше.
● Если курс был выбран правильно и вы хотите дойти до конца, то
материалы основного курса должны быть изучены полностью.
Перескакивать через них нельзя. А вот изучение дополнительных
материалов не обязательно, поэтому при работе с ними нужно
контролировать себя и задавать себе вопросы: «А действительно ли
мне сейчас нужно тратить на это время и как это поможет
продвинуться дальше?»
● Сценарий, когда возникают непредвиденные ошибки либо когда
результат на вашем экране не соответствует результатам на экране
преподавателя, – это нормально. Так будет случаться постоянно,
поэтому относитесь к этому как к части обучения. Могу сказать
больше: даже когда вы уже станете профессиональным
программистом, вы все равно будете постоянно с этим сталкиваться.
Мой алгоритм поиска решений
проблемы
Оптимизировав процесс изучения материала и научившись вовремя
говорить себе «Стоп», я почувствовал, что стал очень избирательно
относиться к тому, на какой материал я трачу время и стоит ли он того.
В итоге это позволило мне в течение долгого времени сохранять
скорость продвижения на оптимальном уровне. То есть если поначалу
я постоянно тормозил и топтался на одном месте целыми днями, а то и
неделями, то теперь я практически не снижал скорость до нуля и не
тратил на поиск решения проблемы больше времени, чем требовалось.
Проблемы, как я уже говорил ранее, – часть каждодневной работы
программиста, и с этим нужно свыкнуться. Но незаметно для себя я
обнаружил, что в процессе ежедневной практики у меня выработался
свой алгоритм поиска и решения проблем. Оптимизировав этот
процесс тогда, я до сих пор продолжаю совершенствовать его в своей
профессиональной практике. И в этой главе я хочу детально и с
примерами рассказать о нем. Этот алгоритм действий подходит как для
новичков, так и для тех, кто потратил какое-то время на обучение и
уже имеет небольшой опыт. Освоив этот алгоритм единожды, вы
сможете использовать его в своей практике снова и снова.
Бонусы
Если вы хотите получить дополнительные материалы, пройдите по
ссылке ниже.
https://borisproit.expert/bonuses-for-prime-book/
Примечания
1
Подробнее ознакомиться с результатом исследований можно по
ссылке: https://vc.ru/hr/102737-issledovanie-bolshe-poloviny-specialistov-
prishli-v-it-iz-drugih-sfer.
Вернуться
2
В моем понимании мотивированное самообразование – это когда вы
получаете образование самостоятельно, выбрав какую-либо
конкретную цель, которой можно достичь, получив определенные
знания. – Прим. авт.
Вернуться
3
Это утверждение справедливо, по крайней мере, для front-end-
разработчиков, многие профессиональные разработчики наверняка со
мной поспорят. – Прим. авт.
Вернуться
4
. https://www.zippia.com/software-engineer-jobs/demographics/.
Вернуться
5
. https://www.zippia.com/software-engineer-jobs/demographics/#age-
statistics.
Вернуться