Понять IT

Ни для кого не секрет, какая нехватка квалифицированных кадров в айти индустрии на данный момент. На фоне этого меня удивляют комментарии от программистов, которые периодически встречаются мне в интернете, в стиле “айти не резиновая”. Но я все-таки думаю, что айти из куда более эластичного материала.

Причина, по которым в айти сложно новичкам, в том, что большинство из них получают свои навыки на курсах “3 месяца и ты сениор”. В этом случае, как правило, новички успевают получить лишь прикладные навыки, вроде какую функцию вызвать при необходимости сортировки и как все это отобразить в строго определенных ситуациях, если разработчик очередной используемой библиотеки заранее предусмотрел за вас эту возможность.

Недавно, общаясь на работе с очередным разработчиком, я снова увидел, что крайне мало у человека понимания того, как все это работает “под капотом” и в связи с чем он даже теоритически не представляет, что нужно делать, чтобы избавиться от возникшей ошибки в программе. А ведь это понимание основ и дает возможность быстро обучаться новым прикладным навыкам, реализовывать то, что не было предусмотрено библиотекой, ну и найти новую хорошую работу, в конце концов.

Как мне кажется, начинать изучать программирование нужно аж с того, как работает электричество и как в домашних условиях можно собрать калькулятор. И я рад, что есть книги, которые подобному обучают, но почему-то новички, для которых эти книги и пишутся, очень часто подобное игнорируют. Начиная с абстракций и совершенно не понимая, как работает та же оперативная память, быстро выясняется, что их код оказался слишком неоптимизирован из-за того, что они пишут его, не понимая, что код делает на самом деле.

По этой причине я решил, изначально для себя, но вдруг кому-то тоже пригодится, раз в неделю публиковать самые основы, объясняя работу компьютера, немного прикладных навыков, ну и подробное объяснение одного из алгоритмов с примерами, где это может применяться. Постараюсь делать это все структурированно с нарастающей сложностью, чтобы у вас всегда был нужный багаж знаний для понимания новых тем.

Как я уже сказал, делаю я это и для себя, так как многие вещи начинаешь лучше понимать, объясняя другим. Плюс, я уверен, что кто-то дополнит или исправит и мои знания.

Прикладные навыки будут связаны с фронтэндом, так как именно в этой области моих навыков коммерческой разработки больше всего. Примеры алгоритмов будут на JS (не думаю, что это может быть проблемой и для будущех джавистов, питонистов и т.д., так как тут хоть на псевдокоде пиши - суть алгоритма от этого не изменится). Почему не TS? А зачем он в контексте алгоритмов, задам я встречный вопрос. TS оставим для разработки крупных приложений. Ну а основы (тот самый компьютер сайенс) подойдут вообще для всех, неважно, кем вы хотите стать в будущем.

Буду рад за любой фидбек и всем хорошего дня.

1010
7 комментариев

Комментарий недоступен

2
Ответить

"аж с того, как работает электричество" как бы два раза Ок. Но причем тут сразу JS и фронтенд? Я наверное уже ни чего не понимаю в этом мире и последовательности развития мыслей. Где ассм, си... в этом плане захвата мира?

1
Ответить
Автор

Как я сказал, что фронтэнд будет относиться к прикладным задачам, так как это моя основная область работы( плюс мобильные приложения и немного бэкэнд).
Понимание ассемблера в контексте прикладных навыков мне слабо представляется и его я вынесу скорее в рубрику понимание основ, хотя вот Си я пройду мимо скорее всего. У меня в университете начиналось все именно с Си, но как мне кажется, нет столь большой необходимости в этом :)

Ответить

а почему не на Хабре?

Ответить
Автор

Потому что у меня в планах писать о чем-то, кроме айти. Потому и подумал, что свой блог и эта площадка для этого должны подойти.
Может потом скомпилирую результаты всех статей и выложу на хабр в виде лонгрида

1
Ответить