Присказка
Немного о том, как я докатился до программирования. По образованию я — педагог-психолог, и уже 5 лет вполне удачно практикую эту профессию. Но, в связи с различными причинами, все чаще задумываюсь о переезде в другую страну. И так как в других странах язык и менталитет другой, без серьезного переобучения стать профессионалом в этой же области я бы не смог. Поэтому я начал искать более простые и интересные способы переехать и быть успешным.
Сначала я пробовал себя в тату (это практически не требует знания языка), но это совсем другая история. Потом мой коллега-друг, познакомил меня с JavaRush. Сначала я скептически отнесся к обещаниям сделать меня полноценным программистом в игровой форме и еще по такой скромной цене. Но потом деньги с дня рождения (не облагаемые «семейным налогом»), выбор между WOW и JavaRush… В общем, благодаря своевременной скидке, чаша весов перевалила в нужную сторону, и вот я тут.
Как всем нам должно быть уже известно, 90% Джавараша — это чистая практика. Вы учитесь решать задачи, вы учитесь искать недостающие знания в интернете. Все это хорошо, но чувство, что чего-то не хватает для полноты картины, не отпускало меня на протяжении 15 уровней. Я задумывался о поступлении в geekbrains, но (наверное, к счастью) тот же друг, вовремя меня остановил и познакомил меня с udemy.
Открыв этот кладезь знаний, я пошел на поводу у уговоров типа: «
Пс, друг, ты же новичок? Тут есть скидка для тебя…всего 3 дня, не упусти шанс!». Позже выяснилось, что там постоянно скидки, но не суть. Я сразу купил набор из двух курсов: Java с 0 до профи и Android, аналогичный. Вот тут и начинается наша история.
Успех или нет?
Проходя курс по Android, я получил домашнее задание сделать проект на основе полученных знаний. Я такой человек, что сделать просто или типично — все равно что не делать. Поэтому я начал усложнять себе жизнь сразу. Я обратился к человеку с самой развитой и живой фантазией, из всех, кого я знаю. Это моя любимая жена (да, она тоже будет читать эту статью). Она предложила сделать приложение, в котором будут картинки животных, нажимая на которые, будет воспроизводиться голос этих животных. Это была замечательная идея, но все-таки довольно простая.
Взяв за основу полученное предложение, я начал рассуждать:
- Надо, чтобы это приложение было не просто «Пшик!» (посмеялся и забыл), а оставляло после себя что-то. Например, обучало чему-то.
- Пусть это будет алфавит с животными. Но не просто алфавит, а английский!
- И не просто животные, а те, которых мало кто знает, чтобы еще и кругозор расширялся!
- А еще там должна быть анимация, озвучивание буквы и названия животного на английском и русском!
Вот это я понимаю задание (забыл сказать, что до Джавараш я был практически незнаком с программированием. А с момента активного пользования этим сайтом до момента старта проекта прошло менее 3-4 месяцев. Поэтому если вы в этом вопросе матеры и думаете «
Пф…что-то изменилось с первоначального варианта?», уверяю вас — да, изменилось)!
Первая сложность, с которой я столкнулся
Вот и я начал с абстрактного класса «Буква».Второй сложностью стало тоПоследняя трудностьXСтоит ли продолжать учиться программированию?Дальше последовали разочарования. Первое — домашнее задание нельзя было выложить в курсе. Я сделал работу, потратил кучу сил, чтобы выпендриться и не мог этого сделать.
Второе — приложение, которое я написал, полностью работало на эмуляторе и моем телефоне. Из запланированных пунктов я не сделал разве что анимацию, т.к. плюнул и решил, что допилю ее, когда пройду соответствующие уроки в курсе. Но когда я задумался о распространении приложения, я столкнулся с интересной проблемой. Решив проверить на другом телефоне и планшете, является ли мое приложение оптимизированным под разные экраны и версии андроид, я столкнулся с неизвестной ошибкой. Программа просто завершала свою работу при переходе к букве. Я пытался найти корень проблемы, познакомился с логами, которые по сравнению с четкими Java эксепшенами, казались еще большей абра-кадаброй. Интернет мне не помог.
С одной стороны, я сделал рабочее приложение, которым нравится играться моим детям, с другой, оно работает только на моем телефоне. По-моему, это забавно. Конечно, я расстроился, но проводя рефлексию, я сделал вывод, что получил большее чем потерял:
- Я улучшил свое умение справляться с критикой своей работы.
- Осознал ценность знаний и опыта проектирования.
- Повысил свою самооценку в области программирования.
- Осознал необходимость изучения паттернов программирования и основ рефакторинга.
- Ну и конечно, теперь у меня есть собственное приложение, которого больше ни у кого нет и скорее всего не будет. =)
«Я знаю, что ничего не знаю». Выполняя подобные учебные проекты, можно хорошо проанализировать свои знания и пробелы в них, а также наметить пути дальнейшего развития. Стоит ли дальше учиться программированию, если понимаешь, что все приложенные усилия за довольно продолжительный этап твоей жизни сдвинули тебя с 0 разве что на +0.001? Для себя я ответил, да. А вы?
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