Javascript — знания junior'a, IDE, learning mind map?
Доброго времени суток, уважаемые Тостеры.
Изначально вопрос состоял в том, насколько возможно найти удалённую стажировку.
Проблема не нова; возможности уйти в офис нет, если не живёшь в крупном городе с развитой IT-инфраструктура.
Тем не менее 5-6 часов в обнимку с Тостером и Гуглом откинули этот вопрос - учи, расти до джуна хоть как, устраивайся на удалёнку, либо переезжай.
Прежде чем перейду к вопросам, расскажу о себе.
Живу, как вы могли понять, в глубинке. Возможности переехать в крупный город пока что нет, тем не менее до следующего лета планирую свалить. Владею английским, без проблем читаю ИТ литературу или по математике, общаюсь на свободные темы. Владею мат. аппаратом(мат./компл./функц. анализы, диффуры, прикладная статистика, теория вероятностей, мат. модели, теория игр, численные методы, методы оптимизации) - ну как "владею"; не практикую, но за 1-2 дня восстановить знания можно. Я это указал, дабы показать, что мозги на месте и работают вполне себе хорошо. Годы олимпиад отбили желание заниматься математикой, да и тем более влюбился познакомившись с программированием.
Баловался на delphi, assembler'e, prolog'e, vba. Изучал Герберта Шилдта "C++ Базовый Курс. Третье издание" на русском. Если не знакомы, то коротко - перегрузки операторов, наследование, виртуальные функции, исключительные ситуации, система ввода-вывода, динамическая идентификация типов, пространства имён, препроцессор. Выполнял примеры, добавлял что-то своё. Описывал численные методы, методы сортировки, но только ФП; с ООП я знаком на уровне теории и примеров из вышеупомянутой книги; ничего не писал, хоть и понимаю.
Приучил себя писать чисто, насколько это может человек без реального опыта - никаких километровых if'ов или бесчисленных вложенных циклов. Комментарии, отступы само собой(привет Хендриксу). В курсе о нотациях: венгерская, верблюжья, подчёркивания - предпочитаю верблюжью всё-таки :)
Также читал Michael Dawson "Beginning C++. Game Programming" в оригинале. Именно что читал, поюзать примеры так и не довелось.
На htmlacademy выполнял базовые курсы. Всё так нудно-долго и постоянно повторяется - забил на продвинутые.
Учил SQL на sql-ex - сварганить запросы из базы с несколькими таблицами смогу. С СУБД не работал.
На codecademy прошёл по всему SQL(там 3 теста вроде), HTML&CSS, JS, JQuery, SASS(крутая штука), GIT, Command Line, Make/Deploy a Website. Не то чтобы они были особо сложные.
НО! реального опыта нет от слова 'совсем'.
В Enterprise с плюсами уходить желания нет; останутся как хобби. Остановился на JS.
На данный момент, с помощью Тостера, определился с таким путем.
1. David Flanagan "JavaScript. The Definitive Guide. 6th Edition"(уже начал читать)
2. Marijn Haverbeke "Eloquent JavaScript. 2nd Edition"
3. Stoyan Stefanov "JavaScript. Patterns"
4. John Resig "Secrets of the JavaScript Ninja"
5. Nicholas C. Zakas "High Performance JavaScript"
6. Более плотно изучить JQuery.
7. Познакомиться с Ajax
8. Познакомиться с node.js, nw.js - на данный момент вообще имею 0 представления о том что это за звери; может их вообще нельзя ставить в одном предложении :D
По ходу дела посмотреть freecodecamp, написать свои велосипеды
То, что книги стоят по порядку, не означает, что я буду их скопом друг за другом читать. Это в целом план к обязательному изучению.
Так вот.
- На каком этапе я уже могу писать по поводу работы?
- Что должен знать junior в общем?
- Устроиться junior'ом на удалёнку вполне реально же, да?
- Какой использовать IDE(сейчас у меня нет никакого)?
- Как считаете, если я всё, что только написал, забью в резюме и разошлю, могут взять?
- И ещё, мне не придётся учить PHP? Я его не люблю, не знаю почему. Познакомился с ним перед плюсами, и когда сел за них, возненавидел его - видимо отсюда и пошло.
Ну и в целом возможно посоветуете что-то ещё как более опытные люди.
hh, moikrug шерстил. Если вдруг сами набираете на вырост и заинтересовались, или знаете кого-то - пишите. Пару месяцев с радостью поработал бы за еду, при условии что будет возможность общаться с опытными разработчиками.
Извиняюсь за сумбур и нерелевантную информацию, если таковые есть.
Отнеситесь с пониманием.
Благодарю за внимание.
Edit: Сейчас, взглянув на это стороны, понимаю, что только постоянно и учу, а не занимаюсь практикой. Моя главная проблема.
- На каком этапе я уже могу писать по поводу работы?
После полу года самостоятельного обучения в конкретной сфере
- Что должен знать junior в общем?
Если тебя интересует фронтенд-разработка, то:
HTML5, CSS3 (media queries - понимать разницу между адаптивной и отзывчивой версткой), js (DOM, XMLHttpRequest, Template engine, RegExp), jquery (уметь писать плагины, и то, что в предыдущем пункте), jquery-ui (но не обязательно, иметь общее представление), bootstrap, less / sass (если знаешь sass, то less самому изучать уже не стоит, разберешься по ходу, если попадется), jade или handlebars, gulp (минификация, обфускация и т.д.), npm, bower - это минимум
- Устроиться junior'ом на удалёнку вполне реально же, да?
нет, это на 89% не реально, это сугубо моя точка зрения. А если и устроишься, то туда, где особо не научишься толку. Для удаленки нужно проработать минимум пол года в компании, желательно аутсорсовой, чтобы понимать общую картину, но нужно иметь и специализацию (сильную сторону) и развивать её, если она еще не отмерла идеалогически в мире ИТ.
- Какой использовать IDE(сейчас у меня нет никакого)?
Sublime, после полугода работы с ним (использования всех полезных плагинов к нему) можешь переходить webstorm. Это самые лучшие по, сугубо, моей оценке, я попробовал, наверно, все популярные редакторы и IDE.
- Как считаете, если я всё, что только написал, забью в резюме и разошлю, могут взять?
Нет, очень маленькая вероятность, что в какую-то продуктовую компанию можешь попасть. Нужны твои проекты (даже, если тестовые), примеры кода, ближайшие пол года тебе нужно написать много кода, но не полный копипаст, а собственными руками / мозгами, интересует только твой код, с теорией уже все понятно, у меня 5 лет опыта, а я книжек прочитал за это время штук 10 от силы, не потому что не люблю читать или эту тему, а потому что читаю по-очень мало из-за недостатка времени.
- И ещё, мне не придётся учить PHP? Я его не люблю, не знаю почему. Познакомился с ним перед плюсами, и когда сел за них, возненавидел его - видимо отсюда и пошло.
Не обязательно, как фронтендеру тебе вообще знать его не нужно, как минимум, снова же, пол года. Когда уже пройдешь этап работы с одним из js-фрэймворков (наверно, к тому времени уже новые фрэймворки), можешь поработать с nodejs / python / ruby, но тоже только в общих чертах, особо не углубляясь, просто, чтобы иметь понимание о том, что потом происходит с данными, которые ты куда-то отдаешь / забираешь.
и самое главное - не прыгай с прикладному, к вэб, от бэкенда, к фронту, одной жопой на все базары не успеешь, определи для себя конкретную сферу развития - этого будет достаточно на ближайшие пару лет
PixelUser: минимум - знание реляционной базы данных (чаще всего MySQL), архитектурного паттерна MVC и ООП. Если Ruby, то Rails, если Python, то Django, если nodejs, то express и mongodb (не реляционная БД). Стоит сначала изучить язык, его возможности (сессии, методы отправки / приема данных, возможности работы с БД, форматы данных (XML / JSON) и т.д.) потом переходить на фрэймворк. Главное в этом деле - не останавливайся и не смотри на знания / умения других, т.к. в ИТ много "выпендрежников", делай свои поставленные задачи, спрашивай у адекватных специалистов их совет, развивайся без остановки сам, но разделяй, что тебе действительно нужно для работы, а что нет
вы написали откровенную хрень
когда можно идти работать, да хоть вчера , да реально можно просто взять и идти работать вариантов с ниличием интернета куча, да вообще без знаний.
что за идиотский вопрос какую иде использовать, с учетом того что их меньше чем пальцев на одной руке, попробуйте все и выберите ту которая вам нравится, делов на три часа.
вместо того чтобы страдать фигней которую вы описали логично было бы просто писать программы, сайты и все, это даст вам в сто раз больше чем тот план кот орый вы написали
Нюанс - если просто пойти писать сайты без плана, то всю жизнь так и будешь писать простейшие гАвносайты за 3 копейки.
Опыт нужен, работать можно уже с минимальными знаниями.
Но при этом отказываться от "меньше денег, но работа под началом опытных спецов" не стоит. Это дает большой пинок под зад в плане повышения квалификации и более перспективно, хотя и намного менее приятно по деньгам.