Дабы не плодить темы, пишу сюда.
UPDATE от 17.02.2015:
Ищется человек с опытом (возможно с небольшим) на удалённую работу, уже есть положительный опыт с одним из участников JavaRush. Необходимо доделать небольшой проект (на данный момент около 15 тыс. строк кода) по автоматизации автосервисного центра. Из технологий GWT+Vaadin, myBatis+PostgreSQL, Java SE7, Maven. Из необходимого обязателен опыт с GWT, JPA и Maven + любая реляционная БД. Если работали с Vaadin и\или myBatis ещё лучше. Если опыта с перечисленным стеком нет, но вы реально осознаёте что очень быстро учитесь и всё схватываете - пишите, обсудим. Сроки, к сожалению, сжатые, поэтому подразумевается что у вас уйдёт примерно 48 часов рабочего времени на ознакомление с проектом, дальше должен быть видимый результат, при его отсутствии расстаёмся. Необходимая занятость не менее 6 часов в день, 5 рабочих дней в неделю. Начать можно хоть сегодня, от вас небольшой рассказ о себе, от меня пара небольших задач на 15-20 минут, , если друг друга устраиваем, то можно приступать. Оплата через qiwi, paypal, или напрямую на Visa/Mastercard. Размер оплаты обсудим индивидуально, исходя из опыта, навыков и продуктивности. Пишите в ВК - vk.com/id13318310 или на info.javarush.ru
Всё что ниже неактуально.
Итак, сам я не столь давно устроился Java разработчиком, и сейчас фирме в которой я работаю требуется пополнение (1 точно, возможно 2 человека).
Небольшое введение о компании. На рынке уже более 10 лет, основная сфера бизнеса - аутсорсинг страховый компаний в плане автмоатизации бизнес-задач, общий штат порядка 50 чел. Отдел разработки небольшой - штат 8 человек. Сейчас нас 6. Делаем RIA ПО для страховых компаний. Используемый основной стек технологий: Vaadin, OSGI, MongoDB+PostgreSQL, немножко JPA и Java EE, собирает всё Maven (в процессе перехода на Gradle), сервер приложений GlassFish (в процессе перехода на Apache Karaf). Работы вагон и маленькая тележка, нужно переносить уже написанный код (модули и фичи) c php (знать не обязательно) на java, добавлять новый функционал, рефакторить, дебажить, тестировать и т.д. и т.п. Территориально - юг красной ветки. От метро 5 минут пешком. Зарплатную вилку на джуна можете погуглить на хедхантере (25-50 на испытательный). Условия работы нормальные, зарплата кристально белая, платят вовремя 2 раза в месяц, корпоративных фич, кроме бесплатного фитнеса (6 этаж пешком), к сожалению нет, зато начальство и коллеги полностью адекватные.
С тим-лидом я пообщался, он готов рассмотреть кандидатов без серьёзного опыта работы, но с большим желанием учить новое, вникать в написанное, работать, развиваться и делать нашу софтину лучше.
Что хотелось бы от кандидата. Понятно что здесь все только учаться (как и я сам), никто от вас не ожидает чего-то сверхъестественного, но точно нужно знать и уметь: профессионально пользоваться гуглом, это без комментариев, т.к. 50% времени поначалу будете проводить именно там, для этого же нужен английский, достаточный для чтения тех. доков; знать java core на отлично с минусом, хотя бы из того что уже представлено в курсе javarush, единственная незатронутая важная тема - дженерики. Погуглить и вникнуть (если не знаете что это) хотя бы в теорию того что описано в введении. Простейшее понимание принципов работы реляционных баз данных (SQL), стандартные запросы и как java с ней работает. Желательно какие-нибудь свои проекты (пусть даже небольшие, но чтобы было не стыдно показать). И конечно общие социальные навыки - общительность, коммуникабельность, какое никакое желание и умение работать в команде, пусть звучит немного глупо, но бывали случаи что толковых ребят приходилось отсеивать, т.к. ну совсем двух слов связать не могут, или наоборот считают свои решения эталоном искусства и не воспринимают критику. Образование не существенно, но играет роль. Если технический ВУЗ, ещё и с уклоном в computer science - отлично, если что-то другое, но отлично разбираешься в java - ничуть не хуже.
В общем, если решено 800+ (ещё лучше участие в проекте, хотя вряд ли кто остался до сих пор без работы) задач, прочитаны (и осознаны) книжки Шильдта, Блоха и Эккеля, с логикой и аналитикой проблем нет, умеешь быстро вникать в новое, и есть желание сменить (устроиться) на работу - велком в личку, готов ответить на дополнительные вопросы.
Со своей стороны - помогу чем смогу. Естественно не могу обещать 100% трудоустройства, так как решение буду принимать не я. Наше общение начинается с твоего рассказа о себе: образование, давно ли занимаешсья джавой и программированием в целом (или другие области IT), насколько реально оцениваешь свои навыки и в какую стоимость. От меня две задачки: 1 простая, 1 посерьёзней. Если решаешь хорошо, делаю всё что в рамках моих возможностей чтобы устроить собеседование. Подскажу какие будут вопросы, как себя лучше вести и прочие нюансы.
P. S. Отвечаю на частый вопрос. Взять за бесплатно на "вырост" у нас к сожалению не могут, т.к. на это банально нет времени, нужен человек имеющий хоть сколь-нибудь серьёзную подготовительную базу. Плюс уже были попытки, ничем хорошим дело не кончилось.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Не учили, а ты сам должен был брать, то что тебе необходимо. Знания невозможно получить, их можно только взять.
это может занять и более чем полгода, если нет толкового наставника. Ты еще скажи, что спецификации JPA и JEE как стихи на ночь читаешь. И базы проектируешь (до 5НФ) и запросы эффективные составляешь. И что связки эти поднял за неделю сам.
В общем, все это бахвальство и снобизм. Извини, ничего личного.
А по поводу самих требований ты явно не там посмотрел, всё что хотелось бы видеть в знаниях кандидата я указал в 4-м абзаце, и знания всего стека технологий там не было, тем более он специфический. Я лишь указал что об этом достаточно прочитать некоторую теорию из википедии, что б иметь базовое представление. Никакого бахвальства и снобизма, но смотри внимательнее.
Думаю, ты прав — 6-ти месяцев будет достаточно на изучение Java (basic, threads, I/O, NIO, collections, polymorphism, exceptions, generics, JDBC, regexp) при благоприятных условиях и уровне владения английским Intermediate.
Насчет универов. Расскажу как происходил переход от программ инженеров к программам бакалавров и магистров — брались исходные программы, в которых переставлялись предложения, немножко ереси и ахинеи по вкусу, далее добавлялось слово «компетенция» и трах-тибидох — программа бакалавра/магистра готова. Да, в универах теоретическая база хороша: матан, аиг, физика, логика, операционные системы, алгоритмы и другие дисциплины, которые не меняются. Однако, то что требуется на рынке — они будут давать с запазданием в 5-12 лет. Я до сих пор не вижу специальности администратор *nix / cisco, разве что в иностранных вузах. А пока у нас всё больше дядей, которые исследуют нано-дрова и нано-порошки.
Эти 12 включали
Object-oriented Java programming
Software development with Java
Developing concurrent distributed systems(Java EE)
Cisco networking (CCNA)
Optimising networks — CCNP
И тд и тп. Что характерно, никто никово ничему реально не учит. Дают план, даты экзаменов и твое дело хочешь учи хочешь не учи. Из плюсов. Если учишся по специальности, можно реально учить что пожелаешь, если курса даже нету в програаме вуза, но есть в программе друго вуза, всегда можно договорится чтобы что-то учить в другом вузе паралельно для получения диплома. Никаких сертификатов, но знаний достаточно в итоге чтобы получить сертификат по предмету, если это Cisco, Oracle, IBM или любая другая програма от этих фирм.
С практической стороны тут сложнее. Вес имеет сам диплом а не знания. При поступлении на работу если к примеру junior то там знания это минус, свежий диплом это плюс.
Курсы из программы меняются потстоянно, выбор на каждый год где то 10-12 предметов (4ре надо выбрать). Все довольно флекси.
В любом случае, в результате такой свободы или не свободы у человека должно формироваться мышление, способное справиться с любой задачей, если только его познавательный инстинкт не был подавлен или отравлен в детском возрасте (этот инстинкт свойственен всем человеческим детенышам от рождения). И если он не был подавлен, то интерес к новому никогда не будет пропадать, сформируется практическое мышление — оно будет брать-брать и брать знания, и ему не надо будет ничего предварительно разжевывать, подсказывать — оно само найдет ответ.
Вот так у меня всё просто =)
1 — на javarush я дошел только до 15 уровня — дальше подписка нужна была, поэтому переключился на курсы головача (сначала java core, теперь java junior). на данный момент прохожу стажировку, где обещают помочь в трудоустройстве.
Конкретные навыки:
A. core
a.1 — итерации, циклы (на уровне — могу делать вложенные циклы, рекурсию, всякие там continue,break)
a.2 — исключения (знаю иерархию, разницу проверяемых и непроверяемых, могу создавать свои исключения, извлекать стек-трейс)
a.3 — коллекции (создавал свой односвязанный, двухсвязанный линкед лист, создавал простенький список на основе массива, знаю разницу в алгоритмической сложности. сеты, мэпы)
а.4 — инпут\аутпут — есть начальные занния по кодировке и потоками файловыми
а.5 многопоточность (пока что только начальные навыки, но знаю, что синглтон лучше создавать syncronised, ибо будет потоко-опасным)
a.6 ООП — понимаю принципы, но не хватает полиморфизма в коде (по словам тренера)
а.7 знаю все методы класса Object(), алгоритмическую сложность (на среднем уровне)
B.не кор
b.1 maven, junit (на начальном уровне)
b.2 — mySQL, JDBC (на САМОМ начальном уровне — могу создавать таблицы и делать простейшие операции, а также худо бедно подключаться из джавы к БД (это учу сейчас)
b.3 — шаблоны проектирования (только начинаю, знаю пока синглтон, factory, A-factory, iterator, bridge)
С — не JAVA
c.1 upper intermediate
c.2 использую часто инфографику
с.3 не люблю прокуренные офисы
с.4 каждый час встаю со стула и хожу 2 минуты, чтобы не подвергаться негативным воздействиям сидячего образа жизни
Vaadin с GWT — это круто. Завидую)
А почему решили перейти с php на java?