Как изучить Java и получать 70-160

May 25, 2014 18:09

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

Оплата

Начинающий программист - 50-70тр/мес.
Программист среднего уровня - 90-120тр/мес.
Профессионал - 130-160тр/мес.
Профессионал, в странах-лидерах евросоюза (ориентировочно, может сильно варьироваться) 70$/год (там еще высокие налоги, вычитаем ~20%).
Профессионал, USA 90-120$/год (налоги ниже чем в евросоюзе ~15%).
Это ориентировочные цифры для Java программистов в москве 2012 года (для сравнения, у Net программистов оплата примерно такая-же, у C/C++ ниже на 20%, у PHP/Python/Ruby/JavaScript на 30%).



Затраты усилий

Если вы совсем не знаете программирования, но боль-менее умеете работать с компютером, вам потребуется год-полтора чтобы выйти на начальный уровень (получать зарплату вы сможете через 3 месяца после начала обучения, но она будет 20-40, на 50-70 вы выйдете только к концу обучения).
Если вы что-то знаете и умеете создавать простые программы - получать 20-40 вы сможете практически сразу, на 50-70 выйдете через полгода-год.
Если вы на начальном уровне - получать 50-70 можете сразу, переход на средний уровень у вас займет год.
Переход со среднего на профессионала также займет год.
Сроки предполагают что вы будете интенсивно заниматься и работать все это время, как в рабочее так и изучать самостоятельно, нагрузка будет очень высокой. Если снизить нагрузку и например только работать и самостоятельно особо ничего не изучать - сроки увеличатся в 1.5-2 раза.

Что требуется в качестве исходных данных

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

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

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

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

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

Абсолютно необходимо - подключение к интернету.

Нулевой уровень

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

Если все-же вы не смогли найти человека к которому сможете обратится за советом (прибавляйте себе сразу неск. месяцев обучения) в случае вопросов - зарегистрируйтесь на иностранном stackoverflow.com или русском sql.ru форуме и задавайте вопросы там там.

Через 1 месяц переходим к след. пункту.

Начальный уровень

Итак вы примерно представляете что такое программирование (не обяззтельно Java) - циклы, условия и т.п. базовые вещи - ваша первая задача выйти на уровень который позволит вам устроится на первую работу. Работа над реальными задачами сильно ускорит обучение, плюс вас не только будут учить, но еще и будут платить за это.

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

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

Вам нужно:

Прочесть первый том книги (если есть возможность - на английском) Beginning Java 2, Ivor Horton
Пройтись по Java Koans
Научится использовать IDE IntelliJ IDEA (начинайте сразу, она нужна для решения примеров из книги).
Сделать пару простых программ.
В жава есть три части:

Java SE - сам язык и основная платформа, именно его вы изучите в книге (1 том), нужно знать хорошо.
Java EE - она вам не нужна, ее еще можно встретить в вакансиях, но, если только она не нужна вам по работе, просто так, "на будущее" ее не изучайте (если не ошибаюсь это вророй том книги, он вам не нужен).
Третья часть - это море всяких инструментов и фреймворков (сюда-же входит Swing из Java SE) - их так много что наверно никто не знает даже десятой части всего что есть. Не занимайтесь самостоятельным изучением потому-что вы не угадаете что потребуется, узучайте только то что вам скзажут изучать на работе. Поработайте лучше с базовыми вещами языка.
Итак, вы прочли книгу и написали пару каких-нить калькуляторов или чего-то в этом роде.

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

Есть конторы которые платят копейки, они понимают что не найдут ни одного нормального спеца, и заинтересуются даже пустым резюме. Откликнитесь на штук 30 вакансий (вообше это тупая и неэффективная стратегия поиска работы, но на начальном уровне ничего другого особо не получится) - зарплата будет смешной, но это не имеет значения, вы там будете 3 месяца, даже если там будет 20-30 тр - это 30*3 = 90 - лучше чем 0 сидя дома. Что гораздо важнее - вы не сможете двигаться дальше сидя дома, устройство на работу критически важно.

Если вы откликнулись на полсотни вакансий а в ответ тишина - попробуйте сделать простой сайт на Java и добавьте в резюме и пройдитесь по вакансиям снова.

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

Прошло 3-6 месяца - меняем резюме, оно уже боль-менее минимальное, ищем вакансии на 50-70 (пишите 70, не бойтесь). Используете тупой метод рассылки и откликаетесь на 30 вакансий. Если находите на 50 увольняетесь и идете туда.

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

Вы на новом месте с 50-70тр - также усердно работаете и изучаете новый материал, вам тут работать еще 7-12 месяцев.

По истечении 7 месяцев переходим к след. пункту

Средний уровень

Вы уже знаете что такое OOD, Java, SQL, jUnit, Ant, App Server и т.п., часто используемые Design Patterns и вероятно также уже определились с тем какие области программирования для вас интересны.

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

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

Тупой поиск с массовым откликом на вакансии который допустим на нулевом и начальном этапах тут не очень хорош. Нужно сделать хорошее резюме и разместить его на hh.ru и linked.in а также периодически просматривать интересные вакансии и писать на них индивидуальные запросы. Не ленитесь написать пару строчек в отклике - почему вам интересна эта вакансия и как именно ваши знания и опыт могут принести пользу компании.

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

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

Также может быть что после скажем 5-10 собеседований (но никак не после 1-2) вы не получили что хотели - вероятно ваш уровень не достаточен, проанализируйте вопросы которые вам задавали, подготовьтесь 3 месяца и повторите поиск.

Профессинал

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

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

Поиск вакансий на 130-160 индивидуальный, детально описан в предыдущем уровне.

Также открыты варианты иммиграции в европу или америку, при устройстве в крупные иностранные компании они оформят все нужные документы и визы, а потом и гражданство.

Успехов.

Вопросы

А почему вы считаете, что EE никому не нужна? Как раз таки написание GUI калькуляторов никого не интересует.
Я не говорил что JavaEE не нужна, я сказал что ее не нужно изучать просто так "заранее на будущее" если не знаете точно что будете с ней работать. Нужна, но уже далеко не всегда, как было раньше, ее уже сильно меньше. В JavaEE очень много мусора, изучать ее просто так на будущее - впустую тратить время.

ЧТо посоветуешь, переходить на java с php/oopsa ?
Это усредненные цифры, нужно заниматься тем что больше нравится и интересно - будет гораздо быстрее и рост и карьера, когда интересно. Профи в каком-то спец направлении может получать больше чем "в среднем".

Ориентироваться по средненим ценам можно если нет предпочтений и всеравно чем заниматься - тогда да, наверно лучше жава.

У ПХП/Веб направления есть другой плюс - можно работать удаленно (не фриланс, постоянная удаленная работа, фриланс это отстой), и жить в свое удавольствие. С жава - скорей всего прийдется жить в московском клоповнике (но есть другой плюс - с жава легче за границу уехать). Т.е. - смотря какие интересы и приоритеты.
Previous post Next post
Up