• 3.05

  • +39.35

Два года спустя... (продолжение "истории успеха")

Всем привет!)
По просьбе администрации сайта пишу краткое продолжение к моей «истории успеха» опубликованной уже почти два года назад «Как я стал программистом, или «Через тернии к звёздам» =)».
Основных причин на то две:
  • Я по прежнему считаю что именно этот ресурс сыграл ключевую роль в моём «войти в айти» )
  • Я по прежнему считаю что мотивация — это так же один из ключевых факторов в этом деле, а один из лучших мотиваторов — это такие вот истории успеха реальных людей, которые были в такой же точно ситуации как и ты, джаварашевец. Ибо по себе помню и знаю, что временами просто руки опускаются… и у многих уже больше не поднимаются, это действительно непростой путь, но оно того стоит)

Итак, вопрос — ответ:
Как вообще изменилась Ваша жизнь после того, как Вы устроились на новую работу и что Вы чувствовали в тот момент?
Нуу, изменилась конечно)… В первую очередь конечно поменялся извечный баланс время — деньги)
денег стало ощутимо больше, времени, как следствие, ощутимо меньше)… На «хлеб насущный» вообщем могу сказать что наконец — то таки стало хватать, но что то откладывать всё равно чего — то не получается) Хотя уверен, что если чуть чуть постараться, то получится и откладывать 200 — 500$ в мес (это при том что я один работаю в семье из 4 человек, жена имеет возможность спокойно заниматься детьми). Стабильность, уверенность в завтрашнем дне, или, по крайней мере хоть какая — то их иллюзия появилась)…
Каких высот в карьере Вы уже сумели достичь и какие еще горы планируете свернуть?
В настоящее время работаю уже во — второй компании, «Electric Cloud» называется, пять дней в неделю, 18 рабочих дней в году отпуск(плюс все гос. праздники естественно) График вообщем — то свободный, хочешь из дому работай, но я предпочитаю офис, там обстановка более рабочая… Чаще всего получается приблизительно с 12 до 19 — 20 работать. Компания американская, продуктовая, продукт непростой, огромная DevOps тулза для Continious Integration / Continious Delivery, что то типа дженкинса, только гораздо больше, и чисто коммерческий продукт. К тому же уже достаточно древний, легаси кода полно, и нужно его поддерживать, фиксить баги, иногда писать новые фичи, по этому зоопарк технологий такой, что мама не горюй, и со всем в большей или меньшей степени приходится иметь дело, Java8, GWT, JS, PHP, Perl, HTML, CSS, Spring, Hibernate, JUnit, Mockito, Maven, Perforce и это только основные… Первые несколько месяцев прозревал просто, потом уже как — то пообвыкся =)
Ежедневно скрам апдейты (методология разработки такая типа), разок — другой в неделю митинги по вечерам с нашим американским тимлидом (он индус =))
Время от времени посматриваю на хорошие вакансии, в интересующих меня конторах. Очень редко, но всё же бывает, хожу на собеседования. Главное что я понял, что найти место с хорошей зарплатой пожалуй даже проще чем место с хорошим проектом. А что бы и то и то было, так это уже ппц как постараться нужно, а хочу что бы моё следующее место было именно таким) А ещё я всё больше становлюсь уверен, что попал в эту профессию не по случайному стечению обстоятельств, а заслужил это своим трудом и настойчивостью, хотя некоторая степень удачливости, особенно поначалу, наверняка должна иметь место, и ещё я уже очень наврядли стану менять её…
Общего опыта «коммерческой разработки» в феврале будет два года, если оценивать мой уровень как это общепринято, то я бы наверное оценил его как Strong Junior — Regular Middle, но такая оценка тоже очень субъективна, но по крайней мере Senior я себя точно пока ещё не считаю))
Возможно Вы уже переехал в Калифорнию и работаете Facebook, Apple или Google? =)
Нет, не переехал)) Да и релокация меня никогда не интересовала, будь то Харьков или Львов, или Польша или Америка) Я Одессу люблю, и переезжать отсюда никуда не собираюсь, и считаю что и здесь можно неплохо зарабатывать разработчиком…

