Список вопросов
Как зайти в Даркнет?!
25th January, 01:11
6
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
894
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
914
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
905
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4381
0
Помогите пожалуйста решить задачи
24th November, 23:53
6086
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4350
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4396
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
Изучение нового основного языка. Java?
Просмотров: 396
 
Ответов: 14
Возможно, мой вопрос не совсем подходит для Q&A, но это и не топик для хабра. Без предыстории на обойтись…
Около 7 лет занимаюсь программированием, около 5 лет зарабатываю этим на жизнь. После окончания университета прошло больше двух лет, а я все еще не устроился на работу, потому что увяз в собственных «проектах» (они приносят деньги, но не дают развития).
Изначально мною был сделан неудачный выбор: Delphi (windows-приложения) и PHP (веб). И тем, и другим владею на хорошем уровне.
На Delphi писал и оконные приложения (облегченный клиент для популярной MMORPG-игры), и многопоточные сервера (авторизационный сервер для той же игры), и относительно низкоуровневые библиотеки (SPI-провайдер, внешний модуль защиты клиентских приложений). Об одной своей разработке я писал на хабре: Аналог Time Machine для Windows
На PHP были разработаны как отдельные модули (личные кабинеты, админ-панели, внутренние библиотеки), так и полноценные сайты с нуля. Самый популярный ресурс на данный момент имеет около 30 тысяч уникальных посетителей в сутки (400-500 тысяч просмотренных страниц).
Само собой приходилось заниматься и администрированием (linux, apache, nginx), и работать с СУБД (MSSQL, MySQL), и писать HTML-страницы (CSS, Javascript, jQuery). Но это побочные знания, а не мой профиль.
Вчера начал изучать вакансии и понял, что оказался «в пролете» (не скажу, что это было большой неожиданностью): крупным IT-компаниям (yandex, mail, google, ...), завязанным на интернете, не нужны PHP-программисты. Работать в компании со штатом в 10 человек и делать каждую неделю очередной сайт на заказ я не хочу. Мне нравится создавать то, чем пользуются ежедневно тысячи людей. Я люблю программировать. Я хочу иметь возможность запустить браузер, загрузить страницу и сказать: «это сделал я».
Как добиться желаемого? Как попасть в Яндекс на должность разработчика? Очевидно, ответ следующий: изучить на достаточном уровне Java или C++. На что сделать ставку, чтобы в будущем не пожалеть? Наверное, Java.
Реально ли дома по книжкам изучить Java (и сколько на это может потребоваться времени), чтобы не провалить собеседование в Яндексе? Или Яндекс — это слишком высоко, и все равно придется сначала поработать в более мелкой компании для приобретения опыта.
Мне сейчас очень нужен вектор развития, потому что я не хочу еще один год топтаться на месте.
P. S. Или я ошибаюсь в том, что с PHP нельзя построить хорошую карьеру?
1) Для Яндекса, Гугла и т.д. нужно разбираться в математике и алгоритмах. Если идёте на должность разработчика, то разберитесь в этом…
2) Дальше нужны знания ООП, паттерны проектирования. Книги все на слуху, но если вы не в курсе, то могу порекомендовать несколько.
3) После всего этого можете начинать разбираться с Java. Также можете попробовать Python. Обе компании работают с этими языками. Если хотите быть оригинальным и пойти в Google, то учите Go :)
Тут вам советуют оставаться с PHP… В целом, отчасти это правильно. Но в Java я думаю вы лучше поймете, что такое ООП и паттерны. А также узнаете, про IoC, OSGI, Maven и много других интересностей. В PHP конечно есть жалкие попытки кое-что из этого клонировать на свою платформу, но как правило всё это выглядит жалким… Так что лучше учиться на оригиналах.
По времени у вас это займёт очень много (как минимум года 2)… Так что можете поразбираться в первых двух пунтках и идти на позицию студента, где будете учиться и разбираться в Java, Python, PHP и любом другом языке, по которым вам дадут работать.
Хотя у большинства мнение обратно, но я считаю что стоит потратить пол года на изучение всех основных языков и выбрать тот который больше нравиться. Это имхо.
А в реальности можно поинтересоваться у сотрудников Яндекса, какие у них требования к программистам.
Ведь не всем нужны ява программисты, требуются разработчики на питоне, руби и других языках.
Помойму Руби для веб разработки сейчас самый прогрессивный(для меня например), а вот некотором он не нравиться.
Если бы мне нравислась ява, тогда я бы выбрал яву, если с++ тогда с++.
Изучение огромной кучи языков не даст Вам глубокой специализации в чём-либо, а хорошие деньги платят именно за те знания, которые не лежат на поверхности и которыми обладают профессионалы в своей области. Используя PHP можно сделать хорошую карьеру. Facebook, кроме всего прочего, активно пользуется и этим языком, а в свете последних событий это неплохой конкурент гуглу. Что касается Яндекса, насколько мне известно, там тоже не обходится без PHP, да и вообще, есть масса компаний, которые делают хорошие продукты, далёкие от клепания сайтов-визиток за $25/штука.
Скажу пару слов в защиту PHP. Например у нас в компании года 3-4 назад мы использовали Java + Oracle, когда делали проекты на заказ. Сейчас мы делаем свои проекты, используем PHP + MySQL. Когда важна скорость разработки, когда проект уже работает, и его нельзя останавливать, PHP — то что нужно. Зачастую проекты на Java — это неповоротливые монстры, которые вы будете ковырять годами и так и не увидите как они работают. Если хотите видеть результат своей работы, видеть динамику — то это скорее PHP, чем Java. Как видите, я не просто кричу, что PHP рулез, а Жаба отстой. Я делюсь своим опытом. Мы сменили Java на PHP и получили профит.
Яндексу нужны разные люди. Например:
Разработчик Баннерной системы (Perl/MySQL)
Лучше, когда ты знаешь помимо основного языка еще несколько дополнительно и можешь быстро переключаться для решения небольших задач, а так-же можешь подбирать для решения возникшей задачи наиболее подходящий набор инструментов, а не пытаешься сделать все одним.
Реально ли дома по книжкам изучить Java...
Да, но как вы поймете материал зависит только от вас. Я сам занимался программированием на PHP и сейчас хожу на курсы Java. Могу точно сказать, что освоить Java сложнее, но в этом её прелесть :)
Из литературы рекомендую:
- Еккель — Философия Java (4-е издание)
- Шилдт — Полный справочник по Java (7-е издание)
- Вязовик — Программирование на Java
- Sierra, эта женщина составляет тесты, которые проходят на сертификации. Книжек пару штук, не помню названий
- ...
PS. Никогда не читайте из одной книжки ;)
С точки зрения денег, кстати, перемена PHP на Java, мало что значит. Тут, на хабре, прямо сейчас в правой колонке видно 90 тыр для PHP-разработчика.
Стоит ли менять шило на мыло?
К тому же с Java в Enterprise обплюетесь, на контрасте… Сервера запускаются в продакшене чуть ли не по полчаса, все тяжелое, неповоротливое. Бееее после веба.
Как говорит Foror, классно было бы развить то, что есть, сделать так, чтобы Ваши сайтом были Вашим активом (т.е. деньги капают без вашего участия). После преодоления этого барьера очень просто пойти на любую позицию как джавист, хоть на джуниора (и то, скорее всего, Вы уже выше)
Pascal — 10 лет
C++ — 10 лет
C — 3 года
Lua — год
Java — 3 года
Javascript — 3 года
PHP — 4 года
И уже второй год зарабатываю только на PHP
Также могу сказать что много языков знать ВРЕДНО.
Потому что «мастеринг» у них просто разный. И мне очень мешает когда я подходы из одного языка напрямую отображаю на другой.
Что-то типа использованить «смарти» на C++ или протопипного програминга из lua или js на большой Java
C++ — 10 лет
C — 3 года
Lua — год
Java — 3 года
Javascript — 3 года
PHP — 4 года
Если открыть вакансии, тот же HH.ru. То там требуется:
— PHP (наиболее востребован, но зарплаты ниже)
— Java (наиболее высокие зарплаты, но востребован чуть меньше чем ASP.NET)
— ASP.NET/C# (достаточно высокие зарплаты, востребован чуть больше чем Java)
Это мой субъективный опыт. Я сам сейчас работаю с ASP.NET MVC, перешел на него с PHP. Так же мне интуиция подсказывает что на западе ASP.NET/C# цениться больше и будет востребован еще больше.
R&R, Питон мне редко на глаза попадаются в вакансиях.
> крупным IT-компаниям (yandex, mail, google, ...), завязанным на интернете, не нужны PHP-программисты
Да что вы говорите? В мэил.ру полно проектов на PHP и часто вижу вакансии PHP-разработчиков.
Что-то подсказывает мне, что вы просто не владеете информацией в должной мере, раз делаете такие выводы.
У нас в городе ситуация складывается так, что либо PHP либо ASP.NET для веба. Сейчас это мейнстрим. Думаю в других городах дела обстоят аналогично. Зная это и разбираясь в этом на профессиональном уровне, а таже в фундаментальных алгоритмах, вы будете всегда востебованы на рынке и сможете сами выбирать, где вам работать. А проект с высокой нагрузкой — большой жирный плюс в любом резюме.
Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться