Ищу работу программистом Java + Spring и, как-то, наверное, не очень интересен работодателю своим прошлым — не зовут собеседоваться.
Постоянно встречаю в вакансиях 'присылайте ссылки на ваши проекты' и прочие 'если вам есть чем похвастать — ждём вас'.
Посему появилось желание и необходимость написать что-нибудь, что подпадёт под вышеуказанные требования, а не какой-нибудь хелловорд.
Осталось придумать что именно.
Встречал мнение, что если человек — хороший программист, то идеи он генерирует на право и на лево.
Я, видать, не очень хороший — мои идеи возникают по поводу реализации чего-либо, изменений в лучшую сторону имеющегося или автоматизации чего-либо.
Одним словом — автоматизация производственного процесса. Процесс изучил, возникли идеи как его автоматизировать.
А вот сам процесс придумать ума уже не хватает.
Так вот прошу помощи с идеей. Какого велосипеда людям не хватает?
Или отправьте где искать.
Присоединяйтесь к какому ни-ть опенсорс проекту. Пишите в резюме, что участвовали в таком-то и таком-то проекте.
От вас ждут прежде всего опыта использования java и так далее а не каких-то вундервафель на гитхабе.
Здравствуйте, Barlog M., Вы писали:
BM> Ищу работу программистом Java + Spring и, как-то, наверное, не очень интересен работодателю своим прошлым — не зовут собеседоваться.
Видимо прошлое совсем не связано с Java, Spring и т.д.?
Здравствуйте, -n1l-, Вы писали:
N>Присоединяйтесь к какому ни-ть опенсорс проекту. Пишите в резюме, что участвовали в таком-то и таком-то проекте. N>От вас ждут прежде всего опыта использования java и так далее а не каких-то вундервафель на гитхабе.
1. К какому? Где искать опен-сорс проекты, где подойдёт не владеющий разговорным английским разработчик?
2. Участие в проекте и создание проекта — несколько разные вещи. Участия будет достаточно?
Здравствуйте, Dziman, Вы писали:
D>Видимо прошлое совсем не связано с Java, Spring и т.д.?
Вы правы. Но я ещё не встречал в жизни человека, родившегося с опытом работы на Java и Spring (встречал только с опытом руководства).
Хотелось бы как-то разорвать порочный круг: не берут работать — нет опыта, нет опыта — не берут работать.
Здравствуйте, Barlog M., Вы писали:
BM>Ищу работу программистом Java + Spring ..
С июня месяца ничего не поменялось? http://rsdn.ru/forum/job/5653497.1
Здравствуйте, Barlog M., Вы писали:
BM>Встречал мнение, что если человек — хороший программист, то идеи он генерирует на право и на лево.
Никак не связано вообще.
BM>Я, видать, не очень хороший — мои идеи возникают по поводу реализации чего-либо, изменений в лучшую сторону имеющегося или автоматизации чего-либо.
Это нормально. Даже в бизнесе давно так. Нашел кого-то успешного. Сделал так же, только лучше.
Найди полезный и небольшой проект. Сделай такой же но с бледжеком и всем остальным.
N>>Присоединяйтесь к какому ни-ть опенсорс проекту. Пишите в резюме, что участвовали в таком-то и таком-то проекте. N>>От вас ждут прежде всего опыта использования java и так далее а не каких-то вундервафель на гитхабе.
BM>1. К какому? Где искать опен-сорс проекты, где подойдёт не владеющий разговорным английским разработчик? BM>2. Участие в проекте и создание проекта — несколько разные вещи. Участия будет достаточно?
К тому с которым приходилось работать и чего то не хватало.
Я использовал Spark (http://spark.apache.org) в своем проекте, мне не хватало одной фичи, написал ее сам, засабмитил пулл реквест, вот я и почти что конрибутор спарка (пока еще не смерджили в мастер)
Можно взять тот же спарк, он написан на скале и я уверен в Java API еще много чего не хватает. Или спринг тот же. Ваш английский не кому не нужен, главное что код был ок и два абзаца с описание к пулл реквесту.
[skipped]
BM>Так вот прошу помощи с идеей. Какого велосипеда людям не хватает? BM>Или отправьте где искать.
BM>Технологии: Spring + AngularJS.
Напиши CD ejector. На спринге и ангуляре я ещё не видел. Займёшь свободную нишу пока другие шараварщики не набежали
А если по делу, то вот например сделай сервис для генерации разнообразных фейковых данных. На ангуляре морда которая позволяет выбрать какие фейковые данные и сколько нужно нагенерить и выгружает их в csv, json и т.п. Бекенд может генерить их или предоставлять API. Вот тебе референс на генерилку чтобы было понять что можно генерировать. Будет круто если научишся генерировать (или искать) фейковые изображения по теме (например узоры, фотографии людей, постеры фильмов, котики, фото на которых преобладает определённый цвет и т.п.) и подходящего размера и выгружать их пачкой.
Сервисы похожие есть, но наборы фейковых данных как правило ограничены изображениями или парой тройкой текстов. Ты же можешь сделать более универсальный сервис с больши кол-вом фейковых данных, с лучшим их качеством, локализацией и т.п.
Мы были здесь. Но пора идти дальше. (с) Дуглас Коупленд, Рабы "Микрософт"
Здравствуйте, Barlog M., Вы писали:
BM>Ищу работу программистом Java + Spring и, как-то, наверное, не очень интересен работодателю своим прошлым — не зовут собеседоваться.
У вас на данный момент есть одна принципиальная проблема — это возраст. Работодатели с трудом могут представить себе, что сделать с джуниором, приближающимся к 4-му десятку. Соответственно, надо искать пути обхода этого. Вот приблизительные рекомендации:
1) Прочитав резюме, у меня складывается о вас впечатление, как о человеке, собирающимся перейти из .Net в Java. При этом послужной список в .Net так же не блещет "крутизной". Соответственно, сразу же возникает вопрос — почему человек, которому еще совершенно точно есть куда расти в .Net решает все бросить, и перейти в Java, учитывая, что на вашем текущем уровне рынки .Net и Java предложат примерно одинаковую зарплату? Это наводит на всякие неприятные рассуждения: может быть вы не смогли справиться c .Net, и пробуете счастье в Java, может быть вы неусидчивый, может быть еще что-то. Здесь важно понимать, что на этапе чтения отклика на вакансию любая двусмысленность играет против в вас. Так работает психология человека. Уверен, вы сможете все это объяснить при очной встрече, но наличие этих двусмысленностей мешает этой встрече произойти.
Совет: переписать резюме с посыла "перехожу с .Net на Java" на "уже перешел на Java, ищу работу по ней". Для этого вам надо широко расписать свои навыки Java, подробнее расписать джавовский проект по работе с СУБД, а часть по .Net макисмально сжать, и поставить уже после Java (у вас сейчас наоборот).
2) То, как будут оценивать ваши проекты на ГитХабе зависит от того, кто вы есть. Если вы вчерашний студент, то людям понравится ваш MVC-проект. Если же вы человек с опытом, то люди будут искать ошибки. И они есть. Например, ServiceController.35 — вы создаете HashMap на каждый чих, вместо того, что бы иниицализировать ее один раз в final поле. Очень странно выглядит метод getURL() — ведь вы же можете сидеть за proxy-сервером, из-за чего имя и порт будут отличаться от того, что видит юзер. Мы же не знаем требований и инфраструктуры, где бы этот проект должен был быть гипотетически применен. Может быть это корректно, а может быть у вас слабовато с пониманием того, как работают сети. Здесь точно так же — любая двусмысленность трактуется не в вашу пользу.
Совет: максимально причесать код, попросить знакомых товарищей его отревьюить.
3) Многочисленные джавовские аббревиатуры в резюме — классический признак джуниорства, от которого мы как раз таки стремимся уйти, пытаясь спозиционировать вас, как человека с опытом, который уже почти перешел на новую платформу. Вы будете смеяться, но больше половины джавистов, которые используют MVC ни черта не опнимают ни в HTTP, ни тем более TCP/IP. Больше половины тех, кто пишет Hibernate/JPA ничего не понимают в SQL. И т.д.. А между тем, от человека с опытом, юность которого уже миновала, ожидают именно базовые знания: алгоритмы, многопоточность, устройство коллекций, TCP/HTTP, SQL, вопросы производительности, и т.д..
Совет: при описании навыков сначала сделать упор на базовые знания. А в конце — на конкретные инструменты, позволяющие эти знания применять. Вместо "Spring MVC" надо написать, что вы знаете сети, знаете устройство HTTP, и понимаете архитектуру сервлетов. А где-нибудь в конце упомянeть, что работали с MVC. Вместо "JPA" написать, что вы понимаете SQL (реляционная алгебра, нормализация-денормализация, индексы, и т.д.), потом упомянуть JDBC, и уж потом указать JPA/Hibernate/MyBatis/<и т.п>. Так же сделать упор на JavaSE — устройство коллекций, модель пямти Java, дженерики, хип, и т.д.. И потом можно попробовать эти знания выставить напоказ через тот же GitHub. У вас сейчас в проекте несколько строк логики и несколько сотен строк инфраструктуры. Если вы их сравняете по числу — это сделает ваш проект значительно интереснее, так как подобную инфрастуктуру может набросать дюбой, прочитав первый попавшийся step-by-step туториал по MVC, тут много ума не надо. Джуниору-студенту это плюс, вам — нейтрально или минус.
Если каких-то знаний из перечисленного выше нет — их надо получить. Самостоятельно или с чей-то помощью. Именно на это я рекомендую вам тратить свое время, а не на какие-то там open source проекты, в которых вы заведомо не сможете заполучить достойную роль за приемлемое время, и максимум будете фиксить какую-то незначительную хрень. Ключевыми участниками open source проектов являются люди, являющиеся спецами в своей предметной области. Кто-то досконально знает IO, и пилит файловые системы или какой-нибудь H2. Кто-то отлично разбирается в дистрибутивных системах и пилит Hadoop или Akka. Кто-то шарит в поиске и алгоритмах, и пилит Lucene, и т.д.
Влезть в хороший open source проект и наработать в нем что-то, что не стыдно показать работодателя несоизмеримо сложнее, чем поднятуть свои знания в базовых вещах и подкорректировать резюме. Несоизмеримо. Поэтому категорически не рекоммендую вам этот путь. Для интереса, спросите у тех, кто вам советует идти в open source, делали ли они сами так, когда устраивались джуниором или меняли специализацию. Гарантирую вам, они так не делали. Потому что это удается одному из 100 в лучшем случае.
Резюмируем:
1) Перефокусировать резюме с .Net на Java
2) Перефокусировать резюме с приклданых технологий на базовые знания (подтягивая их, если надо)
3) Причесать проект на GitHub, убрав очевидные ляпы. Если будет время/вдохновение — попробовать его усложнить.
1) Необходимо для начала подтянуть знания по мейнстримовым orm технологиям, типа Hibernate (в резюме не увидел). Без этого вообще никак.
2) В резюме расписать опыт работы по каждой из технологии в годах. Чтобы было понятно это вы реально в работе применяли, или прочитали книжку из серии "X in Action".
3) Надо идти на джуниор программиста. Мидла вам так сходу без опыта тех самых мейнстримовых технологий никто не даст. Ничего в этом нет зазорного.
А уже потом по мере накопления опыта будете требовать повышения.
4) Свой проект можно поделать пока у вас сейчас нет работы, не для того чтобы показать/похвастаться (хотя и для этого тоже), а скорее для того, чтобы набить руку в
используемых технологиях, и не попасть впросак на собеседовании. Т.е. чтобы укрепить и углубить знания полученные из книг.
Как вариант можно допустим простейший древовидный форум, как в rsdn.. Технологии Spring MVC + Hibernate. При этом можно попробовать WebSocket, чтобы реализовать
автоматический показ ответов на сообщение по мере их появления. Spring Security используйте для аутентификации пользователя.
Здравствуйте, Closer, Вы писали:
C>А если по делу, то вот например сделай сервис для генерации разнообразных фейковых данных. На ангуляре морда которая позволяет выбрать какие фейковые данные и сколько нужно нагенерить и выгружает их в csv, json и т.п. Бекенд может генерить их или предоставлять API. Вот тебе референс на генерилку чтобы было понять что можно генерировать. Будет круто если научишся генерировать (или искать) фейковые изображения по теме (например узоры, фотографии людей, постеры фильмов, котики, фото на которых преобладает определённый цвет и т.п.) и подходящего размера и выгружать их пачкой.
C>Сервисы похожие есть, но наборы фейковых данных как правило ограничены изображениями или парой тройкой текстов. Ты же можешь сделать более универсальный сервис с больши кол-вом фейковых данных, с лучшим их качеством, локализацией и т.п.
Спасибо за дельную подсказку.
Недавно пользовался mockaroo.com и generatedata.com и ловил себя на мысли, что у меня терпения не хватит столько накропать. Хотя если заюзать что-то типа jfairy.org то две трети работы можно считать готовыми.
Здравствуйте, GreenTea, Вы писали:
GT>1) Необходимо для начала подтянуть знания по мейнстримовым orm технологиям, типа Hibernate (в резюме не увидел). Без этого вообще никак.
А JPA разве не достаточно?
GT>2) В резюме расписать опыт работы по каждой из технологии в годах. Чтобы было понятно это вы реально в работе применяли, или прочитали книжку из серии "X in Action".
В книжке обычно написано больше, чем применяется на деле.
GT>3) Надо идти на джуниор программиста. Мидла вам так сходу без опыта тех самых мейнстримовых технологий никто не даст. Ничего в этом нет зазорного.
Зазорного я в этом конечно ничего не вижу. Но выходит опыт проектирования, реализации, оптимизации запросов, аудита, поиска ошибок, взаимодействия с пользователями и т.п. не нужен?
Получается он неотрывен от технологий?
GT>Как вариант можно допустим простейший древовидный форум, как в rsdn.. Технологии Spring MVC + Hibernate. При этом можно попробовать WebSocket, чтобы реализовать GT>автоматический показ ответов на сообщение по мере их появления. Spring Security используйте для аутентификации пользователя.
Здравствуйте, Barlog M., Вы писали:
BM>Здравствуйте, GreenTea, Вы писали:
GT>>1) Необходимо для начала подтянуть знания по мейнстримовым orm технологиям, типа Hibernate (в резюме не увидел). Без этого вообще никак.
BM>А JPA разве не достаточно?
Желательно, но не достаточно. Это ведь только интерфейс/спецификация. Хотя, если у вас был реальный опыт работы с JPA, то это автоматически означает что был опыт с некой имплементацией.
Часто бывает что JPA недостаточно, и для некоторый вещей надо использовать какие-то специфические возможности того же Hibernate.
GT>>2) В резюме расписать опыт работы по каждой из технологии в годах. Чтобы было понятно это вы реально в работе применяли, или прочитали книжку из серии "X in Action".
BM>В книжке обычно написано больше, чем применяется на деле.
Да, но без реального применения на практике знания из книги быстро улетучиваются. После же применения, задействуются какие-то иные механизмы интеллектуальной памяти.
Плюс при использовании технологии могут некоторые вещи не получаться, и приходится глубоко дебажить, чтобы понять, что-же не работает. И во время дебага, исследуя внутренности
некого фреймворка, приходит более глубокое, не книжное понимание его устройства.
GT>>3) Надо идти на джуниор программиста. Мидла вам так сходу без опыта тех самых мейнстримовых технологий никто не даст. Ничего в этом нет зазорного.
BM>Зазорного я в этом конечно ничего не вижу. Но выходит опыт проектирования, реализации, оптимизации запросов, аудита, поиска ошибок, взаимодействия с пользователями и т.п. не нужен? BM>Получается он неотрывен от технологий?
Этот общий опыт тоже полезен, но немного ортогонален. Бизнес обычно хочет получить такого (образно говоря) универсального солдата, который сразу вступит в бой, выполняя любые задачи,
которые дадут на проекте. Если солдат не владеет технологиями, которые используются на проекте, то это значит, что он еще будет их поначалу изучать, долго вникать,
ошибаться по пустякам и т.д. Поэтому обычно желают заполучить сразу опытного. Если не было опыта с базовыми технологиями, тулами, которые используются на проекте,
или их аналогами — то это уровень джуниора.
GT>>Как вариант можно допустим простейший древовидный форум, как в rsdn.. Технологии Spring MVC + Hibernate. При этом можно попробовать WebSocket, чтобы реализовать GT>>автоматический показ ответов на сообщение по мере их появления. Spring Security используйте для аутентификации пользователя.
BM>Благодарю за идею.
Здравствуйте, Barlog M., Вы писали:
BM>Ищу работу программистом Java + Spring и, как-то, наверное, не очень интересен работодателю своим прошлым — не зовут собеседоваться.
Если б сейчас у нас в конторе не была бы задница с деньгами определенная, в результате экономия на всем на чем только можно и даже нельзя, как минимум на поговорить бы позвал. И если культура программирования на уровне, мышление программерское поставлено, есть кругозор — взял бы с минимальными знаниями Java. Как раз как задница уляжется, как раз и нужен будет человек, если со спрингом, АОП, хибернейтом и всякими кешами мало опыта, то думаю будет минимум год вполне интересно. Главное требование — на автомате избегать копипасты, не переусложнять без необходимости, ну и code convention тоже соблюдать на автомате, все остальное это наживное и при работе быстро освоится.
А пока увы, если вакансия и будет, то сразу на мое место .
Здравствуйте, Barlog M., Вы писали:
BM>Встречал мнение, что если человек — хороший программист, то идеи он генерирует на право и на лево.
У меня ровно обратная информация, причём у неё есть основание:
Хороший программист — работает как транслятор описания в код, по правильным принятым на работе парадигмам и правилам написания кода, всё по линеечке, никогда не ошибается.
Человек с большим количеством идей — человек скорее всего более творческий, соответственно у него больше ошибок, стиль иногда пляшет, правила кода нарушаются, и так далее.
Так что или ты идеальный (не путать с гениальным) программист или генератор идей