Вообщем ещё раз спасибо Джаварашу, и всем кто верит в свои силы от души желаю достичь своей цели и надеюсь что мой пример этому поспособствует. Да, повторюсь, это на самом деле не простой путь, что бы вам кто ни говорил, и достигают своей цели наверняка очень немногие, из тех кто встал на него, НО, способны это сделать гораздо более многие, просто большинству чего — то в середине пути не хватает… мотивации, желания, настойчивости, веры в себя и в свои силы, многие придумывают сами для себя какие — то более или менее правдоподобные оправдания и цели уже не достигают…
Так что верьте в себя, не сдавайтесь на пол пути (небольшие передышки конечно не в счёт =)) и всё у вас получится!
Как говорили древние греки «Горшки тоже не боги обжигают» =) программистами не рождаются =)
И на последок дам пожалуй ещё один совет, для тех кто действительно хочет трудоустроится самая прямая дорога — это СОБЕСЕДОВАНИЯ, как сказал однажды кто — то на одной из IT эвентов на котором я оказался «я ни разу не встречал человека, который сходил на 20 собеседований и его никуда не взяли») а ТЫ на сколько собеседований уже сходил, А?) Я знаю что ты можешь ответить мне:
  1. Я ещё не готов, нужно ещё подучиться(...
  2. Та меня что то никто не зовёт(...
но это всё тоже гнилые отмазки! И я на это отвечу
  1. Я устроился на свою первую работу (на з/п 1100$) после 21 уровня! Правда у меня на тот момент уже был небольшой опыт по GWT, Hibernate и Spring, из «реального проекта» на Джавараш, сейчас это называется вроде как «Стажировка». Но об этом на собес почти не спрашивали… почти все вопросы, насколько я помню были по Java core и ещё немного SQL
  2. Плохо стараетесь) А так же зарегестрируйся на Линкедине, на Работа.юа, на Джине, та везде где только можно, отслеживай свежие вакансии, откликайся на них! «Стучитесь и вам откроют», завали все IT конторы в своём городе письмами со своим резюме, и долго ждать приглашения на собеседование не придётся. Вообщем тут тоже вариантов масса)
Так что кратчайший план действий такой:
  • закончил 20 — 30 левелов на джавараше, плюс подучил ещё хоть немного SQL, JDBC, если ещё и основы Спринга и Хибера есть, то ты вообще в шоколаде)
  • быстренько накатал себе резюме по примерам, зарегался на профильных сайтах, выложил его там, затем засыпал все IT конторы спамом со своим резюме, поверь, без обратной связи ты не останешься, многие просто отпишутся что будут иметь тебя ввиду, а некоторые обязательно пригласят на собеседование
  • руки в ноги, и бегом на трясущихся коленках по собеседованиям
  • и помни, что каждое собеседование, пусть даже и провалившееся значительно приближает тебя к цели! Ибо на каждом следующем ты уже будешь чувствовать себя гораздо спокойней, уверенней и подготовленней чем на предыдущем. А вопросов процентов 80% почти везде задают одни и те же)
Всё, всем пока, спасибо за внимание и удачи!)
  • ,

Обзор серверов приложений и, конечно же, Tomcat

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

Как я стал программистом, или «Через тернии к звёздам» =)

Как я стал программистом, или «Через тернии к звёздам» =)

