Друзья, не сдавайтесь! Оно того стоит!

Всем привет!
Настала моя очередь объявить о достижении поставленной цели и получении работы Java-программистом.
Дисклеймер: В школе я не любил писать сочинения. Ничего не изменилось) Поехали!

История переехала на сайт — javarush.ru/stories/46

История моего успеха



Добрый день, уважаемые джаваршевцы и джаврашатессы!
Периодически (но рандомно!) на сайте появляются отчеты об истории успеха имярек. Я стал завидовать чужой славе (не моя вот и бешусь) и решил тоже похвастаться своей историей успеха.
Дело было есть так…
Заниматься я начал в ноябре 2016. В декабре 2017 планирую закончить первые 20 уровней, сейчас я на 18 уровне. Также дополнительно изучена книга Head First HTML & CSS. Заканчиваю изучать книгу Head First Java и полным ходом изучаю Думай как математик. Так же в запоминании теории испльзую программу Anki.
За 2018 год планирую пройти 21 — 40 уровни курса и изучить 1 — 2 книги по Java из статьи 10 must-have книг для Javа-разработчика на proglib.io.
В 2019 году планирую выполнить вступительное задание к стажировке и пройти стажировку. Летом или осенью, не уверен, что с первого раза выполню вступительное. Изучу еще 1 — 2 книги по Java.
После этого буду рассылать резюме и приобретать опыт собеседования. Не знаю сколько лет займет поиск работодателя, который меня к себе возьмет, но уверен, что найду. Работа скорее всего будет такая, как описывают на сайте "Нехорошее АйТи". Но я не расстраиваюсь.
Наверное те, кто прошел курс javrush.ru и нашел работу juniora на 60 — 90 тыс. руб. РФ за 3 — 4 месяца будут смеяться или решат, что мой пост шутка. Нет не шутка и пишу я вам не из интерната для умственно отсталых.
На днях я прочитал в Стратегии повышения финансовой грамотности в Российской Федерации на 2017 — 2023 годы (утв. Распоряжением Правительства РФ от 25.09.2017 N 2039-р), что «Важной составляющей финансово грамотного поведения является способность гражданина осуществлять долгосрочное планирование личных финансов (финансов домохозяйства) на всех этапах жизненного цикла.»
Как раз к моему пенсионному возрасту в мире наступит эпоха т.н. киберфеодализма. Также чоткие поцаны (капиталисты) делают все чтобы девальвировать профессию программиста, снизить «порог вхождения» и тем самым снизить расходы на оплату соответствующего труда.
Мой расчет заключается в том, что при таком раскладе на работу за еду возьмут даже меня. И вот тут я буду — король, т.к «впишусь в рынок». А все, кто не успеет вписаться отправятся жить под мостом и кушать на помойке. Рекламируют фильм Дисней «Первому игроку приготовится», что усугубляет подозрения о подготовки населения к будущему, где жизнь протекает только в виртуальном пространстве. Будучи программистом, я чуть больше поживу в объективной реальности (термин не совсем точный).
Желаю и вам успеть «вписаться в рынок», благо вы моложе, а у некоторых даже профильное образование и опыт есть.
С уважением,
Green Frog.

Паровозик, который смог

Если быть кратким, то вот мой путь:
1 месяц – 20 лвл JavaRush
2 месяц – 30 лвл JavaRush
3 месяц – выполнение тестового задания на стажировку JavaRush
4 — 6,5 месяц – прохождение стажировки в T-Systems, изучение Enterprise стека
7 месяц – выход на работу
10 месяц – прошёл испытательный срок, полёт нормальный

Вот это да, как гладко всё выглядит на бумаге! Но за этими сухими фактами скрывается столько эмоций, сомнений, взлётов и падений, что сложно уместить их все в одной статье на форуме. Но я попробую!

Для начала, привет, меня зовут Вячеслав, мне 27 лет. Я не часто оглядываюсь назад, но раз уж дошли руки до этой статьи, то я предлагаю представить, что такая штука как “омут памяти” существует. Давай руку, погнали, окунёмся туда и посмотрим, как это всё было)
2 декабря 2016 года.
Смотри, вот он, я. Только недавно защитил кандидатскую диссертацию в институте гидротехники. Но что-то меня тревожит. Давай послушаем мои мысли в тот период:

