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