Привет Джаварашовец!) Хочу поделиться с тобой своей историей, ибо чувствую на себе моральные обязательства перед замечательными людьми, создавшими этот ресурс, а так же перед сообществом, которое он породил. Создателей хочется хоть как – то отблагодарить, а джаварашовцев ещё пока не достигших своей заветной цели подбодрить, и подкрепить хорошей порцией мотивации)
Я много раз представлял себе как я буду писать эту статью, какие буду использовать слова, и вот, наконец свершилось, и как я в принципе и ожидал все слова куда – то улетучились, так что прошу не судить строго за стиль изложения)
В общем, о главном, вот уже две недели я работаю программистом, и это во многом благодаря джаварашу)
Но всё по порядку, расскажу сперва немного о себе.
Мне 37 лет, женат, двое детей, девочка – 6 лет, и мальчик – 3 года. =)
Последние 15 лет я проработал промышленным альпинистом (высотником), работа, как вы понимаете связанная с программированием чуть меньше чем никак. Но, в общем – то работа неплохая, свежий воздух, поддерживает тебя в «форме», довольно много свободного времени, сам себе хозяин, да и по деньгам в принципе достаточно неплохо (в сезон), НО:
— Имеет ярко выраженную сезонность, т.е. 3 – 4 месяца в году работы практически НЕТУ.
— Перспектив НЕТУ. Проработав 15 лет на этом поприще я понял что в следующие 5 – 10 лет очень навряд ли что — то измениться, по крайней мере в лучшую сторону.
— Дети стали подрастать, и денег стало всё – таки явно не хватать…
— Стало надоедать)… 15 лет всё – таки очень большой срок, за который наверное любая работа начнёт надоедать…
И так, годика два назад, а если быть точнее где — то в мае 2013, я поразмыслив и взвесив все за и против пришёл к выводу что пора что – то менять… а именно пришло время менять работу…
Ну, долго думать на какую именно не пришлось, если уж менять, то на такую работу которая лишена недостатков предыдущей:
— Работа круглый год.
— Хорошие перспективы роста.
— Значительно выше зарплата (если и не сразу, то в ближайшей перспективе)
— Интересная работа, к которой у меня имеются склонности.
Склонности к программированию у меня имелись, правда на практике это выразилось в лишь том что я ещё в школе немного писал на бейсике, ещё меньше на ассемблере (на ZX – Spectrum, он же Sinclair был когда – то такой можно сказать культовый комп, люди моего поколения должны помнить), а так же я легко мог установить / переустановить винду, дрова, ну, вообщем можно сказать «продвинутый юзер» =) Да и с английским у меня тоже всегда было неплохо, можно даже сказать что это было моим хобби… Минусы которые имели место на «высотке» имели и положительные стороны, а именно, всё свое свободное время, которого у меня имелось в избытке весной и особенно зимой (в межсезонье) я мог потратить с пользой на изучение программирования.
Ну вот, значит программирование… а что именно? Программирование – понятие растяжимое, погуглил, какие языки на сегодняшний день наиболее востребованные, перспективные и высокооплачиваемые… и выбор мой пал на её величество Java =)
Так как начинал можно сказать с нуля, старался найти источник знаний соответственный, первой моей книжкой по Java стала «Программирование на Java для детей, родителей, дедушек и бабушек» Якова Файна, которая подкупила меня прежде всего своим названием =) Не могу сказать, рекомендую я эту книгу начинающим, или нет, может есть книги и получше для новичков, это сейчас я уже понимаю насколько там «детский сад», но на тот момент мне было читать её интересно, и довольно понятно, и практические примеры приведённые там, которые я все тщательно проработал, дали мне необходимый минимум практических навыков для дальнейшего продвижения.
Книжку дочитал, нужно двигаться дальше, решил поискать нормальные курсы, очные курсы немного дороговато для меня было, да и не было уверенности что они того стоят, и вот тут, я вспомнил что ещё когда работал над книжкой, я где – то на хабре кажется читал статейку про онлайн курсы JAVARUSH, на тот момент бесплатные =)
Ну, вообщем тут пошло поехало)… после прочтения и проработки книжки первые 10 – 12 уровней я отщёлкал как семечки, было даже слишком легко, но всё – равно интересно, дальше уже стало сложнее и ещё интереснее, но я старался решать ВСЕ задания подряд, и не решив всех заданий на следующий уровень не переходить, и вот тут на джавараше ввели оплату за обучение выше 10 уровня… первые два три месяца я платил помесячно, но потом на Новый Год объявили акцию, 50% скидки, вместо 200$ можно было купить безлим за 100$, признаюсь честно, что на тот момент 100$ у меня конечно были, но лишними их никак назвать нельзя было… т.к. всю зиму я не работаю, жена тогда тоже не работала, и «каждая копейка была на счету», ибо накопленные за сезон деньги нужно было растянуть до марта – апреля, когда у меня опять начнётся работа… Но я чувствовал что эти 100$ будут может самым удачным и выгодным капиталовложением за всю мою жизнь.
У меня есть родной брат, лет 10 назад он с семьей переехал на ПМЖ в Германию, у меня тоже была такая возможность, но я ей не воспользовался, т.к. люблю свой город Одессу, своих друзей, свой образ жизни, и не готов был от всего этого отказаться, а так же я верил что и здесь смогу достойно обеспечить себя и свою семью, и вообще, наверное я просто оптимист по жизни. И хоть у него там с финансами всё обстоит довольно неплохо, я старался никогда у него без крайней необходимости помощи не просить, но знал, что если всё же придется, то он мне не откажет, тем более что 100$ сумма для него смешная. Я обратился к нему, и он с радостью перевёл Зеппу на paypal 100$, за что ему конечно же большое спасибо.
И я спокойно, вдумчиво, без спешки которая всегда присутствует если платишь помесячно, продолжил «грызть гранит науки» =)
Проходил уровни я в той же «манере», строго последовательно, т.е. читал лекцию, и пока свежо её понимание решал задачи к ней, и к следующей лекции не переходил до тех пор пока все предыдущие задачи не были решены, за очень редким исключением. Так я добрался до 20 уровня с 3 – 5 нерешёнными задачами. При возникновении проблем с решением задач, конечно очень помогает общение на форуме, и в то же время помогая другим форумчанам ты сам прокачиваешь свои навыки! Где – то через пол – годика, ближе к концу 2013 года я решил что пора уже попытать счастья и попробовать себя на собеседовании, погуглил в нете примеры резюме, несколько примеров резюме прислали мне знакомые с джавараша, так же написал Зеппу, он мне дал несколько советов, а так же несколько шаблонов для резюме. Я написал своё резюме, отправил его на оценку Зеппу, ему понравилось.
Дальше я разместил своё резюме на нескольких наиболее популярных сайтах поиска работы, затем составил себе список е-майлов HR отделов наиболее крупных IT компаний в Одессе, в которых есть вакансии Java Developer (не только джунов), получился список где – то из 20 компаний. Половину я на всякий случай отложил сразу на потом, на случай если везде облажаюсь что бы был запасной вариант, а на половину разослал своё резюме, и стал ждать приглашений на собеседования =)
Не скажу что прямо засыпали меня приглашениями, но в конечном итоге за месяц – полтора я сходил на 3 – 5 собеседований, какие — то более или менее удачные, какие – то не очень, где – то меня опередили конкурирующие претенденты, так – же было два – три тестовых задания, которые я тоже выполнял с переменным успехом, а так же одно собеседование по разговорному английскому, которое я прошёл успешно, но до тех. собеседования не дошло, т.к. как меня опередил другой претендент.
Так же я чуть не попал на так называемый «бенчмарк» в Luxsoft’е, прошёл тесты, собеседование, но в последний момент, когда прочитал контракт, одумался и отказался, уж больно хреновые, как мне показалось, они предлагали условия. Если вкратце, то три месяца они тебя учат, и платят стипендию 300$, по окончании обучения, если ты им понравишься они тебе предлагают работу джуном, за 500$, через 9 мес., они тебе может быть поднимут зарплату, НО главное НО, как выяснилось уже из договора, заключалось в том что с момента его подписания если ты не будешь посещать курсы например, или после курсов захочешь в течении то ли года, то ли двух, сменить место работы, то ты ОБЯЗАН будешь выплатить им компенсацию за твоё обучение в размере 2500$. Я счёл такие условия неприемлемыми, и отказался.
Ещё от одной вакансии я тоже сам отказался т.к. мне показалось, что на той работе у меня не будет перспектив.
Но главное что я приобрёл очень ценный опыт прохождения собеседований, и после каждого собеседования я уже гораздо лучше представлял что ждёт меня на следующем, какие приблизительно вопросы мне будут задавать, и каких будут ждать от меня ответов… ну не то что бы на всех собеседованиях задают одни и те же вопросы, но многие вопросы задают почти всегда, да и после каждого собеседования я составлял себе маленький списочек вопросов в которых я «плавал», и потом находил на них чёткие ответы. Вообщем ходить на собеседования – это действительно очень полезно, независимо от результатов…
Приблизительно в это же время (осень — зима 2013 года), мне написала в личку Диана и спросила не хочу ли я поучаствовать в «Реальном проекте», я сказал что вообщем – то не против… И ещё где – то через месяцок написал уже Хьюберт с более конкретным предложением участия в уже начавшемся недели две – три назад проекте. Предложили именно мне наверное просто потому что я на тот момент был в числе лидеров по решённым задачам.
Честно говоря после того как Хьюберт перечислил мне технологии используемые в нём (Spring, Hibernate, GWT, MySQL, Maven, Git) стало как – то немного стремновато, т.к. по большей части я слышал эти слова просто в первый раз, а что – то может и слышал где – то когда – то «краем» уха, но только краем уха… Ну, я так подумал что терять мне всё – равно нечего, время на участие есть, по – любому это будет полезный опыт, и согласился.
Признаюсь, по началу было действительно ТЯЖЕЛО, но уже через недельку – полторы – две, я почитав книжки и статейки в нете, немного пообвыкся и вник в работу уже имеющегося кода настолько что бы саму уже что – то написать, и сделать свой первый коммит.
С парнями на проекте мне ОЧЕНЬ повезло как я считаю, всего нас было четверо Тимур (Timur ), Женя (Groomsh ), Серёга (SergeyKandalintsev ), и я. Курировали наш проект hubert и Diana . Тимур занимался по большей части бек – эндом, Женя – фронт – эндом, Серёжа – базой данных, я – немного фронт – энд, немного – бек – энд, но больше наверное всё — таки фронт – энд.
Через месяца два – три мы стали первой командой, которая успешно выполнила настоящий «Реальный проект», которым сейчас пользуются все джаварашевцы – это проект «Рейтинги» =)
Ну, сказать что «Реальный проект» дал мне очень многое, это ничего не сказать!)
Помимо очевидной пользы (огромного количества новых ценных знаний), гораздо важнее то пришло понимание того что даже для «Джава программиста» знание исключительно только Java — это далеко не единственный необходимый навык, хотя и основополагающий. Джава – как азбука программирования, но кроме азбуки ведь ещё нужно знать правила правописания, грамматику, синтаксис, умение правильно строить предложения, иметь богатый словарный запас, ну вообщем аналогия я думаю ясна. Так же и в программировании необходимо знание и умение применять множество фреймворков, паттернов и инструментов разработки, а так же умение искать решение возникающих проблем и ответов на свои вопросы.
После реального проекта я стал интересоваться более продвинутыми технологиями, и углублять свое понимание в уже известных мне…
Мои интересы вышли за пределы чистой Java Core.
А ещё в моем резюме появился новый, солидный пункт в графе «Опыт работы», с описанием крутых и модных технологий, которые были использованы в проекте =)
Но проект закончили, и у меня по – тихоньку начался новый «трудовой сезон» по высотке… свободного времени стало гораздо меньше, и вопрос смены профессии отошёл на второй план, но всё равно почти всё свое свободное время (по вечерам после работы и по выходным) я уделял программированию, писал для себя всякие «минипроектики», иногда решал задачки на джавараш, мониторил вакансии, а в конце осени ещё записался на бесплатные курсы в IT контору DataArt. Ну, сами курсы оказались фуфловые, в основном обзорные, так по «вершкам прошлись» почти ничего полезного я там не узнал, но зато в рамках этих курсов студентам предложили разбиться на команды и написать «Проект» =)
Проект заключался в написании онлайн системы тестирования, с регистрацией пользователей, пользовательской частью (прохождение опросников), и админкой (создание опросников и управление аккаунтами).
Я оказался в одной из четырёх таких команд, и так уж в последствии получилось что проект я писал практически сам. =) И где – то за месяц (параллельно работая на высотке) я уже сам написал вполне сносное, как мне кажется, веб приложение основанное практически на тех же технологиях и паттернах которые мы использовали в Реальном проекте с ребятами на джавараше, ну, плюс ещё jsp, и Spring Security, и ещё кое что =)
Если кому сильно интересно могу кинуть ссылку на открытый репозиторий с исходниками проекта…
Так же где – то в декабре меня пригласили на собеседование из одной конторы, как потом выяснилось Киевской. Собеседование проходило по скайпу. А после этого ещё было собеседование с одним из менеджеров крупной компании — Одесского клиента этой киевской IT конторы. Мне сказали как примут решение позвонят… ну как обычно, подумал я тогда, если сразу не взяли, то надежды мало… но всё – таки где – то через месяц, уже после Нового года, я написал этой HR-менеджеру и поинтересовался на счёт моей кандидатуры, как не странно она ответила что вакансия ещё открыта и решение ещё не принято… ну, значит надежда ещё есть.
И вот, ещё почти через месяц, уже где – то в конце января она позвонила мне с вопросом «ищу ли я ещё работу», на что я «непринуждённо» ответил «да, ищу пока ещё», тогда она сообщила мне что я её уже нашёл, т.к. я им подхожу!)))
Ощущение конечно непередаваемое, когда тебе сообщают такое по телефону, просто крылья вырастают =) что бы это понять нужно просто это самому испытать, чего вам в ближайшем будущем и желаю)
Ну, затем приехал сюда менеджер из Киева, мы с ним встретились, познакомились, я узнал поподробнее о проекте над которым мне предстоит работать. Если вкратце, то эта Киевская фирма разрабатывает для своего корпоративного клиента в Одессе крупное ERP приложение и разрабатывает уже очень давно, я так понял что в общем счёте 3 – 4 года уже =) писалось оно уже многими, но багов в нём всё ещё немерено.
Кроме того, приложении очень много специфических нюансов, и постоянно требуется общение с клиентом, а постоянно командировать сюда людей из Киева сильно геморройно, да и на телефонах сутками просиживать тоже не вариант, и решили они что им требуется человек здесь, на месте, в Одессе.
И вот мне предстоит это приложение допиливать.
Приложение написано на GWT + ExtGWT + Spring + Hibernate + MySQL, и ещё куча вспомогательных второстепенных библиотек. Так уж получилось что это как раз тот стек технологий в которых я развивался и имею более или менее сносный опыт.
Из минусов то что проект старый, и в нём использованы старые версии библиотек и устаревшие подходы проектирования, причём устаревшие на столько что обновлению уже практически не подлежат… или переписывать половину кода… так же оказалось что допиливать я буду его САМ =) это конечно немного не та работа на которую я рассчитывал, я предполагал что ко мне как к любому джуниору будет приставлен более опытный тимлид, который будет меня как – то направлять, делать ревью моего кода, и с которым я смогу в случае затруднений посоветоваться =)
Но судьба распорядилась иначе… мне доверили работу рассчитанную на опытного и самостоятельного разработчика, и в этом есть как плюсы так и минусы. Ну, раз такое дело подумал я, то неплохо бы сходу и прибавку к зарплате попросить =) и поднял первоначальную цифру на 200$. Никаких возмущений с их стороны это не вызвало. Ну, конкретных цифр не буду называть, но скажу что размер зарплаты ощутимо превзошёл мои ожидания. И к тому же всего один (не три как обычно везде) месяц испытательного срока.
И вот уже прошло две недели, с первого взгляда конечно страшно смотреть на такой огромный проект, но я то теперь знаю что первое впечатление зачастую обманчиво, и по началу всегда тяжело, но как говориться «горшки тоже не боги обжигают» и «вода камень точит» =)
И вот по тихоньку я начал вникать в код и теперь знаю что всё получиться…
Оформить официально правда они меня не захотели, сказали что бы оформлял СПД, но это, как я слышал, для программистов обычная практика.
Ещё хочу заметить что работа программистом – это тоже всё – таки не курорт, это тоже прежде всего работа, на которую нужно утром вставать и под вечер с неё возвращаться, но это работа гораздо лучше чем многие другие, по ряду причин уже перечисленных выше, и интерес, и деньги, и перспективы, всё в ней есть. И особенно приятно, когда ты знаешь что смог этого добиться сам, своим умом, своим трудом, своей настойчивостью, что смог поставить перед собой серьёзную цель, и достичь её. Смог изменить свою жизнь, что всё – таки во многом ты сам хозяин своей судьбы.
Единственное чего я теперь боюсь, это своей лени, что добившись этого результата я обленюсь и перестану расти в профессиональном смысле, но очень надеюсь что этого всё — таки не произойдёт =)
В заключении продолжу традицию и коротко перечислю технологии которые для меня были, и остаются ключевыми в обучении и теперь уже и в работе)
ОЧЕНЬ желательно, даже пожалуй НЕОБХОДИМО знание баз данных, SQL (MySQL), jdbc, Hibernate, Jpa, сетевых технологий html, jsp, servlets, xml, Tomcat, ОБЯЗАТЕЛЬНО знание основных JavaSE паттернов (так называемые GOF паттерны), так же ОГРОМНЫМ плюсом будет хоть поверхностно разбираться в Spring'е, SpringMVC, так же желательно сборщик проектов Maven, логирование log4j, юнит тестирование JUnit, работа с системами контроля версий, Git например, ещё бывает спрашивают, или дают тестовые задания по веб-сервисам (SOAP, REST)… но наряду со всем этим знание Java core должно быть если не безупречным, то по крайней мере очень уверенным.
И всё равно знание всех этих технологий (пусть по большей части поверхностно) не гарантирует того что на собеседовании тебя не спросят чего — то о чём ты вообще чуть ли не в первый раз слышишь) но, тут тоже, как повезёт… может и просто по Java core погоняют и всё)
Ещё раз хочу поблагодарить создателей этого замечательного ресурса, в частности Зеппа, Хьюберта и Диану!
А тебе джаварашовец пожелать настойчивости и терпения на избранном тобой пути, как говорил дедушка Ленин: «Пгавильной догогой идёте товагищи!» =) и ещё не потакать собственной лени, и главное «NEVER GIVE UP» и осилит дорогу идущий!
Сори за много букав)