“Институт разваливается на глазах, и мало кого реально волнует отрасль гидротехники. Почти весь отдел, в котором я работал, разбрёлся кто куда смог пристроиться. Я конечно молодец, что не стал оставаться, и тоже ушёл работать аналитиком в стартап, но через месяц он развалился из-за нехватки денег.
И вот я без работы, с весьма узкопрофильной специализацией, почти без шансов найти другую работу по специальности, чтобы она меня устраивала. Вернуться обратно в институт и проработать там до гробовой доски? Сомнительная перспектива. Вообще меня привлекает программирование. Я ведь даже пишу периодически простые программки на Python. Но чёрт, моих знаний явно не хватит чтобы стать прогером! Да и вообще, разве это реально, не имея профильного образования. А ведь мне уже 26...”

В то время я иногда задумывался о программировании, но на форумах я часто натыкался на советы гуру, по типу “это почти невозможно”, “с возрастом всё сложнее научиться думать как программист”, “надо раньше было учиться” и так далее. Но на всякий случай я написал своему другу-программисту вопрос, на каком языке он бы мне посоветовал писать, если я вдруг решу начать серьёзно учиться. Его ответ был: JAVA.

Гм, о Java я тогда знал только надпись “Powered by Java” на заставках в играх на телефоне. Что это за язык, для игр на мобилке что ли? Ну раз советуют, то ок, можно попробовать.

Я стал гуглить и наткнулся на истории успеха JavaRush. И я залип. Мой мир перевернулся. Это было то, чего мне не хватало для того чтобы поверить в свои силы. Вот они, реальные примеры реальных людей, которые добились своей цели!

Забегая вперёд скажу, что следующие 3 месяца я читал и перечитывал истории успеха почти каждый день, как только просыпался утром. Я поверил, что и я смогу.

Через пару дней я уже учусь на джава раше) Пока я ещё без понятия, сколько времени уйдёт на изучение. У меня осталась заначка с прошлой работы, да и родители помогают, так что можно полностью посвятить время обучению! Так 2 декабря стало отправной точкой – я точно решил, что стану программистом!

… Давай, доставай голову из воды, а то дышать уже нечем)) Перед следующим погружением в омут памяти я хочу сказать спасибо JavaRush! Несмотря на происки валидатора и порой игрушечность заданий, я считаю, что этот ресурс сыграл решающую для меня роль. Именно поэтому я считаю своим долгом написать эту историю – может она сподвигнет сомневающихся на то, чтобы перестать сомневаться.
Ну что, нырнём ещё разок? Давай глянем, как проходили мои суровые будни в течение первых 2 месяцев изучения Java!

*Бульк*

Вот я завожу будильник на 8. И так каждый день. Встаю, делаю себе большую кружку ароматного чая и сажусь за JavaRush. И занимаюсь допоздна. Запасы денег таят на глазах. Надо изучить Java как можно быстрее! Вот мои главные друзья в тот суровый период каждодневного самообучения:


Ох уж этот капитан Бобров, всем своим видом он так и троллит тебя, да и задачки порой даёт ого-го. Тем не менее, задачи я прилежно решал и старался не пропускать их. Были и взлёты, когда на 20 уровне казалось, что готов идти минимум миддлом на работу, так и падения. Прекрасно помню, как не мог осилить бонусные задачи на каком-то из уровней. Бился два дня, был раздражительный, не мог ни о чём другом думать. Но в итоге таки решил их!

Время пролетело быстро, и вот они, плоды моих трудов – 30 лвл взят ровно через два месяца с момента начала обучения! Я слышал о стажировке JavaRush и решил попробовать, что же это такое. Для этого надо было решить вступительное задание.

Смотри, видишь, как округляются мои глаза? Это я увидел тестовое задание))
После 30 левела я думал что знаю про джава всё что можно! А все эти базы данных, вэб, какие-то html и прочее – этим наверное занимаются специально обученные люди. И тут я понял, как я ошибался)
Послушаем мои тогдашние мысли:

