Воззап
Тема для меня очень актуальная. Я школьник, учусь в 11 классе, занимаюсь программированием большую часть своего свободного времени. Сначала предыстория, чтобы обозначить мое положение в мире IT, обучения, работы и по списку.
Предыстория
Я начал программировать в 12 лет. Ходил на курсы по 3д моделированию (о да, я хотел делать игры), познакомился с парнем, который учил html, css по видео курсам. Для меня это было откровением, потому что я считал, что это очень сложно, непонятно. Моим опытом было создания сайта на юкозе мышкой и "о ужас, я все испортил", когда случайно зашел в редактор html блока.
Курсы были вполне годные, за пару недель я обогнал его и стремительно учился дальше. В 12 лет не так легко целенаправленно что-то читать, изучать конкретную тему. Гораздо легче для меня было придумывать идею (опять же, я их даже не придумывал — я сидел в школе и вдруг меня осеняло: вау, как классно было бы сделать сайт, в котором...). И до конца уроков я продумывал все, что мог продумать, прибегал домой, максимально быстро делал уроки и садился за комп. Дальше был сложный этап — как узнать как сделать что-то, если ты впринципе не представляешь, что тебе нужно. Максимум, что ты можешь — описать проблему, лаконично, с ключевыми словами, и тогда, может быть, ты найдешь ответ. Может даже на русском языке. Скажу сразу, что с английским у меня в 12 уже было довольно неплохо — ходил на курсы, все тип топ. Но роднее читать на русском — большой массив текста на русском языке пугает меньше, чем на английском.
Сложно было научиться писать сервер — поверьте, в 12 лет очень сложно скачать денвер, установить интерпретатор PHP даже по урокам. Но спустя некоторое время получилось.
Затык был на базах данных. Я долго долбился с запросами, чтобы хотя бы подсоединиться к MySQL. Каким я был крутым, когда наконец смог, это класс. Но тем не менее, это было похоже на большую темную комнату, где тебе нужно найти фонарик, чтобы от этого фонарика ты мог уже идти дальше легче. Классная ассоциация, да?
После сайтов я захотел научиться какому-нибудь серьезному языку. Скачал visual studio express, но написал функцию внутри функции — это, естественно, не скомпилировалось, и поругался на этот C++ и скачал NetBeans. Мне повезло и я написал свой первый метод не внутри public static void main
. Так я начал учить джаву, на которой писал еще очень долго. Опять же, проекты были разные и сами возникали — например, сделать голосового помощника, как у Тони Старка( я балдел и балдею по железному человеку). Когда гуглишь, гуглишь, гуглишь, то рано или поздно начинаешь привыкать к тому, что практически все можно нагуглить, узнать и изучить. И это оказывается не так сложно. Главное научиться учиться — в комменте под одним из постов на эту же тематику( по моему, со стороны студента) был этот комментарий, и я с ним полностью согласен. Уметь учиться — очень важно и, как мне кажется, является ключом ко всему.
В 10 классе учительница по ИКТ скинула мне пост ее друга, которому нужен был помощник в проекте. Язык — Java, который я к тому времени уже знал очень даже хорошо. К тому времени я уже успел от него отказаться в сторону Scala, но все равно не забывал. Сделал тестовое задание, где нужно было написать кусок кода для определения дней программистов, по моему, и написать тесты к нему. Он взял меня довольно скоро, потому что было не так много желающих и, как он сказал, уровень и энтузиазм был ниже. А я очень хотел работать: 10 класс, в школе вообще ничего не делаешь, времени много, свои проекты уже от чистого интереса начинают интересовать меньше. Хочется делать какой-то реальный продукт, полезный.
Я проработал там 3 месяца, после чего ушел. Платили 300 рублей в час — я был вполне доволен, да и работа была довольно интересная, но… Скучно. В основном задача была — дается ТЗ, ты в нем разбираешься ( тематика — индийская астрология), а потом пишешь немного кода. Я больше разбирался, чем писал и меня это не устраивало. Все равно человек, которому я помогал, дал мне очень сильный буст в плане серьезного программирования и отношения к работе. Так же он рассказал мне про Балтийский Научный Инженерный Конкурс.
За пару дней я написал функциональный реактивный аля React, но не React фреймворк на Kotlin Javascript SDK, занял 3 место, но это не важно — на конкурсе ко мне подходили 3 раза предложениями о работе. Я выбрал самое интересное — разработка мобильных приложений на React Native. Может, совпало, что тема проекта была схожая с работой, не знаю, но я начал там работать.
К слову, когда мы договаривались, я не знал о React, React Native ничего, буквально — "синтаксис для компонентов как HTML".
За неделю я обучился азам, react native, которых мне хватило, чтобы начать работать. Первое мое приложение я переписывал. Сначала написал, зная "азы", потом переписал, посмотрев другие проекты, поднаторев в самом RN. Получилось довольно годно, было круто. Оплата по проектам была, а не по времени — и это здорово, больше мотивации делать.
Работал я там до конца лета, сейчас в 11 классе не собираюсь, ибо ЕГЭ и все такое.
Тезисы
Вот такая предыстория. Долгая конечно, выглядит немного как "смотрите я вообще шарю и школьник, да да". Но написал только для того, чтобы сейчас, имея свою историю перед глазами, написать свои тезисы и мнение.
- Учиться — легко. Меня всегда раздражали фразы от друзей, аля "это же так сложно". Сложно, если не хочешь учиться, если тебе это не интересно. Если ты заинтересован, то мотивации должно быть предостаточно
- Учиться есть где. Стартовая точка — всегда была и будет одним из самых сложных этапов, особенно в IT. Если школьник, то обычно идешь на курсы — в школе программирование редко более-менее хорошее. Однако УВЕРЕН, что практически везде можно подойти и прямо спросить то, что интересно. Взрослый человек, тем более учитель, тем более учитель ИКТ, наверняка хотя бы знаком с гуглом, может нагуглить тебе онлайн уроки, если лень давать дополнительные задания и заниматься лично. Если учитель ИКТ не знаком с гуглом, то ситуация не из легких, однако пойти на курсы всегда посоветует. После этого нужно ткнуть родителей, чтобы они нашли тебе курсы))
- Учиться нет времени. Коммон, мен? На что ты тогда тратишь время? Если тебе нужно научиться программированию (или чему либо), то ты должен иметь на это время. Любой может говорить, что хочет научиться делать Falcon'ы, но у него нет времени. Это неправильно. Если хочешь заниматься программированием первично, то есть, оно в приоритете, то на него НУЖНО тратить немало времени. На любое обучение требуется немалый кусок твоего времени.
- "Учитель лох, трусы в горох. Меня плохо учат!!!". Такое тоже может быть, верю. Преподаватель может быть незаинтересован в рассказывании предмета всем подряд. Да, для него это тоже может стать рутиной. Так черт возьми, возьми его за плечи, потряси, покажи, что это тебе интересно. Ведь когда-то он горел идеей делать крутых программистов. Велики шансы, что тебе пойдут на встречу. Какую-нибудь помощь предоставят точно. А если нет, то учись сам. Ресурсов очень много, форумы, бла бла. Серьезно, материала очень много. Не становись сам "лохом с трусами в горох". Будь сильнее, если тебе это нужно — учись.
- Преподаваемые предметы устарели, как и преподаватели. Тут ситуация очень реалистична — уверен, такое много где. В таком случае, как мне кажется, нужно получить максимум полезного из уроков, а то, что нужно ТЕБЕ, учиться этому самому. Если ты конечно уверен, что это именно то, что тебе нужно. Может, преподаватель все-таки опытнее, но если честно сомнительно. В любом случае — расширение кругозора это хорошо.
- Работа. Здесь не так уж и просто, на самом деле. Я еще школьник, но кажется, что в вузе получить работу будет сложнее, хех. Школьников, которые готовы подтвердить, что они могут и хотят — единицы, а студентов — много. В хороших вузах, вроде ИТМО, часто наведываются работодатели, насколько я знаю. Если так, то неплохо. Важно только быть действительно сильным в своей области относительно других — конкуренция всегда поджимает.
Небольшой итог
Не знаю, зачем он нужен. Я вроде и так уже много раз сказал, что считаю самым важным умением программиста — адаптироваться, где адаптироваться = уметь учиться.
Есть мнение, что ленивый программист — хороший программист. Я с ним не очень согласен — оно тру, когда ты уже программист и решаешь конкретную проблему, и твоя лень вынуждает тебя искать простые пути реализации. Зачастую можно полениться и сократить код или упростить архитектуру приложения. Но вот если ты вроде начинающий программист, то лень — главный враг. Враг возможностей. Да, наверное так я и закончу.
Если интересно — сейчас работаю над проектом memed(сайт).
Группа бета теста ВК
Чики пау, бинго бонго и джимбо джамбо.
Автор: enchantinggg