![image](https://habrastorage.org/getpro/habr/post_images/c30/f53/c69/c30f53c690d2a5c247c049a96a7dbc78.jpg)
Двое на этой фотографии через месяц сменили работу на более крутую
Студент, который только учит Java, может получить в Москве больше, чем действующий разработчик. К примеру, в Российском центре разработки Deutsche Bank стипендия колеблется в районе 100 тыс.руб. в месяц — и вас за эти деньги ещё только учат, работа — потом.
Спрос на разработчиков каждый год растёт примерно на 10-15 процентов, а база для образования не справляется. И потребности растут, и текучка большая: ведь в какой-то момент выяснилось, что Java позволяет наиболее индустриально разрабатывать код.
Так вот, сейчас я расскажу, какие есть варианты карьеры в России и за рубежом есть у вас, если вы уже знаете Java или, по крайней мере, у вас есть пара месяцев, чтобы перейти на новый язык и новую среду разработки. За рубежом, кстати, Amazon, Facebook, Twitter и LinkedIn активно нанимают Java-инженеров, специализирующихся на бэкэндах. А у нас — Одноклассники, Deutsche Bank, Oracle, Luxoft, Сбербанк-Технологии, Azul и другие. Пошли, покажу, что и как.
Примеры
Amazon — огромная международная компания, и при этом очень гибкая. Если вы помните, сначала они продавали книги, потом чуть не загнулись на пузыре доткомов, но выжили за счёт торговли всякой шнягой. Затем стали продавать всё и всем, и резко ушли в IT, запустив первое приличное облако. У них одни из самых крутых дата-центров, хорошая инфраструктура, своя CDN, роботы на складах — да вы и так всё представляете. Самое главное — корпоративный стандарт у них Java, и в бэкэнде её очень много. Особой специализации нет, но работа с большими данными и опыт оптимизации могут быть хорошим плюсом на собеседовании.
Oracle — вообще занимается очень много чем, единственная в мире компания, у которой есть весь стек: своё железо, свои операционки, свои middleware и свой конечный софт. При этом, что интересно, у нас в Питере находится большой центр разработки, специализирующийся, преимущественно на Java: из 350 сотрудников около 200 как раз Java-разработчики. В частности, JDK, JVM, Java Embedded и Internet-of-Things. Это второй в мире центр компетенции по Java. Крупнее только центральный кампус в Калифорнии (Санта-Клара). Ищут людей, которым интересно разрабатывать те только на Java, но и делать саму технологию Java, поскольку именно они, по сути, определяют будущее языка и среды разработки.
Azul — производитель высокопроизводительных Java-машин. Небольшая компания, менее 100 человек. И особенно круто, что в Питере есть офис разработки, в котором работают над Zing и Zulu. Ищут крутых JVM-специалистов в их офис в Питере.
Одноклассники — 95% всего их софта написаны на Java. Разработчиков сейчас там менее сотни, всего в трёх офисах (Питер, Москва, Рига) работает около 300 человек. То есть, очень небольшая компания по сравнению с Facebook или Twitter, но при этом делающая один из самых высоконагруженных проектов в мире. Активно контрибьютят в OpenSource, прежде всего, в Cassandra и JDK. Используют кучу performance-оптимизаций, и иногда сами патчат OpenJDK, Cassandra и Lucene/Solr и ставят такие патченные версии в продакшен, потому что нет времени ждать, пока патчи вольют в основную ветку. Активно ищут спецов в свои офисы в Питере и Москве. Core Java, BigData, Highload. Никакой Java EE. Если вы в другом городе и хорошо курите тему — организуют переезд со всеми деталями.
Deutsche Bank — аийтишное подразделение крупнейшего в мире банковского конгломерата. Задачи связаны как с огромными объёмами данных для онлайн-транзакций (котировки), так и для аналитической обработки (терабайты данных для финансовых инструментов). Активно ищут спецов с свои центры разаботки в Питере и Москве. Берут из регионов, релоцируют. Есть своя очень хорошая программа обучения.
Ещё из банков стоит отметить Сбербанк-Технологии — структурное подразделение Сбербанка, во многом благодаря которому «Сберкасса» стала приличной и технологичной. Любят делать продукты с человеческим лицом, по сути — устраивают своего рода IT-возрождение крупной компании, как в своё время было в IBM. Активно ищут Java-специалистов в их офисы в Питере, Москве и Минске.
Luxoft — крупнейший аутсорсер. Активно ищет специалистов в свои офисы в Питере, Москве и многих других городах. Релоцируют из других городов. Много разных проектов, в основном Enterprise Java (Java EE, Hibernate, Spring).
Из крупных игроков стоит отметить ещё Twitter — у них своя система хранения, много Scala, много Big Data, много колодовства над оптимизациями и хардкорным бэкэндом. Активно контрибьютят в OpenJDK. LinkedIn активно хантит Java-разработчиков высокого уровня, но какая специфика — точно сказать не могу. Ну и конечно, Facebook. Несмотря на все заявления, PHP там — только на фронтэндах, а на бэкэндах — куча Java, и судя по их бешеной хедхантинговой активности, куча архитектурных проблем ;)
А из тех, кого знают почти все джависты — есть JetBrains с офисами в Питере, Праге и Мюнхене. Эти стоят прямо у корней всего тулинга и своими руками определяют, как будет выглядеть работа с живой IDE. Из зарубежных — есть Eclipse, но они, по сути, странная примочка к IBM, так что вместе со всеми прелестями технологий вы получите все «прелести» работы в компании из полумиллиона человек.
Стоп, не спешите подавать резюме!
Первая идея, понятное дело, постучаться к этим замечательным людям и предложить себя на работу. Если вы уверены, что знаете их стек технологий и имеете соответствующий опыт — да, это будет хорошей мыслью. Если нет — вам сначала нужно будет немного подтянуть обучение.
И вот здесь вас ждёт неприятный сюрприз.
Дело в том, что Java-обучения как такого в России нет. Да, есть несколько университетов вроде МИФИ или МГУ, которые давно перешли в своих курсах на современные средства разработки. Но они выпускают, фактически, новичков без опыта. Централизованного перехода на Java почти нигде не было, и это естественно. Учат программированию кто как умеет. В целом, сильные профильные факультеты есть в Москве, Петербурге, Казани, Новосибирске.
Что тогда делать?
Традиционный путь, естественно, opensource — это и опыт работы в команде, и хорошее портфолио, и красивый код, который можно показать. Второй вариант — разные хакатоны, которые дают быструю оценку знаний и показывают, куда смотреть. Третий вариант, мой самый любимый — это слушать экспертов, которые решают конкретные задачи в конкретных компаниях и впитывать знания.
Именно поэтому я восстановил из пепла JUG.ru (Russian Java User Group). И именно поэтому пару лет назад я решил делать конференцию по Java взамен ушедшим Java Day и JavaOne Russia. Но не просто конференцию, а такую, чтобы спикеры были только хардкорными, чтобы среди тем преобладал бэкэнд, чтобы все были практиками, имеющими непосредственно отношение к разработке крупных проектов. И чтобы никаких «как сделать свой бизнес в интернете».
Первый раз было неплохо, второй — хорошо, третий — совсем классно. Короче, у нас скоро очередная такая конференция в Петербурге: для примера, будет 6 докладов от Oracle, 2 хардкорных JVM-инженера из Azul, три доклада о бешеном Highload от безбашенной команды Одноклассников, немного Enterprise-хардкора от Luxoft, доклады от инженеров Deutsche Bank, JetBrains, Red Hat, SAP и других.
Как выглядит нормальный уровень?
Посмотрите, что пишут у себя в профилях топовые фрилансеры и обратите внимание на акцент на конкретные технологии. Если у вас в резюме нет слов из трёх букв, скорее всего, реально сладкую работу вы не найдёте — всем сейчас нужен узкий специфический опыт.
Итак, первый, упор на практику:
I have more than 2 years of experience as Java developer and 2 years of experience as C developer. Also I was involved in high performance computing programming. One of my achievements is an algorithm for optimization of files distribution inside network implemented using MPI technology. I’m very motivated in increasing my skills in security information and network technologies. On other hand, I am a active user and contributor of Gentoo Linux. As a result I have skills in python and shell scrip…
Второй, упор на конкретную сферу:
Seasoned developer with more than 16 years of experience with various development technologies (C++/Java/C#/Scala/Python etc.). Have been working in investment banking for a number of years, doing algo trading/electronic trading. Have acquired considerable business knowledge in finance (equities, futures, FIX etc). Have experience with both server side and client side (Java, C#/WPF, QT) and web development. I speak English, Russian and Hebrew fluently. I know basic Spanish as well, which …
Там же есть примеры портфолио без специализации: люди могут позволить себе писать такое, зная, что у них высокий рейтинг. Плюс на аутсорсе очень много задач решается именно «общего плана»:
Третий:
Leadership: At most three years of development team (from 3 to 6 person) leadership and technical account management.
Problem-solving: Ability to recognize and define problems, invents and implements solutions, track and evaluates results.
Creative thinking: New approaches to problem-solving, organizational design, and product development all spring from the individual capacity for creative thinking. 6+ years of experience.
Не надо думать, что что-то подобное прокатит в реале, когда вы будете искать место для работы. Повторюсь, общие вещи хороши во фрилансе, но реально высокие зарплаты и хорошие проекты начинаются тогда, когда вы входите в сотню лучших в стране по конкретной технологии. А эффективно научиться можно только на практике. Чтобы получить такую практику, нужно понять какие задачи кто решает — и сразу нацеливаться на наиболее интересные вам.
Карьера
Если сейчас вы живёте в регионе и получаете около 50-70 тысяч рублей, то первое, что надо сделать — это понять, куда вам развиваться. Учить Java «в отрыве» от конкретной цели не имеет смысла. Сначала нужно зачерпнуть опыта: участвуете в конференции или подключаетесь онлайн, расспрашиваете друзей из разработки, общаетесь на форумах, читаете блоги экспертов в сфере. Появляется первая задача — устроиться на работу в Москву или Питер в конкретную компанию.
Здесь главный вопрос, почему в Москву или Петербург. Дело в том, что в регионе вы получаете, скажем, 70 тысяч рублей. В Москве за это же вы будете получать 150, в Петербурге 120. При этом минус квартира и более дорогая еда — но всё равно вы в плюсе. Из нашего Петербурга очень легко стартовать заграницу, поэтому второй приоритет после Java — хороший английский язык. Или немецкий, например.
Моё предложение
Я понимаю, что вписаться в конференцию в Петербурге вы уже не успеваете, и, вообще, оно вам, может быть, и не очень нужно-понятно. Да и кворум мы уже собрали, если честно. Поэтому мы продаем электронные билеты на онлайн-трансляцию (и прошлые два раза они очень даже хорошо зашли, только когда один из видеоканалов на 10 минут упал, меня завалили письмами как при хорошей land-атаке).
C таким билетом можно будет посмотреть все доклады в онлайне. Да, ценник не самый низкий, но, поверьте, я знаю, что продаю, и оно того стоит.
Самое главное: не понравится — без вопросов верну деньги по первому письму, даже если вы уже всё посмотрели.
Вот наша конференция: прямо на главной есть список докладов с тезисами.
Вот здесь можно купить доступ — http://jugru.timepad.ru/event/136541/.
Вот отчёт с прошлой.
Вот открытые видеоматериалы годовой давности.
Я верю, что мы делаем крутое дело, и знаю, как много позитива было на предыдущих конференциях.
И в этот раз мы постараемся сделать еще круче.