Что? Какой maven, какой tomcat? Что это??? Что значат все эти слова? Я думал что уже рукой подать до того чтобы стать прогером, а тут ещё столько всего учить!



Да, это была суровая реальность. Тогда я понял, что прошлые задачки джава раш были цветочками. Ведь там всё разжёвывалось и вкладывалось в рот, а тут я предстал перед лицом огромного океана энтерпрайз-технологий, меня вывезли на 100 метров от берега на лодке и бросили в воду. И я начал барахтаться.
Я помню того монстра, который получился на выходе тестового задания. Я карпел над ним 3 недели. Как бы я удивился, если бы мне сказали, что через пару месяцев я смогу сделать это задание за 1 вечер и в 10 раз лучше? На память я сохранил скриншот UI моего первого вэб-приложения:

Ммммм, мякотка!

Параллельно я изучал SQL, алгоритмы и структуры данных, потому что это были обязательные требования во всех вакансиях.

Что ж, успехи были налицо, и я решил составить резюме. И о чудо – через пару дней меня позвали на моё первое IT-собеседование!

В целом оно прошло норм, но меня смутил древний стек технологий компании, да и коллектив состоял не из молодёжи, а из людей 40+. Я представлял себе свою новую работу по-другому. Параллельно с этим собеседованием я подал заявку на стажировку в T-Systems, решил тестовые задачи. И о чудо, меня позвали на очное тестирование и собеседование! Кому интересно, здесь я написал статью об этом собеседовании — info.javarush.ru/GuitarFactor/2017/03/13/%D0%98%D1%81%D1%82%D0%BE%D1%80%D0%B8%D1%8F-%D0%BE%D0%B4%D0%BD%D0%BE%D0%B3%D0%BE-%D1%81%D0%BE%D0%B1%D0%B5%D1%81%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%B5%D1%81%D0%BD%D1%8B%D0%B5-%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B.html

В скором времени пришёл ответ, что меня берут на стажировку в T-Systems! Мои денежные запасы на тот момент уже почти иссякли, и встал выбор – ломиться в первую компанию с древним стеком, но начать работать уже сейчас, либо пойти обучаться 2,5 месяца в T-Systems и иметь лучшие перспективы. Это был очень сложный выбор! Но я выбрал второе.

Давайте-ка вынырнем из омута памяти обратно и подышим! К тому моменту, на котором мы остановились, я взахлёб изучал Java уже 3 месяца. Было ли что-то, о чём я жалею? Пожалуй, да. Если вы в похожей ситуации – не повторяй моих ошибок!:
1. Не учитесь целыми днями. Несколько раз я рисковал перегореть морально и физически
2. По возможности не бросайте работу ради обучения – я до сих пор расхлёбываю финансовые последствия долгого периода тунеядства
3. Нагружайте себя физически! Я целыми днями сидел за компом и прибавил в весе, стала болеть спина. Хотя раньше занимался спортом. Старайтесь удерживать баланс!

Ну что ж, мы уже на финишной прямой рассказа, давай нырнём в омут последний раз и узнаем, чем же всё в итоге закончилось!

Началось обучение. Тонны новой информации, я сижу за проектом сутки напролёт! В моей группе есть очень сильные ребята, с IT-бэкграундом, изучающие джава уже несколько лет. Я пыжусь изо всех сил, чтобы не отставать от них. Со мной в группе ещё один парень с JavaRush, стараемся помогать друг другу с проектом. А проект, ни много ни мало – многопользовательское вэб-приложение + ещё одно поменьше, которые получают сообщения друг от друга по JMS, тянут данные по REST и всё такое. Честно сказать, это был апофеоз) Всё что было раньше мне показалось цветочками. К финальной защите проекта я находился в состоянии зомби и молился только о том, чтобы уже просто начать работать, как обычные люди, а не сидеть по 12 часов в день, изучая всё что только можно.

Видимо, мои молитвы были услышаны) Показ прошёл очень спокойно, но судьба приготовила для меня ещё один трудный выбор.