Продолжение
  • ,

Фиксы задач за ноябрь 2014 — июль 2015

Уважаемые Джаварашовцы!

Вы решаете задачи и лучше меня знаете, какие шаблоны и условия не совсем корректны.
Добавляйте в эту тему такие задачи с описанием проблемы.
А я буду стараться дополнить условие и исправить шаблон для них.

Напомню, что у нас есть специальная тема для багов и опечаток в контенте.

Сюда постите неточные условия задач и проблемы с их шаблонами.

Сообщения типа «level99.lesson99.task01 не проходит тестирование» сюда постить не нужно.
Для проблемы с конкретным решением есть ресурс Help

Я ожидаю подобной информации:
* level99.lesson99.task01 — в условии не указано, что результат нужно выводить на экран
* level99.lesson99.task01 — в шаблоне такой-то метод работает неправильно с такими-то данными

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

Благодарю за помощь!

Актуальная тема с фиксами

Фиксы за октябрь 2014

level27.lesson15.big01

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

И так вопросы по заданию 2

1. Мы много работаем с консолью. Пора создать единую точку взаимодействия.
Создайте класс ConsoleHelper с единственным BufferedReader, через который будете работать с консолью.
Запомните, этот класс не хранит никаких данных и состояний, поэтому все методы будут статическими.
Создайте в нем три метода:
-writeMessage(String message) — для вывода message в консоль
-String readString() — для чтения строки с консоли
-ListgetAllDishesForOrder() — просит ползователя выбрать блюдо и добавляет его в список. Введенное 'exit' означает завершение заказа.
исключения пробрасывайте выше, на этом уровне не понятно, что с ними делать.
Имеет ли значение для тестов как выбирать блюдо, название вводить или по номеру

