Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java EE (J2EE) и Spring > Java EE прог - как вы устраивались на работу? |
Автор: lesha_od 28.4.2007, 08:20 |
/прошу не переносить пока в работу, потому что в этом форуме больше людей, понимающих в технологиях java ee/ Очень интересно, какие сейчас направления в Java EE используются наиболее широко. Я через год заканчиваю университет, то есть целый год у меня на изучение технологий Java. Пока что заметил такие вещи: 1. С опытом работы берут куда угодно. Но чтобы получить работу, связанную с Java EE, а соответственно и опыт, нужно начинать с "левых" вакансий, так или иначе связанных с Java, а потом переходить на более серьезные. Кто как начинал карьеру, связанную с Java? 2. Непонятно, за чем "гнаться" в технологиях. Только закончил ознакомление с JSP, JSF, Servlets. И на уровне SCJP знаю Java. Какие сейчас направления актуальны, какие будут актуальны через год? Понятно, что Enterprise JavaBeans нужно изучать, а что еще? AJAX + JSF? Scruts? 3. Где можно почитать актуальную информацию про Java? Я нашел много книг и журналов, но там не совсем то. 4. Нужно ли получать сертификаты SCJP, SCJD? |
Автор: chief39 28.4.2007, 12:10 |
Разберись с веб-программированием, работа с БД - джейдибиси, связки с крупными серверами, транзакции, етц фундаменталзы - чтоб было как удобный молоток, а не непонятная дрель. еджиби - полистай, попробуй. ОРМ какой-нить - ентити 3.0 , хибернейт А там - пофик - иди и работай. Рвись сразу как можно выше - выучишься. Всё равно всех технологий не осилить, в каждом новом проекте что-то новое - будешь раз в пару месяцев какую-то технологию подучивать on demand |
Автор: lesha_od 28.4.2007, 14:53 | ||||
tux,
Дело вот в чем. Все хотят программистов Java EE с опытом работы. Мол новичков мы не берем, зато спецам платим много. И говорят "иди в наше отделение QA, а потом через год-два наберешься опыта и переведешься на другую должность". Что лучше - устроиться так, или просить работу на Java EE со сравнительно низким уровнем оплаты?
А можно один хороший, на котором хорошее наполнение, и достаточно посещаемый? На английском. chief39, а есть универсальные технологии, которые в любом случае нужно досконально знать? кроме общих знаний по всей системе |
Автор: tux 28.4.2007, 15:47 | ||||
ИМХО лучше второе, если конечно цель именно Java. Тогда опыта действительно быстро наберешься.
Интересно зачем тебе посещаемость? Вот сборка отовсюду - http://www.j2eeolympus.com/, насколько посещаемая, не знаю. И вот - http://www.theserverside.com/, J2EE community. |
Автор: chief39 28.4.2007, 15:47 | ||||
! Потом ты сам поймёшь что надо знать, выучишь это, попробуешь, запишешь в резюме опыт работы и спокойно пойдёшь в любую контору которая и выдвигает такие требования. Кстати, зачастую 3-5 лет опыта и бла-абла - это "очень желательно". Но такова сейчас ситуация, что возьмут и с годом-два на эту должность. А на джуниора - дык и без опыта могут взять.
Нет. java fundamentals - чем лучше, тем лучше jdbc - надо. Но может быть что в конкретном случае и не понадобится. ant - да. Но может там maven или вообще ничего нет лдя сборки. jsp/servlets/jsf - надо. Но есть проекты и без веба. Или роли в проектах, когда веб не нужен. struts/spring/velosity - полезно, но... знаю проекты где этого вовсе нет ejb - весомо, дорого и "имиджево". Полезно, но опять-таки... может им нужен просто обалденный джава программер,а не кое-какой знаток еджиби. hibernate и проч - полезно, но не факт что везде используется(даже напротив иногда) Учи и пробуй просто направления с одной какой-то технологией в них. Веб-программирование - джсф или struts еджиби пару утилит типа анта-мавена-круиза-континуума остальное потянет за собой. Короче выучи какой-то кусочек и иди на работу. Даже на 24 бакса в месяц(хотя, чем больше - тем лучше ![]() По правде говоря, я когда-то пришёл на J2EE программиста с маааахоньким некоммерческим опытом джавы. Правда были си и скл. Прошёл месяц - и уже наман. три месяца - полноценный программер по направлению. анты, еджибя, паттерны, orm-ы и проч сами попадались под ноги и просили с ними разобраться. А выучив несколько технологий, выучить 10-ю - не проблема. Погляди на "КОТа", J2EE во всей красе... а потом хлоп - и сишарп. Уверен, если нуна - хоть перл, хоть фортран. Так что... дорогу осилит идущий. Всё равно тебя будут брать не за огромный опыт или знания а за перспективность. Базовый багаж знаний - это лишь для резкого старта твоего. |
Автор: lesha_od 28.4.2007, 19:32 | ||
У меня еще вот такой вопрос. Поскольку я программист очень начинающий, и серьезные проекты не разрабатывал - а только университетские, или достаточно небольшие по размеру. Должен ли я наизусть знать, что например для создания собственного тега нужно наследовать класс SimpleTagSupport и перезаписать метод doTag? Нужно ли досконально наизусть знать части web.xml? Либо я могу полагаться на справочники, свойства среды разработки и прочее? tux,
Обычно на посещаемом комьюнити есть посещаемый форум. Добавлено через 5 минут и 2 секунды chief39, И по поводу сборки проектов. Я пишу на NetBeans, там достаточно удобно всё разложено. Нажал F6 - проект скомпилирован, отдеплоен (как это по-русски - распространен? ![]() Раньше писал Java-приложения на Eclipse, но там нет встроенной поддержки Java EE. |
Автор: Hidrag 28.4.2007, 20:38 |
lesha_od, НетБинс вешь просто замечательная, но хорошо бы знать как он и что делает, вот для этого чисто ради практики стоит собрать приложение без него ![]() За обращение к справочной информации никто ругать не будет, даже порой не так важно много знать, как где найти нужные "знания" в кротчайшее время в нужный момент. И до web программрования стоит очччень хорошо знать "Java Core". Моя истроия оччень похожа на твою. Я устроился в крупную фирму помощником аналитика, через два месяца взвыл, сказал что это не мое и пошел увольняться, меня спросили а что же "мое", я сказал что хочу программить на java, решили попробывать (хотя я до этого только только стал разбираться с java и писать свои первые хеллоуворды), и взяли меня младшим программистом, и вот уже 6 месяцев ежедневного кодинга. Скажу сразу, за 4 года самостоятельного изучения программирования (Delphi, C#) и 4 года в ВУЗе (а учусь я на программиста) я не узнал столько нового как запервые два месяца практики и работы. ИМХО С уважением. |
Автор: lesha_od 28.4.2007, 22:06 |
Hidrag, Да, конкретный проект дает очень сильный толчок к знаниям. Когда нужно было срочно сделать курсовую, за один день разобрался с основами Swing, и сделал достаточно приличный интерфейс. Так все-таки НетБинс чаще всего используется для JEE? Он очень удобный, практически настолько, насколько и медленный. Дома-то разница в скорости по сравнению с Eclipse небольшая, а в универе по полчаса ждать приходится. |
Автор: Greg 28.4.2007, 22:18 |
На данный момент своего развития я вижу два пути начать работать программистом: 1.Придти и сказать: "У меня нету опыта, но я хочу обучиться делать то-то или то-то.Я согласен на любую зарплату". Если тебя спросят, согласишься ли ты работать QA, то, ты, скорее всего, согласишься. В итоге ты будешь тестировать софт, это тоже работа - там своя специфика и свои специалисты. Не факт, что тебя переведут на должность программиста, это потому что, в обязанности QA не входит написание кода и после 8 часов работы вряд ли у тебя останутся силы и желание писать код. 2.Изучить некоторые технологии самостоятельно, написать тестовый проект.Придти и сказть: "Я знаю то и то, у меня есть проект, который вы можете заценить". Ты покажешь, что можешь добиваться своей цели самостоятельно. Тебя уже можно будет оценить, а это очень большой плюс. Так вот, для начала напиши тестовое задание, в интернете примеры таких заданий найти не сложно. Если это веб проект,то скорее всего тебя попросят использовать: Struts, Hibernate, JSTL - это то,что используют очень многие, но не факт, что фирма, в которую ты будешь устраиваться, использует именно их. Не расстраивайся, на работе тебе все равно придется обучаться постоянно и скоро ты поймешь, что лишних знаний не бывает ![]() Преимущества выбора Eclipse в качестве IDE: 1.Он разбит на части, как следствие относительно легкий, легко расширяемый. 2.Когда спрашивают, какой дистрибутив Linux выбрать - обычно отвечают, тот которым пользуются ваш знакомый гуру. Не скажу, что все, но многие профессионалы используют Eclipse из-за пункта 1. 3.Он бесплатный и с открытыми исходниками. Желаю удачи. |
Автор: lesha_od 29.4.2007, 00:07 |
Greg, с Эклипс есть возможность работать с Java EE? Как называется надстройка? |
Автор: Greg 29.4.2007, 00:15 |
Юзай WTP |
Автор: lesha_od 30.4.2007, 18:48 | ||
Еще раз спрошу: на предполагаемом собеседовании насколько важны мои знания конкретных функций и связей между классами? Или я смогу сказать: должна быть такая-то функция, искать надо в АПИ. Или например спросят, как с помощью JavaServer Faces сделать список с импортом элементов из web.xml. Я должен знать такие мелочи, либо просто знать, где это найти? И должен ли я знать то, что за меня может сделать IDE? Greg,
Где можно найти примеры тестовых заданий? Не просто "напиши часы, которые работают так-то", а с описанием функций и требованиями. Я хотел было найти задания к Sun Certified Java Developer, там дают полную спецификацию проекта, который надо сделать. Но даже не знаю, где искать - гугл не выдает. |
Автор: nornad 30.4.2007, 19:23 | ||||
Если на собеседовании у тебя спросят что-либо в этом духе, можешь сразу говорить им "извините, но я у вас работать не буду". Потому что это никак не выявит твой уровень, а лишь покажет, знаешь ли (слышал ли, видел ли - неважно), что за функция в конкретно приведённом примере должна быть использована. А посему это явно выдаст тот факт, что организация не может (или не хочет) позволить себе хорошего специалиста-рекрутёра. В общем, хорошим местом работы таую организацию явно не назовёшь.
Сомневаюсь, что такие задания есть. Ещё больше сомневаюсь, что на собеседовании тебе будут давать точно расписанное ТЗ. Я, например, когда общаюсь с претендентом, даю общее описание того, что требуется реализовать и за какой срок. Если человек с головой, то найдёт хорошее решение задачи. А если его код из рук вон плох - зачем мне такой работник? Дай я ему разжёванное ТЗ и он даже будучи плохим программистом сможет написать вполне нормальный код. Я его приму, а потом придётся увольнять. Зачем? ![]() |
Автор: lesha_od 1.5.2007, 05:32 | ||
nornad,
В данном случае я говорю про задание не для собеседования, а для того, чтобы самому тренироваться в создании проектов. Дома. Надо же какой-то опыт самому приобрести, прежде чем идти устраиваться. |
Автор: nornad 1.5.2007, 06:23 | ||
Извини, но из этих слов
я однозначно понял так, как описал. ![]() Ежели ты имел в виду проекты для саморазвития, то посоветовать могу лишь просто поиграться с различными технологиями и их отдельными частями, написать пару небольших проектиков хотя бы для того, чтобы "пощупать" код. Но и этом случае тестовых заданий с расписанными ТЗ в сети больше не станет. Буду рад, если они обнаружатся (мне, в принципе, тоже интересно глянуть на них и кое-что, наверное, попробовать при следующем знакомстве с очередной технологией). |
Автор: Greg 1.5.2007, 15:27 | ||
Такие задания есть, не знаю, правда, насколько много, но мне приходилось иметь дело с тремя разными конторами, которые предлагали достаточно конкретные описания для веб-проекта.
Если имеются две постановки вопроса, одна из котрых сильное обобщение первой: 1."Мне нужна штуковина, на которой можно возить предметы." 2."Мне нужен легковой автомобиль с прицепом, для перевозки предметов с габаритами не более чем 2x2." Интересно, по Вашему получается, что с заданием 2 справится почти каждый, в то время как 1-ое поможет выявить склонность к работе в проекте ? lesha_od, очень советую обратить особенное внимание именно на тестовое задание, которое будет тебе высылать фирма. |
Автор: nornad 1.5.2007, 18:02 | ||
По моему получается, что с третьим заданием справится "почти каждый": 3. "Мне нужен легковой автомобиль. Вот детальное описание всех его узлов, механизмов и деталей." Хотя, приведённый пример (все три варианта) всё же несколько неудачен. Я не говорил про излишнюю обобщённость. Задание должно быть предельно ясным, но при этом не детализированным, чтобы можно было увидеть, чего стоит претендент. |
Автор: Greg 1.5.2007, 19:53 |
Трудно с этим согласится. Даже с такой несложной работой, как строительство зданий, где творческий элемент вовсе отсуствует, справиться дано не каждому. В реальных проектах, я думаю, Вы не даете программистам полную свободу ? Ограничения, они всегда присутсвуют. На мой взгляд, детализация проекта вовсе не означает, что с такими проектами справляться легче - думать так совсем не правильно. Плюс к этому, обычно приписывается, что Вы можете добавить или изменить что-либо по Вашему усмотрению. Неприятно, когда тестовое задание оформлено лишь бы как - дальше сам додумайся. Это элементарное неуважение к кандидату. |
Автор: nornad 1.5.2007, 20:46 | ||||
Абсолютную свободу не даю, конечно. Иначе вместо "телевизора" рискую получить "велосипед". Я задаю общее направление. После того (или в процессе), как исполнитель продумает, что и как он решил делать, мы с ним обсуждаем - всегда есть возможность понять задачу неправильно или не в полной мере.
Уровни детализации различны. Полностью детализированное задание не предполагает умственной деятельности работника, поэтому я и против полной детализации. Но я и не выступаю за полное обобщение задания - в этом случае придётся довольно долго объяснять, что же требуется получить в итоге. Детализация должна быть в меру. А тестовое задание я специально делаю более обобщённым, чем стараюсь давать на проектах - так проще увидеть, способен ли человек думать самостоятельно. Если не способен - мы с ним не сработаемся. Может, он и прекрасный исполнитель, но мне требуются люди, которые могут принимать решения самостоятельно, если того требует ситуация. С этим я не согласен. Потому что вопрос можно повернуть и так: если ко мне пришёл на собеседование человек, который мало что умеет и его умения ограничиваются в основном механическими движениями мышкой, то не есть ли это неуважение ко мне? Я считаю, что лучше потерять хорошего кандидата из-за его моральных претензий к моей позиции, чем нанять и через месяц уволить неподходящего человека. К тому же, если человеку не нравится, какое ему дали задание (качество поставленной задачи) - его право высказать своё мнение. Если же он молчит или просто бросает задание - вряд ли он впишется в команду. Наиболее вероятно, что он индивидуал и на командную работу "раскрутить" его будет проблематично. С другой стороны, индивидуалы тоже иногда полезны. ![]() |
Автор: Greg 1.5.2007, 21:50 | ||
Раз уж разговор дошел до уровней, могли бы Вы продемонстрировать что по Вашему есть не детализированное задание, а я в свою очередь приведу в пример задание, которое считаю достаточно детализированным. |
Автор: nornad 2.5.2007, 04:31 |
Пожалуйста, вот пример небольшого задания без лишней детализации: Написать, используя трёхзвенную структуру, приложение для хранения и отображения контактной информации пользователей. Если это детализировать, то не выполнит только дурак или вообще не склонный к программированию человек. Но небольшая детализация всё же присутствует (я же хочу увидеть, что человек действительно может работать с трёхзвенкой, вот и детализирую требование; какую базу данных он использует, какой сервер приложений - неважно, так же, как и то, какие данные по пользователям он будет хранить; важно - как он будет решать задачу). |
Автор: chief39 2.5.2007, 22:37 |
На вопросы "как именно называется метод и в каком классе он находится?" - отвечать можно в общем. Я многого и сам не помню. И выспрашивать точное название тега/метода или класса - это заморочки. Если кто-то будет такое выдирать из тебя - шли их на. Работать тут тебе нормально не придётся. Хотя, что такое System, что такое out и что такое println - знать, канешна полезна ![]() Ну и на вопрос "в чём можно хранить коллекции пар?" желательно назвать хешмапу, хешсету и проч, а не заявлять что эт оя прочитаю при необходимости ![]() А вот как именно там метод звётся put или add - это, чесс говоря, я и сам хз сейчас. И на собеседованиях людей за такое не гоняю. Не энциклопедиста ведь на работу берёшь ![]() |