После показа мне почти сразу поступило предложение войти в состав весьма специфичного проекта, сразу же на миддла, с окладом значительно превышавшим мои ожидания. Но проект был весьма специфичный – надо было ворошить портянки из xml, конвертить их с помощью xslt преобразований и так далее. Это удовольствие весьма сомнительное, я понимал что это полный ад и не знал что делать. Обрекать себя на каждодневную боль и получать никому не нужные знания, либо отказаться и рисковать вообще не получить больше офферов. Но я рискнул и отказался (куратор заверил, что офферы ещё будут). Так и случилось, и я попал на должность Junior Developer, с меньшим окладом, зато в человеческий проект, со спрингом и хибером. Разумеется, навыки по этим технологиям куда востребованнее, чем xslt)
Всё, хэппи энд, выныриваем обратно!

На этом трудности не закончились, во время испытательного срока я продолжил обучение, стал читать профессиональную литературу, вести свой блог по паттернам проектирования в помощь коллегам.

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

Также я понимаю, что у меня есть много пробелов в понимании довольно фундаментальных вещей из-за отсутствия IT-бэкграунда.

В общем, проблем много, но я не жалею о том что сделал.

И если бы не истории успеха здесь, на JavaRush, всех этих событий никогда не случилось бы в моей жизни. Поэтому спасибо, JR!

Специальное послание для тех, кто стоит на перепутье и сомневается, как я в своё время: просто начните заниматься! Программирование в 95% случаев – это не rocket science, и я убеждён в том, что каждый может получить работу девелопера! Через 3 месяца, полгода, год, два… Другой вопрос, что действительно хорошим разработчиков может стать не каждый, но это уже совсем другая история…)

Спасибо что прочитали этот довольно спонтанный рассказ, желаю всем удачи, верьте в себя!
  • ,

Я теперь тоже разработчик.

Всем привет!

Так вышло, что я отмотал свой испытательный срок уже довольно давно, но (удивительно) найти время на писанину теперь не так уж и просто.

Начну с самого начала. Меня зовут Михаил, мне 27 лет. Сразу хочу сказать, что у меня нет высшего образования (в процессе поиска работы это сыграло свою роль — кто-то может сказать, что сыграло со мной злую шутку, но по мне скорее оказало услугу), хотя за спиной у меня три института.

Мой Чат.

Всем привет!
Хочу поделиться своим небольшим проектом:
Взял одну из больших задач (Чат) и изменил, обновил, добавил много нового и вот что из этого вышло:



Что изменено/добавлено по сравнению с оригинальной задачей:

— Конфигурацию читает из файла properties при помощи класса ResourceManager
— Добавлены чат румы и возможность клиенту создавать свои чаты
— Добавлены приватные сообщения
— Полностью новый swing интерфейс клиента
— Добавлены горячие клавиши для отправления сообщений и команд клиента
— Добавлено окно настроек
— Добавлены смайлики
— Сделаны вкладки для отображения сообщений из разных чат румов и приватных чатов
— Добавлен счетчик непрочитанных сообщений
— Сделано дерево пользователей для отображения пользователей в чатах и вызова приватных сообщений
— Бот научился отвечать смайликом на смайлик
— Добавил логгер log4j
— Добавил добавил тесты jUnit
— Завернул все это в мавен и разбил на модули

ссылка на гит хаб: github.com/DevCorvette/chat

Кому интересно, заходите, смотрите, комментируйте, буду рад :)
Конструктивной критике тоже буду рад.

P.S.: Тот кто еще не решал задачу — не ищите у меня готовых решений, там практически все переписано ;)
  • ,

Уровень 28. Ответы на вопросы к собеседованию по теме уровня.

Всем привет!
Решил продолжить обучение на джавараше, несмотря на то, что работу по java я уже нашел.
Дисклеймер:
Этот блог я веду для самого себя, очень лениво, и, можно сказать, из под палки. Я буду очень рад, если он окажется для кого-то полезным, однако не стоит использовать его в качестве основного источника для поиска ответов на вопросы уровня.

1 Какие приоритеты нитей бывают?
Каждый поток в системе имеет свой приоритет. Приоритет – это некоторое число в объекте потока от 1 до 10, более высокое значение которого означает больший приоритет. Система в первую очередь выполняет потоки с большим приоритетом, а потоки с меньшим приоритетом получают процессорное время только тогда, когда их более привилегированные собратья простаивают.

