Как сократить программу обучения?
Коллеги, имею цель перейти в разработку внутри банка (ныне эникейщик). Желаемый стек - Java. Ранее было получено высшее образование в этой сфере, но знания и навыки (которых было ничтожно мало) давно улетучелись.
После прочтения этого и других ресурсов, а также общения с рядом людей, составил такую программу обучения:
1. Математика (5-11 класс);
2. Информатика (7-11 класс);
3. Программирование на "Паскале" (по книге "Песни о Паскале").
4. Язык "Си" (чтобы лучше въехать в "азы", как посоветовали люди);
5. Алгоритмы и стр-ры данных (по книге Н. Вирта).
6. Далее - изучать стек Java.
Вопросы:
1) Насколько корректна такая программа обучения? Нужен ли "Паскаль"? Читаю эти "Песни о Паскале". Доступным языком написана, но возникает ощущение, что это прям тягомотина. И нужен ли "Си"? Мне кажется что, "Паскаль", что "Си" - просто потеря времени...
2) Если с математикой дела так себе (задачи решать не умею, абстрактное мышление не развито), то стоит ли без её повторения переходить к алгоритмам и структурам данных? Полистал книгу "Алгоритмы и стр-ры данных" Никлауса Вирта и... ничего не понял... Будто эльфийский язык перед глазами...
P.S.: на обучение закладываю года два минимум... После работы заниматься тяжеловато, часик примерно могу уделить. Ну и на работе стараюсь обучаться, когда время есть. Поэтому сейчас программу обучения корректирую, чтобы уж не учиться ради вхождения в профессию много-много лет...
О, у меня де жа вю. Ты больше не хочешь в начальники? Это хороший признак. https://otvet.mail.ru/question/232989979
Современные банки в РФ практически не разрабатывают наукоёмких вещей. Платформы, компоненты инфраструктуры, даже алгоритмически сложные бизнес функции - всё обычно покупается у продуктовых вендоров. Если это крупный банк с претензией на "свой стек", то он может даже выкачать продукт с гитхаба и прилепить к нему свой шильдик зелёного, синего или любого другого цвета. Особо амбициозные могут даже скачать Линукс и назвать его своей операционной системой. А если банк невелик, то у него и вовсе нет ИТ-ресурсов на разработку полноценного продукта, поэтому там программисты наскоро прибивают всё костылями. В РФ даже инвестбанки не разрабатывают своих платформ, а всё покупают, в то время как на Западе это основной потребитель и фабрика высококвалифицированных ИТ-кадров.
Отсюда основной принцип: программист в банке должен быть послушным, командным, идти путём наименьшего риска и уметь гуглить кем-то другим разработанные решения. Свои писать - долго и рискованно, вдруг не угадаешь день закрытия задачки, или вообще ужас - не уложишься в спринт. С т.з. функционирования банков эти укладывания в спринт не нужны, но менеджеры сами поставили себя таким образом, что кроме соблюдения из пальца высосанных сроков им нечем торговать, и все, кто под ними, должны помогать им ставить галочки достижений проекта к нужным датам.
Техническая задача программиста в банке состоит в том, чтобы налепить формочки, модель данных и цепочки вызовов, как написано аналитиком, и сделать это в срок (неважно, если он взят с потолка, главное - он утверждён). Ещё нужно бодрячком отчитываться на утренних планёрках, ходить вовремя на работу, бегать собирать информацию у гуру из соседних команд и шаманить со сторонними фреймворками и библиотеками. Если аналитиков нет, то и постановку задачи делать самому для себя.
Больше по сути ничего не надо. Программирование? Если ты хочешь стать программистом, то в банк идти не надо. В банк такие люди если и попадают, то занимаются там чем угодно, но не программированием. Они становятся менеджерами и админами с навыками написания кода. Хотя им в уши льют, что интеграция кем-то другим написанных компонент тонкими прослойками кода и торговля датами готовности фич - и есть программирование, но потом они с треском проваливают собеседования на позиции, где требуется глубоко разбираться в теме по всему стеку. Максимум - изучишь основы языка для формошлёпов (например, Java), пару простейших архитектурных паттернов и научишься делать простые приложеньки на Спринг Буте или что в этом банке в данный момент модно.
В общем, до возможности зарабатывания денег ремеслом ты можешь дорасти быстро. Школьную математику лучше отложи. Читай отдельные главы по мере необходимости. Школьная информатика даже в СССР была слабой, а сейчас это бесполезный сборник надёрганных из разных мест математики фрагментов информации без какого-либо понимания. От алгоритмов дальше первых 5 глав тебе вряд ли что-то понадобится в банке. Бинарный поиск, сортировка Хоара, хэш-таблица - это топовое знание алгоритмов у разработчиков в банках. Вообще согласно принципу минимизации риска, тебя скорее всего поставят кем-то вроде админа стендов или главным по 3-й линии поддержки и по общению с сопровожденцами, так что даже формы шлёпать ты будешь по минимуму. Если такое произойдёт, то не спорь с ними, а лучше потихоньку торгуйся за увеличения доли написания кода уже во время работы.
Оборотная сторона такого "программирования" - в том, что можно навсегда остаться в болотце и так в полноценное программирование и не перейти. Но ты вообще подумай, оно тебе надо или нет? Скорее всего ты бы занимался этим с 14-ти лет, если бы это было твоё.
По математике посоветую Киселева, старые учебники по алгебре/геометрии, ну и любые задачники для закрепления пройденного
Если Вирт "не зашёл", то "Песни о Паскале" пропускать не надо. Книга нужна по рекурсию включительно
Си - под вопросом, это несколько другой уровень, язык ближе к низкоуровневым находится
>После работы заниматься тяжеловато, часик примерно могу уделить. Ну и на работе стараюсь обучаться, когда время есть. Поэтому сейчас программу обучения корректирую
Если ты спросишь в бухгалтерии, сколько у тебя рабочих дней в году, ты ВНЕЗАПНО обнаружишь, что их примерно 200. Что кагбэ оставляет тебе еще примерно 155 дней на учебу. Взрослый человек может изучить один класс метематики дней за 10, максимум - 15. Последний год - ну 20.
Посему никакая коррекция тут не нужна, тут на год работы максимум.
«в разработку внутри банка (ныне эникейщик)». Если вы уж работаете в банке, то вероятность перейти есть, но можно узнать у ваших. В банк не так просто и берут, проверки, отборы и т.д.
«Ранее было получено высшее образование в этой сфере, но знания и навыки (которых было ничтожно мало) давно улетучелись» — а как это, что-то должно остаться, зачем повторять математику и информатику и тем более паскаль. Не, если тяга есть делать программы, то быстро пробежаться и вспомнить можно. Си — это да, но если будете работать с Java, то зачем и с++ изучать и си, уж точно в работе не понадобиться, тупо изучайте Java, базы данных используемые в банке и т.д.
«После работы заниматься тяжеловато, часик примерно могу уделить» :) да я уже здоровье не имею до утра сидеть, так что забрасываю этот код, а ты говоришь, что только часик. Да в больших городах ложатся в 12 или час ночи, встают рано и дальше пахать, а уж когда в возрасте, то уже не можешь столько времени работать, если весь день тебя выжимают. Знакомый работал да вечером получал образование по специальности, так что вполне годный вариант договорится с вашим программистом что будет за деньги вечером час-два натаскивать тебя на работу.