2. Отрефакторьте код — работа с консолью должна быт чтолько через класс ConsoleHelper

3. Вернемся к классу Order: в нем есть ссылка на планшет, и еще есть список выбранных блюд.
Создайте поле dishes — список блюд. Инициализируйте его в конструкторе, вызвав метод getAllDishesForOrder из ConsoleHelper.
Ссылку на планшет как получать через конструктор или сеттер

4. Перепишите метод toString в классе Order. Пусть он возвращает пустую строку, если нет блюд в заказе, иначе
вывод должен быть аналогичный примеру в порядке добавления блюд. Используйте ConsoleHelper.
Пример:
Your order: [Juice, Fish] of Tablet{number=5}

5. У нас все завязано на работу с консолью. Однако, при возникновении исключений, наше приложение умрет.
Чтобы узнать причину — добавим в Tablet статический логгер java.util.logging.Logger, инициализированный именем класса.

6. В методе createOrder класса Tablet обработаем исключения ввода-вывода.
Запишем в лог «Console is unavailable.». Уровень лога — SEVERE — это самый серьезный уровень, мы не можем работать.
7. Надо начинать тестировать наше приложение.
Добавьте в main создание планшета и создание заказа — new Tablet(5).createOrder();
  • ,

Руководство пользователя IntelliJ IDEA. Основы работы с системами контроля версий.

Основы работы с системами контроля версий

Одна из наиболее приятных вещей в IntelliJ IDEA это замечательная интеграция с основными системами контроля версий, 
такими как Git, GitHub, Subversion, Mercurial, Perforce, TFS, CVS, Visual SourceSafe и Rational ClearCase.

  1. Получить ваш проект из системы контроля версий
    Чтобы импортировать ваш проект из системы контроля версий, нажмите кнопку Check out from Version Control на Welcome screen (приветственное окно IDEA), или в меню VCS (система контроля версий) на главной панели меню.



    Если в вашем проекте есть файлы настройки сборки для Maven или Gradle, IntelliJ IDEA предложит вам использовать их для конфигурации.