Работать с приоритетами потока можно с помощью двух функций:

void setPriority(int priority) //устанавливает приоритет потока.

Возможные значения priority — MIN_PRIORITY, NORM_PRIORITY и MAX_PRIORITY.

int getPriority() // получает приоритет потока.

Источник
Если приоритет не задан, то нить получает приоритет 5 — средний.

Приоритет нити не сильно влияет на ее работу, а носит скорее рекомендательный характер. Если есть несколько спящих нитей, которые нужно запустить, то Java-машина сначала запустит нить с более высоким приоритетом.

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

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

2 Можно ли остановить нить, снизив ее приоритет до 0?
Нет. Будет брошен IllegalArgumentException

3 Зачем нужен класс ThreadGroup?

Чтобы любая нить не могла останавливать и прерывать все нити подряд, было введено понятие «группы нитей». Нить может оказывать влияние только на другие нити, которые содержатся в той же группе, что и она. ThreadGroup – это класс, который управляет группами нитей. Такой подход позволяет защитить нити от нежелательного изменения.

Иногда приходится выполнять код, которому нельзя 100% доверять. Поэтому удобно поместить все его нити в отдельную группу и запретить им вмешиваться в работу основной группы нитей.

Иными словами для управления группами потоков

4 В какой группе нитей состоит main-thread?
main

5 Что такое паттерн ThreadPool
Паттерн ThreadPool общими словами — группа потоков, которые решают группы задач. Задачи организованы в очередь. Как только поток завершает работу над задачей, он запрашивает следующую задачу из очереди, до тех пор, пока все задачи в очереди не будут выполнены. После этого поток может завершиться, либо уснуть, до тех пор, пока в очереди не появятся новые задачи.

6 Зачем нужен класс ThreadPoolExecutor?
Для решения большого количества небольших задач группой потоков. Использование класса позволяет избегать расточительного использования ресурсов машины. Тк Создавать для каждой задачи свою нить бывает не очень рационально. Для каждой нити Java-машина выделяет довольно много ресурсов.
Другими словами – создание и уничтожение отработавшей нити может тратить больше ресурсов и времени, чем само выполняемое задание.
Java-разработчики придумали элегантное решение этой проблемы — ThreadPoolExecutor.
ThreadPoolExecutor – это класс, который имеет внутри две вещи:
А) Очередь задач, в которую можно добавлять задачи, по мере их появления в программе.
Б) Пул-нитей (группа нитей) – которые эти задачи исполняют.
При этом нити не уничтожаются после выполнения задания, а засыпают. Чтобы начать выполнять новое задание, как только оно появится.

7 Сколько способов создать нить вы знаете? (Thread, Runnable, Callable)
public class ThreadsTests {
    //Способ 1
    static class ThreadExampleRunnable implements Runnable{
        @Override
        public void run() {
            System.out.println(Thread.currentThread().getName());
        }
    }
    
    //Способ 2
    static class ThreadExampleFromThread extends Thread {
        @Override
        public void run() {
            System.out.println(Thread.currentThread().getName());
        }
    }

    //Способ 3
    static class ThreadExampleFromCallable implements Callable{
        @Override
        public String call() throws Exception {
            return Thread.currentThread().getName();
        }
    }
    
    public static void main(String[] args) throws ExecutionException, InterruptedException {
        new Thread(new ThreadExampleRunnable()).start(); //Способ 1
        new ThreadExampleFromThread().start(); //Способ 2

        //Способ 3
        ExecutorService service = Executors.newFixedThreadPool(5);
        Future<String> task = service.submit(new ThreadExampleFromCallable());
        System.out.println(task.get());

    }
}


8 Для чего используется класс Future?
Этот объект можно использовать, чтобы узнать, завершилось ли уже выполнение задачи, а также, чтобы получить результат ее выполнения.
boolean cancel(boolean mayInterrupt); // Останавливает задачу. 
boolean isCancelled(); //Возвращает true, если задача была остановлена.
boolean isDone(); //Возвращает true, если выполнение задачи завершено.
V get() throws InterruptedException, ExecutionException; //Возвращает результат вызова метода call или кидает исключение, если оно было.


