Ответы пользователя по тегу IT-образование
  • Как повысить базовые знаний архитектуры?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Попробуй начать ходить по собесам в поисках дистанционных вакансий в своем стеке на позицию мидла. Как вариант даже лучше пойти в аутстафинговую компанию, там за пару лет можно пройти через несколько разных проектов и изнутри изучить и процессы, и архитектуру и вариации стека и пр. Параллельно можно читать книжки, смотреть ролики про архитектуру и далее развиваться в этом направлении.

    Оффлайн отходит на второй план, сейчас многие компании научились в онлайн, что вообще снимает вопрос о географии.

    На среднесрочную перспективу качай инглиш хотя бы до B2, тогда тебе откроется еще и зарубежный аутстафф с чуть более другими рейтами. :)
    Ответ написан
    Комментировать
  • Где искать информации о основах основ программирования?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    То о чем Вы спрашиваете, называется Computer Science. Гуглофпомасч. :)
    Ответ написан
    Комментировать
  • Как "перепрошить" мозг будущему программисту?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Сдается мне батенька тут лукавит. Ищет легких путей, которых нет и быть не может.

    Скажу просто. Не даются сложные задачи - решай более простые. Не даются более простые - решай совсем простые. Много, активно и интенсивно. Это то же самое, как если бы начинающий пианист гонял целыми днями гаммы и арпеджио.

    Повторюсь. Никаких других чудесных - путей нет и быть не может.

    Хочешь научиться решать задачи - прорешай задачи 1000 часов как можно более интенсивно, хотя бы по 3-4 часа в день, и научишься без вариантов. А нет - так и нет.

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

    А в целом я просто думаю что это не твоё и ты зря себя так мучаешь.
    Ответ написан
    Комментировать
  • Как быть хорошим junior?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    От разработчика требуется:
    1) Получить задачу, иногда приходится побегать за представителями заказчика и повыпытывать, что им вообще требуется. Некоторые контрагенты весьма неразговорчивы, лаконичны, детали выдают с большим трудом и скрипом, весьма неохотно.
    2) Вникнуть в суть задачи, сформулировать результат, согласовать результат, а, иногда и процесс достижения результата, с заказчиком.
    3) Согласовать фронт работ и стоимость.
    4) Реализовать задачу
    5) Представить результат заказчику, согласовать разногласия, провести доработки
    6) Обеспечить 100% удовлетворенность заказчика.
    7) Оформить документацию и получить оплату.

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

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Я на кодварсе гоняю желающих вкачать алгоритмы и структуры данных, хотя бы до 4 кью надо вкачаться имхо.

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

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Всё, что умеет компьютер - это взять данные "там-то", что-то вычислить, положить или отправить "туда-то"... Весь сложный функционал крутится вокруг этих простых функций. Поэтому без структур данных и алгоритмов никуда.

    У каждой структуры данных своё предназначение. Есть относительно простые структуры, например плоский массив. Есть сложные навороченные структуры, типа JSON на мегабайты, но они всегда комбинируются из простых.

    Есть простые алгоритмы, например просуммировать все числа из массива, или вычислить среднее. Есть сложные алгоритмы, которые так же комбинируются из простых.

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

    В целом это и есть процесс программирования. И тут нужно 99% упорной практики и щепотка теории.

    Если достаточно упорно и долго практиковать, то со временем, многие решения уйдут на подкорку и будут получаться автоматически, не задумываясь, тогда можно переключаться на более сложные абстракции, типа паттернов и пр.
    Ответ написан
    Комментировать
  • PHP+JS Трудности с выбором учебно-боевого проекта?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Если нет опыта успешного и эффективного решения олимпиадных задач, то ситуация патовая.
    Ответ написан
  • Где найти критерии вёрстки из HTML Academy?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Ответ написан
    Комментировать
  • Какой путь изучения программирования выбрать?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Ухх как все сложно...

    Чтобы научиться плавать нужно, для начала, зайти в воду... Стоя на берегу плавать учиться затруднительно.

    Если бы я так заморачивался в своё время, то даже не начал бы.

    Нужно однозначно научиться решать олимпиадные задачки, манипулировать данными, строить простые алгоритмы, освоить основные приемы.

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

    Далее нужно научиться рекурсивной декомпозиции. Софт скиллы решают, потому что далеко не всегда тебе будут сгружать продуманное готовое задание. Гораздо чаще тебе придется выяснять, задавать наводящие вопросы, уточнять, переуточнять.

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

    В процессе ты так же будешь осваивать инфраструктуру, пополнять контексты, приобретать дополнительные знания.

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

    Если ты владеешь английским, то дела пойдут веселее, т.к. адекватных материалов, документации, обучающих роликов на инглише на порядок больше, чем на русском. Если нет, то грусть и печаль.

    Вот как-то так. Дорогу осилит идущий, но нужно постоянно делать следующий шаг.

    Ну и напоследок - в программировании очень решает оперативная память. Нужно в голове удерживать массу фактов одновременно, иначе получается фигня. Поэтому прокачивай оперативную память...
    Ответ написан
    Комментировать
  • Есть ли хорошие источники для изучения ReactJS?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Всё зависит от твоего предыдущего опыта. Если ты уверенно умеешь программировать на любом языке, это одно дело. Если нет - другое. Если ты уверенно чувствуешь себя во фронтенде и можешь, в принципе, решать задачи на голом html+css+js, это одно. Если нет - другое.

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

    А вот если на один из вопросов выше ты ответил отрицательно, то в реакт тебе пока рано, и надо подтягивать базу.
    Ответ написан
    Комментировать
  • Программирование - что для старта выучить ребенку?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Я начал в 13, сам. Причем до этого попробовал разные компьютерные игры - не зашло.

    В некотором смысле программирование - это авторитарная диктатура. Я диктую машине что делать, а она выполняет моментально и беспрекословно. Или не выполняет, если я натупил... Пёрло меня с этого нипадецки. Плюс никто не объяснил вовремя, что это трындец как сложно. А потом стало получаться...

    Программирование бывает разное. Есть математики-аналитики, которые мыслят алгоритмами. Лично я художник-композитор по натуре, и мыслю образно. Но, в любом случае, программирование требует дисциплины мышления и развитую оперативную память. В памяти нужно постоянно и одновременно удерживать массу фактов, иначе рабочего кода не получится.

    В целом я бы сказал, что к программированию склонны далеко не все. Частенько занятие это достаточно муторное, рутинное и даже скучное.

    Моему сыну сейчас 12 и он вроде как пытается пойти этим путем. Я его не форсирую. Если обращается за помощью - помогаю, но ровно на столько, чтобы он сдвинулся с мертвой точки. За него его работу я не делаю принципиально. Это жизненно важно для программиста - уметь самостоятельно разруливать весьма сложные тупики, разбираться в нетривиальных засадах. Совершенно не факт, что он именно в эту сферу двинет с годами, но некоторые навыки программирования никому лишними не будут в наши времена.
    Ответ написан
    Комментировать
  • Какой клавиатурный тренажер посоветуете?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    ИМХО лучший клавиатурный тренажер всех времен и народов у Шахиджаняна, давным давно когда я этим вопросом интересовался он назывался "Соло на клавиатуре". Вроде нынче существует онлайн версия.
    Ответ написан
    1 комментарий
  • Поможете выбрать ресурс по изучению JS?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Я наставничаю в той самой htmlacademy, и частенько студенты приходят, не умеющие программировать от слова совсем. Им курс дается тяжело, приходится их вытягивать буквально за жабры и разжевывать все мелочи, что, в целом, в мои обязанности и не входит вовсе.

    Поэтому перед академией я настоятельно рекомендую на три круга прослушать под запись курсы Zorax Или JavaScript weird parts на ютубе, почитать/послушать Кантора, это раз.

    Прорешать 30-40 задачек на кодварс (я там прокачиваю некоторых своих студентов), это два.

    И вот уже после этого идти в академию, тогда от курса будет максимальный толк и отдача.
    Ответ написан
    1 комментарий
  • Как (и возможно ли) дотянуться до Junior JavaScript Developer в кратчайшие сроки?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Во первых: совершенству нет предела.
    Во вторых: невозможно объять необъятное и впихнуть невпихуемое.
    В третьих: как ты не крутись, а технологии развиваются быстрее, поэтому отставание неминуемо, как следствие приходится всегда чем-то жертвовать ради чего-то более важного.

    Итого: заказчика не интересуют твои философские страдания. Его интересует как быстро, качественно и за какие деньги ты решишь его проблемы. Решаешь за разумное время, адекватный ценник и с удовлетворительным качеством - не важно как ты себя именуешь, спрос на тебя будет.

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

    Я не очень понимаю, чего вдруг тебя потянуло в разработку. В целом дело это весьма муторное и рутинное, и его надо бы, по хорошему, очень сильно любить, чтобы прям вот пёрло, тогда есть шанс зацепиться, удержаться и даже эволюционировать как разработчик.

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

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

    Коммерческая разработка - это, примерно, от 70% времени/сил на дебаг и фиксы, потому что мало где процессы поставлены грамотно. По хорошему до сего дня (а мне под 40) я только одну команду видел, где процессы прям вообще очень хорошо поставлены и мне посчастливилось какое-то время с ними поработать. За эти несколько месяцев я подрос на целую голову. Самостоятельно достичь сходных результатов было бы весьма затруднительно.

    Сам я сменил стек совсем недавно, начал в конце 15 года, и процесс продолжается до сих пор. Сменил я по одной простой причине - во всех моих прежних проектах большая часть логики с бэка уехала на фронт, и прекраснейший jQuery перестал справляться чуть более чем полностью. Он, по прежнему, хорош, но задачи, которые приходится решать, требуют совершенно других подходов. Для себя я выбрал React, но в целом на рынке имеются альтернативы. По моим данным очень большим спросом пользуется Angular 2+.

    Когда говорят о фронтенд разработке, постоянно говорят о технологиях, стеке, но почти никто не упоминает, что не стеком единым... Существенная часть разработки - это, для начала, понять задачу и построить у себя в голове модель. Заказчики бывают разные, от очень толковых, до очень безтолковых. Соотношение первых ко вторым примерно 1% и всё остальное... Т.е. в большинстве случаев тебе скажут минимум, своеобразно, плюс ты это поймёшь по своему. Потом, по ходу пьесы, в самые неподходящие моменты, начнут всплывать подробности, которые: забыли упомянуть; ну это же очевидно, ты же профи; мы сами не знали, это только выяснилось; ну это же мелочи, мы думаем тебе это будет не сложно; а ты не спрашивал; и т.п....

    В результате, по своему опыту скажу, частенько проекты примерно на середине выглядят ужасно и обложены костылями. На моем опыте бывало не раз, что нормально получалось только раза с третьего-четвертого...

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

    Если ты попадешь в команду, где люди будут понимающие, квалифицированные, процессы выстроены, а джуну задачи будут сгружать джунские, то, считай, тебе крупно повезло. Шансов на это примерно 1%. Особенно учитывая, что джуны это обычно студенты лет в районе 20...

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

    Сложнее всего разобраться в архитектуре конкретного проекта, потому что, внезапно, стиль кодирования и конвенции чрезвычайно важны, если ты не один работаешь над проектом от и до. Если до тебя, вместе с тобой или после тебя кто-то будет работать над проектом, дорабатывать, поддерживать это дело, исправлять баги, в конце концов (а они бывают всегда и везде), то очень желательно, чтобы любой разработчик мог в кратчайшие сроки, оперативно и легко вникнуть, разобраться и понять, что там к чему, откуда, куда, зачем и почему. Чаще всего у проектов с этим проблемы, поэтому накладные расходы множатся, а эффект сходит на нет, усугубляясь текучкой кадров.

    Даже если тебе попадается практически идеальный проект, внезапно оказывается, что твоя оперативная память это 5-7+-2 объекта, а удерживать в голове одновременно нужно сотни...

    Зачем я все это рассказываю? Затем, что это реальность, которая для джунов не делает исключений.

    Термин "фигак-фигак и в продакшен" встречается повсеместно, т.к. ресурсы (деньги, время, кадры) практически всегда весьма жестко ограничены и ничего ты с этим не поделаешь.

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

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

    Теперь относительно того что делать - если в бэкграунде нет сильных скиллов по алгоритмике и структурам данных (олимпиады по программированию, универский курс информатики), то прям очень сильно рекомендую прокачать. Будучи наставником на нескольких курсах фронтенда я постоянно встречают студентов, которые "вроде бы" знают язык, но затрудняются скомпоновать пару циклов с условиями, вот буквально просто виснут на неопределенное время, причем без результата. Лично я рекомендую кодварс. Своих студентов я прокачиваю именно там. Достаточно прорешать 30-40 задачек, чтобы базовые скиллы ушли на уровень рефлексов и перестали парить мозг. Правда желательно решать это все с наставником.

    Косвенный бонус тут будет в том, что ты привыкнешь решать задачи на JavaScript. Я когда менял стек, поначалу мыслил на PHP, и подобный финт на кодварс позволил мне переформатировать мышление на JS. Вот мой профиль на кодварс как пруф: https://www.codewars.com/users/iCoderXXI

    Далее, когда ты освоишься в JS практически, очень неплохо будет досконально разобраться в том как работают замыкания и прототипное наследование. Это прям основа основ, и это спрашивают на каждом первом собесе.

    Понять надо настолько глубоко, чтобы легко и просто, с юморком, рассказывать это любой первой встречной бабушке, да так, чтобы та всё поняла... Это вот прям залог успеха в JS, потому что все остальное держится на этих двух китах. В ютубе имеется курс Зоракса (Zorax) и JavaScript Weird Parts, оба про то же самое, первый на русском, второй на инглише. Кантор, безусловно, крут, но эти двое объясняют попроще и понятнее (имхо).

    После этого прокачиваемся в использовании встроенных методов JS, таких как map, reduce, includes, replace и пр. (на том же кодварс)

    После этого нужно прокачаться в ES6+, стрелочные функции, let/const, деструктурирование, рест оператор, классы, промисы, генераторы, async/await, декораторы - без этих продвинутых штук в современных фреймворках ловить нечего.

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

    Потом уже заостряемся на API форм, DOM, AJAX (fetch/axios), вебсокетах, Localstorage и пр.

    И вот только теперь можно переключаться на фреймворки. Проще всего освоить Vue (по слухам), наибольшим спросом пользуются React и Angular, для общего развития так же неплохо бы немного послушать про Ember.JS.

    React только на первый взгляд выглядит простым, на самом деле это только view-библиотека, а в любом нормальном SPA есть много чего еще кроме view, поэтому React всегда идет в компании Redux, Router, и еще целой толпы всего, что тоже придется осваивать, не только с точки зрения API, но и с точки зрения философии (а нахрена оно вообще сдалось?)

    Перед походами на собесы очень желательно иметь портфолио из нескольких готовых проектов, вылизанных стилистически.

    Далее освежаем базу по JS - типы, замыкания, прототипы, и смело топаем по собесам, будучи морально готовыми завалить первые десять.

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

    Еще вроде большие компании вроде Яндекса устраивают летнее обучение, с последующим трудоустройством лучших кандидатов, но это не точно.

    Оптимистичный прогноз - 6-12 месяцев плотного фигачинга и ты в тренде.
    Ответ написан
    7 комментариев
  • C чего начать изучение JavaScript опытному верстальщику?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Знать как следует язык программирования, безусловно, штука весьма полезная и нужная.

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

    Поэтому окромя языка я бы настоятельно рекомендовал от души попрактиковаться в структурах данных, алгоритмах и паттернах. Тут, как говорится, нужно наработать минимум 1000 часов, чтобы навык ушел на уровень рефлексов и работал автоматически. А совершенствовать скиллы ты будешь всю оставшуюся жизнь, ибо нет предела совершенству.

    По части именно JavaScript вот этот курс отлично мне поставил мозги на место в своё время https://www.youtube.com/watch?v=bzuelEN1Kg8&list=P... прям аж до просветления.
    Ответ написан
    2 комментария
  • Есть ли польза от codewars?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Когда решил что основным ЯП у меня теперь будет JS, надо было переформатировать мозги, для этого сотню-другую часов интенсивно что-то кодить, не важно что, важно чтобы на JS и в хорошем темпе.

    Тут, как раз, Кодварс подвернулся. Прокачался до 2.5 qyu и подзабросил, но эффект получил должный, теперь на php кодить не так комфортно (иногда совсем не так).

    Чужие решения смотреть тоже интересно, иногда думаешь вот ведь круто, но в прод я бы такое не выпустил.

    Сами алгоритмы с кодварс в реале вряд ли понадобятся, а вот составные их части очень даже.

    в общем для меня кодварс оказался весьма приятным и эффективным способом привыкнуть к ЯП.
    Ответ написан
    Комментировать
  • Как быстро погрузиться в react?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Проще всего научиться на практике. Я нашел несколько годных скринкастов и повторял 1 в 1 за ведущим. Вообще всегда так делал с новым языком.

    В процессе привыкаешь, пропадает страх и туман в голове, дальше уже можно делать шаг вправо-влево и что-то своё наверчивать.

    Одна проблема в том, что реакт бурно развивается, и огромное множество материалов по нему уже устарели, т.е. ты будешь учиться тому, что уже не актуально. Поэтому ищи материалы не старше года, в идеале не старше 6 месяцев.
    Ответ написан
    2 комментария
  • Как учить что-то новое и быстро не забывать?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Я всегда учу только самый необходимый минимум, исходя из принципа Парето, что 20% усилий дают 80% результата. Зачастую этих 80% результата за глаза хватает для большинства задач.

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

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

    Так-что я рекомендовал бы каждый навык оттачивать в конкретном модуле, на практике, в разных обстоятельствах, тогда в голове уложатся принципы и примерное представление, где, если потребуется, быстро найти детали и нюансы...
    Ответ написан
    Комментировать
  • Существует ли "карта программиста"? Что и за чем учить?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Нет одинаково эффективного пути для всех и каждого.

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

    Тут главное - настолько сильно хотеть достичь результата, чтобы любые препятствия только добавляли азарта. Чтобы ночами спать не мог и думал о задаче. Это ключевой момент обучения. Все остальное - декорации, способы, инструменты...

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

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

    Далее из модулей, как из кубиков лего пытаешься собрать функциональные блоки. Тут важно понимать, что чем более автономные модули и блоки у тебя получаются, тем лучше, особенно для целей тестирования. Если ты забиваешь болт на тестирование, то тебе нечего делать в разработке.

    На первых порах, тестирование будет занимать до 99% времени и сил. Заодно подтягивается синтаксис используемых языков (вообще не важно каких), вырабатывается внимательность, концентрация, тренируется память и пр.

    О даа, детка, хороший программист имеет нереальную оперативную память, в которой умудряется держать десятки и сотни ключевых аспектов контекста задачи, учитывать их особенности, взаимное влияние (комбинаторика), и пр., без чего никакая задача никогда решена не будет.

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

    Только так, только жесткий хардкор! Если ты не прошел эту фазу, то ты либо родился гением, либо тебе нечего делать в профессии... Это как детские болезни - ими нужно переболеть в детстве.

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

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

    Ах да, обложись справочниками по любому инструменту и научись быстро вникать и подхватывать необходимый минимум. Обычно достаточно на 20% владеть инструментом, чтобы решать 80% задач.

    В любом случае я за критерий истины держу платежеспособный спрос.
    Ответ написан
    3 комментария
  • Что умеет настоящий senior/lead developer кроме знания какого-то языка и его фреймворков?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Нужен разнообразный боевой опыт на десятках проектов, который заработаешь только по ходу практики. Все остальное - инструменты и декорации. Не так важно чем. Важно чтобы работало и не падало.

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

    По сути новое осваивать придется реально постоянно. Не бывает так, что освоил какой-то стек и порос мхом, и у тебя 20 лет все пучком.

    В общем главное тут - напористое желание решать стопицот новых и неведомых проблем каждый день в штатном режиме, в порядке обыкновения.
    Ответ написан
    Комментировать