9 В чем преимущества Callable над Runnable?
Используя Callable мы можем узнать завершилась ли задача, и узнать её результат, гораздо проще, чем при использовании Runnable

10 Можно ли отменить выполнение задачи, если использовать класс Future?
Можно, если задача лежит в очереди и ожидает своего исполнения, иначе не факт
  • ,

Наследование в Hibernate: моя первая публикация на Хабрахабре

Доброго дня всем коллегам-джаварашевцам!

Согласно опросу, проведенному сайтом «Мой круг», примерно половина работодателей так или иначе обращает внимание на «сторонние увлечения» соискателя, а именно на участие в профильных IT-сообществах.

По результатам опроса авторы его авторы уверенно заявляют, что участие в них вполне может помочь вашей карьере.

Наиболее заметными сообществами, на участие в которых обращают внимание российские работодатели, являются StackOverflow, GitHib и Хабрахабр.

Я работаю Java-developer'ом чуть более 4-х месяцев, и пока первоначальный «запал» не окончательно растерян, тоже решил приучить себя не деградировать в свободное от работы время, а заниматься чем-нибудь полезным:) Выбора «куда идти», в общем-то, не было: GitHub — это в основном место для opersource-проектов, где неопытному разработчику чаще всего нечего делать; формат StackOverflow мне просто не особо нравится (хотя «по долгу службы» пользуюсь им, конечно, регулярно). Собственно, поэтому мой выбор пал на Хабр — крупнейший в стране коллективный IT-блог.

Статья посвящена реализации наследования в библиотеке Hibernate.
Поскольку хибер для java-разработчика — практически must-have, думаю, она будет интересна здешним читателям:)

habrahabr.ru/post/337488

Приятного прочтения!

Приглашаем на XP Days Ukraine 2017!

Программа конференции XP Days Ukraine 2017 почти готова: 2 дня, 3 параллельных сцены по основным направлениям (инженерные практики, архитектурные подходы и DevOps), экспертные зоны и несколько тренингов за день до конференции.



Доклады разделились на следующие логические группы:

  • Практическое применение различных инженерных практик: code review, TDD, парное программирование, организацию идеального процесса релиза, подходы и практики тестирования на разных уровнях.
  • Мир микросервисов.
  • Архитектурные тренды.
  • Continuous Delivery.
  • DevOps.

Для не менее важной часи конференции — нетворкинга, помимо традиционной whiskey party в первый день мы организуем постоянно работающий «диван с экспертами». После доклада мы будем приглашать спикеров туда и устраивать тематические дискуссии. Так вы сможете задать докладчикам все интересующие вопросы в неформальной обстановке.

Регистрация идет полным ходом, уже продано больше 100 билетов. Но в продаже осталось не более 400 билетов, поэтому торопитесь забронировать себе место на самой технологической конференции в Украине.

До встречи на XP Days Ukraine 2017!

Магический пинок - промежуточные результаты обучения

Добрый день!

Вчера написал очень душевный текст, со своими некоторыми мыслями и ПК просто вырубился. В черновики ничего не сохранил и моя поэма ушла в мусор. Хотел бы начать что-то писать, может кому-то помогут рассуждения, а может мне нужно выговориться и получить некоторые слова поддержки, да в целом всё равно.

На JR я с начала июля 2017 года, год назад я получил высшее образование по специальности: «Экономика», особых перспектив на сегодняшний момент у человека с таким образованием просто нет. Ну разве пойти продавать что-нибудь или стать, менеджером по работе с клиентами. Работа тоска смертная и я всё чаще замечаю, что я какой-то отсталый. Прокачки скилов не происходит, каждый день как с копирки — ты сидишь и звонишь. Псевдомотивация продавцов, меня вообще выбешивает.

Образование тоже полный бред, ну разве, что спасибо за способность самообучаться, и многие курсы по созданию собственного бизнеса, мы раскладывали работу на процессы и декомпозировали их. По факту та же большая программа, да менеджер по продажам — это бот, который работает по чёткому алгоритму/скрипту, с набором параметров и базовой математикой, например: конверсия, показатели успешности закрытия сделок и прочее.

Я успел поработать в банке, на предприятии в автопроме, сейчас в ИТ-компании (мелкой) и все позиции менеджерские, продажи, работа с клиентами. И примерно в начале весны меня всё больше и больше стало выбешивать абсолютно всё… Работа, материальный достаток и прочее. Я начал смотреть на разные сферы, думал пойти на разработчика конфигураций 1С. Всегда хотел работать головой и делать что-то глобальное, а не просто просиживать свою жизнь. И тут произошёл один случай, который встряхнул меня.

Я подошёл к директору и прямо спросил: «Что мне делать?! Не хочу быть шариком на телефоне.» Ответ последовал такой, чтобы я посмотрел на программирование, про 1С забыл как страшный сон и почитал: «Четвёртая промышленная революция». Собственно тут и началось… Я понял, что всё чем я занимался чушь полная, а примеры автоматизации указанные в книге показывают, на какой стороне лучше быть.

Таким образом я попал на JR и пошёл по бесплатному курсу, за два месяца прошёл 8 уровней (хотел быстрее вернуться домой чтобы продолжать решать задачи, на работе в свободное время смотрел лекции), в прошлом знания Pascal помогли мне разобраться со многими простыми вещами. Заказал «Философия Java» и вместе с прохождением курса я знакомлюсь с теорией. Проблема в том, что мне сейчас обидно, что я не начал это делать раньше. В школе у меня всегда было 50 на 50, я одинаково мог разобраться в технических науках, так и в гуманитарных. Я даже был в информационном классе с углубленной математикой и информатикой, но из-за особого стиля преподавания, я откровенно забил на программирование. Мне стало стрёмно, что я всегда не успевал за остальными, решали 3-4 человека из класса с которыми только и работал преподаватель.

Сейчас я понимаю, что мне нужно выучить английский до разговорного, подтянуть Java Core по максимуму, SQL, некоторые технологии и т.д. У меня не то, чтобы руки опускаются, но глаза разбегаются. В статьях на форуме я уже читал, что лучше в самом начале выучиться нормально, а уже потом идти искать работу, а не пытать судьбу. Да только зная другую реальность, в своей работать уже не хочется.

Что вы думаете, стоит или не стоит бежать впереди паровоза? Пройти как основу JR и уже потом подтянуть всё остальное (минимальное для прохождения на juniora)?

Хардкорная Java-конференция Joker 2017

3-4 ноября в Санкт-Петербурге состоится большая хардкорная Java-конференция Joker 2017. Для всех, кому до Питера не добраться, будет онлайн-трансляция.



Как всегда будет тёплая ламповая атмосфера, хардкорные доклады, крутые спикеры, жаркие дискуссии и холивары c коллегами и многое другое.

Что будем обсуждать:
– JVM/JDK под капотом (Runtime, GC, OpenJDK);
– Архитектуры Java-проектов;
– Data storages (SQL/NoSQL/Cloud);
– Фреймворки (Spring, Spark, Hibernate и др);
– DevOps, CD, CI;
– Data Science / ML;
– Java Performance;
– Распределённые системы;

На данный момент программа готова на 90%, среди спикеров конференции Norman Maurer (Apple Inc.), Александр Борисов (Google), легенда Хабра Сергей Абдульманов (Мосигра), Alvaro Hernandez (8Kdata), Тагир Валеев (JetBrains), Николай Алименков (XP Injection), Charles Nutter (Red Hat), Барух Садогурский (JFrog) и другие звёзды.

Чтобы купить билеты по низкой цене, воспользуйтесь ключевой фразой JokerRush при регистрации.

Подробности и регистрация: goo.gl/Jg8wXB

Ищу книгу



Добрый вечер, уважаемые джаварашевцы и джаварашатессы!
Ищу книгу The Programmers Idea Book – 200 Software Project Ideas and Tips to Developing Them. Авторский сайт тут. На нем пишут, что книга бесплатная, но требуют 25$. Такую сумму не могу себе позволить потратить.
Первичный поиск в инете и паре торрентов результатов не дал. Буду благодарен если дадите ссылку на источник «альтернативной энергетики».

С уважением,
Зеленая лягушка.