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

Добрый день!

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

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

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

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

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

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

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

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

Моя статистика обучения - печаль?

Повествование будет сумбурным.

Я перешел на платную подписку в октябре или ноябре 2016 года. Сейчас я на 28-м уровне.
с 11-го по 20-й уровень у меня было много куража и азарта, воодушевления. Бывали минуты отчаяния, они сменялись восторгом «Я могу!».

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

Восторга практически нет. Может это и есть «пустыня отчаяния»? Пробовал рассылать резюме… и результаты заставили задать себе вопрос, как люди на 27-м уровне устраиваются на работу? На 18-м уровне составил план обучения в Microsoft Project. Получилось, что у меня на уровень уходит не менее 10 рабочих дней(самое быстрое 1 день, 20-й и 25-й не вложился. Рефакторинг отложил. И две бонусные 20-го не решил). Какой надо обладать отдачей, чтобы 40 уровней за 3 месяца пройти? Слышал такие истории.

В районе 26-го уровня стало интересно, а сколько реально времени я трачу на обучение в день. Начал засекать таймером. Засекал 9 дней… их хватило, чтобы всё стало на свои места… получилось в среднем 134 минуты в день, или по медиане 112 минут в день. То есть иметь в запасе 8 рабочих часов не обязательно… любой может работать и заниматься, за исключением редких случаев. Тот же, кто может удержать своё внимание 8 часов над учёбой… будет быстро прогрессировать. Это наверное те, кто за 3 месяца весь курс проходят.

И теперь ПЕЧАЛЬ. Ютюб статистику не даёт, пришлось считать ручками. Сколько я на него времени потратил за день. Посчитал за 10-е мая 2017-го… получилось 4 часа 26 минут 16 секунд + другое втыкание (из них минут 40 лекции по джаве:) ), которое не относится к учёбе. Итого 6 часов времени в трубу и менее 2-х часов на обучение… да уж, откуда взяться восторгу от себя…

Может мои цифры наведут кого-то на мысли? А можно просто насрать в комментариях.

P.S. Работа за компьютером — не для всех? Или это часть процесса обучения?

С уважением, Артём.
  • ,

Лец ми спик фром май харт... Ин инглиш

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

Паттерн Singleton своими словами.

Привет всем, javaRush!

Расскажу сегодня про паттерн проектирования Singleton(одиночка).

Цель:
Создать класс, у которого будет только ОДИН объект.

Это значит, что сколько бы раз к нему не обращались, возвращаться будет один и тот же объект, который был создан первый раз.

Это удобная вещь и необходимая во многих местах, не зря ее внедряют во фреймворки.

Применение
  • Например необходимо подключить базу данных в проект и класс, который будет отвечать за соединение с ней. Один раз создается соединение и нет нужны создавать его снова и снова
  • Application settings — класс отвечающий за настройки отружения, которые нужны для приложения: хост и порт базы данных и т.д. Они создаются один раз и используются всё время работы приложения.
  • есть еще множество примеров, о которых я не сказал, поэтому пишите в комментариях свои варианты! =)


  • После этого вступления, как я понимаю можно показать уже пример этого класса: (Хотя я уверен, что каждый из нас сможет придумать реализацию этого)
    Вот самый простой пример, когда мы ставим приватным конструктор, т.е. нельзя создавать явно объект. И есть статический метод getInstance(), который предоставляет объект.
    
    public class Singleton {
      private static Singleton instance;
      private Singleton () {}
    
      public static Singleton getInstance() {
        if (instance == null) {
          instance = new Singleton();
        }
        return instance;
      }
    }
    

    Есть проблемы с многопоточностью и тогда можно поставить метод getInstance() маркер synchronized:
    
    public class Singleton {
      private static Singleton instance;
      private Singleton () {}
    
      public static synchronized Singleton getInstance() {
        if (instance == null) {
          instance = new Singleton();
        }
        return instance;
      }
    }
    


    В конце, как обычно, хочу сказать, что если вы думаете иначе или нашли у меня ошибку — пишите в комментариях! Мы все обсудим, с удовольствием :)

    Если Вам понравилась статья, пишите "+" и я буду это знать. Это для меня важно :)


P.S. Добавляю еще реализации:

По мнению Joshua Bloch’а это лучший способ реализации шаблона Enum Singleton

public enum Singleton {
	INSTANCE;
}


Double Checked Locking & volatile

public class Singleton {
        private static volatile Singleton instance;
	
        public static Singleton getInstance() {
		Singleton localInstance = instance;
		if (localInstance == null) {
			synchronized (Singleton.class) {
				localInstance = instance;
				if (localInstance == null) {
					instance = localInstance = new Singleton();
				}
			}
		}
		return localInstance;
	}
}


И еще On Demand Holder idiom:

public class Singleton {
		
	public static class SingletonHolder {
		public static final Singleton HOLDER_INSTANCE = new Singleton();
	}
		
	public static Singleton getInstance() {
		return SingletonHolder.HOLDER_INSTANCE;
	}
}

+ Ленивая инициализация
+ Высокая производительность
— Невозможно использовать для не статических полей класса

Будут вопросы/предложения — пишите в комментарии!


См. также мои другие статьи:
Тестовое задание: «Написать Интерпретатор на язык BrainFuck»
Тестовое задание «Image Comparison»
Java — быстрее, сильнее и выше! Зарплаты украинских программистов.
История успеха спустя 1.5 года от начала обучения
Технические вопросы на собеседовании.
Как найти работу? Рассылка резюме
Профессиональное выгорание. Как устоять?
Английский для IT и для собеседования
Паттерн Command своими словами.
Паттерн Singleton своими словами.
Как создать исполняемый jar в Intellij IDEA / how to create jar in IDEA
Помогите, нужна мотивация!

Подписывайтесь на мой блог Паттерны Проектирования пишите в нем статьи!

Паттерн Command своими словами.

Привет всем, Форумчане!


Разобрался-таки основательно(как мне кажется) с паттером Command и хочу попытаться рассказать о нем «своими словами».
Исходя из википедии, можем узнать, что цель его
Создание структуры, в которой класс-отправитель и класс-получатель не зависят друг от друга напрямую. Организация обратного вызова к классу, который включает в себя класс-отправитель.

В принципи написано чётко и правильно, но это в теории. А как же сделать это?
Вот этим начинаются проблемы, т.к. описание уже не так ясно и очевидно.
Поэтому я как разобрался, решил рассказать вам как я это понял, может кому-то и пригодится:

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

В этом паттерне есть четыре термина, пока примем их как данность: команды(command), приемник команд(receiver), вызывающий команды(invoker) и клиент(client).

Пример буду брать с той же википедии, он вполне сносный.

Задача
есть класс Light, который умеет две вещи: включить свет и выключить. Он в терминах паттерна будет «приемник команд(receiver)»
/*Receiver class*/

public class Light{
     public Light(){  }
   
     public void turnOn(){
        System.out.println("The light is on");
     }

     public void turnOff(){
        System.out.println("The light is off");
     }
}


Создадим интерфейс с одним методом execute(), который будет выполнять и который называется в терминах паттерна «команда(commadn)»
/*the Command interface*/

public interface Command{
    void execute();
}


Необходимо инкапсулировать выполнение умений класса Light. Для этого мы создадим классы TurnOnLightCommand и TurnOffLightCommand, которые реализуют интерфейс Command и которые будут принимать в конструкторе объект класса Light. И каждый из них будет выполнять только одно действие. Один будет вызывать метод turnOn(), а другой turnOff().
/*the Command for turning on the light*/

public class TurnOnLightCommand implements Command{
   private Light theLight;

   public TurnOnLightCommand(Light light){
        this.theLight=light;
       }

   public void execute(){
      theLight.turnOn();
   }
}

/*the Command for turning off the light*/

public class TurnOffLightCommand implements Command{
   private Light theLight;

   public TurnOffLightCommand(Light light){
        this.theLight=light;
       }

   public void execute(){
      theLight.turnOff();
   }
}


Теперь пришло время создать объект, который бы принимал эти инкапсулированные методы объекта Light. Он в терминах паттерна называется вызывающий команды (invoker). Назовем его Switch и пусть он будет принимать в конструкторе переменные Command, которые будут использоваться в созданных методах flipUp() и flipDown().
/*the Invoker class*/

public class Switch {
    private Command flipUpCommand;
    private Command flipDownCommand;

    public Switch(Command flipUpCommand,Command flipDownCommand){
         this.flipUpCommand=flipUpCommand;
         this.flipDownCommand=flipDownCommand;
    }

    public void flipUp(){
         flipUpCommand.execute();
    }
    
    public void flipDown(){
         flipDownCommand.execute();
    }
}


Ну и конечно создадим класс который будет использовать их, чтобы понять что происходит вообще. Он будет именть метод main, в котором и будет происходить всё действие:
/*The test class*/
public class TestCommand{
   public static void main(String[] args){
       // создаем объект, который будет использоваться
       Light l=new Light();
       // создаем объекты для всех умений объекта Light:
       Command switchUp=new TurnOnLightCommand(l);
       Command switchDown=new TurnOffLightCommand(l);
        
       // Создаемтся invoker, с которым мы будем непосредственно контактировать:
       Switch s=new Switch(switchUp,switchDown);
       
       // вот проверка этого, используем методы:
       s.flipUp();
       s.flipDown();
   }
}

На выводе будет следующее:

"The light is on"
"The light is off"


Где это применяется?
По цели ясно, что и для чего это нужно, а именно: в ситуации, когда нужно отделить конкретное исполнение, это очень удобно. Чтоб использование каких-то функций не зависело от конкретной реализации и ее можно было изменять без ущерба для системы.
как-то так...)
Пишите свои комментарии, давайте обсуждать, может что-то можно сделать проще и рассказать лучше, будем всё править, если необходимо) Чтоб для тех, кто будет читать первый раз, было как можно понятнее.

Ну и кому понравится статья — ставьет "+" на ней :) Для меня это важно)


Со временем хочу написать еще про Builder, Singleton и прочие.


См. также мои другие статьи:
Тестовое задание: «Написать Интерпретатор на язык BrainFuck»
Тестовое задание «Image Comparison»
Java — быстрее, сильнее и выше! Зарплаты украинских программистов.
История успеха спустя 1.5 года от начала обучения
Технические вопросы на собеседовании.
Как найти работу? Рассылка резюме
Профессиональное выгорание. Как устоять?
Английский для IT и для собеседования
Паттерн Command своими словами.
Паттерн Singleton своими словами.
Как создать исполняемый jar в Intellij IDEA / how to create jar in IDEA
Помогите, нужна мотивация!

Подписывайтесь на мой блог Паттерны Проектирования пишите в нем статьи!

Планируем обучение

Здравствуйте!
Хочу рассказать про сайт, который оказался очень полезным для меня в совокупности с историей под названием «Как делать нельзя».

На JavaRush я подсела весной. Когда я была уровне на пятом, JavaRush выпустили акцию — подписка за пол цены! Будучи молодой, неопытной и падкой на халяву (ну или почти халяву), тем более, что скидка в 50% на годовую подписку весьма существенна, я решила купить подписку по акции, тем более, что темпы моего обучения мне казались довольно шустрыми.

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

Начались изыскания по способам планирования — сёрфинг по интернету привёл меня к бессмертной диаграмме Ганта. Сама я диаграммой Ганта не пользовалась, так как не было настолько масштабных и растянутых во времени проектов. Множество ресурсов рассказывают как сделать её в Excel, предлагаются шаблоны для скачивания, готовые и платные приложения. Я Excel обожаю, но его функционала мне показалось недостаточно — нужно было больше мобильности и интерактивности, хотя, если подумать, то… в любом случае это трата такого драгоценного времени. Дальнейшие поиски в интернете вывели меня на сайт ganttpro.com — диаграмма Ганта on-line. Есть бесплатная ограниченная версия, но мне хватает.

Итак, зарегистрировалась. Поделила количество дней, оставшиеся до окончания подписки на количество уровней, которые требуется пройти. Получила, что на один уровень мне разрешено тратить семь дней. Расписала задания по уровням. Уровни разбила на уроки. В дальнейшем развитии уроки с задачами разбиваю на задачи; уровни с лекциями — на лекции; отдельно выделила изучение теоретического материала, даже изучение Help'а. В процессе плановое время исправляю на фактическое, то есть, отмечаю начало выполнения задания, окончание, существенные перерывы. Например, когда знаний для решения задачи недостаточно и мне приходится переключаться на поиски теории, я разбиваю задачу на подзадачи и в каждой подзадаче фиксирую этап, оставляю описания, чтобы с течением времени вспомнить чего же это я тут задержалась.

В расчёт включила и выходные дни, так как моя растревоженная нервная система твердила, что я ничего не успеваю.

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

А самое главное, что девятый уровень я закрыла раньше срока и паника исчезла. Хотя признаюсь, что в таком темпе работать сложно, благо, обстоятельства пока позволяют. Сейчас хочу создать буфер времени, который позволит мне, во-первых, больше отдыхать, так как в таком режиме всё-таки трудно обучаться, а, во-вторых, в случае непредвиденных временных расходов, мне не придётся опять впадать в панику и в попыхах нагонять упущенное.

Ну и картинки.
Общий вид окна

Масштаб - неделя

Требования для устройства на работу Junior'ом

Всем привет, извечный вопрос: когда уже можно идти на собеседование? Суть вопроса такова: что нужно знать, что уметь, с чем быть ознакомленным и т.п. для того что бы начать искать работу программистом, что бы вероятность пройти собеседование успешно — была высока? Желательно больше комментариев со множеством информации.
Опрос для того, что бы дать понять, стоит ли рассчитывать, что JavaRush как основное место учебы, подходит, как нельзя лучше, для того что бы подготовить себя ко входу в мир ИТ
  • ,

Расширяем границы!

Друзья!

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

Настоящими программистами становятся только те, кто готов посвятить уйму времени усердным занятиям. Мы — команда JavaRush — готовы еще больше помогать вам в этом нелегком деле.

Не так давно мы презентовали перевод легендарного Гарвардского курса CS50. Увидев живой интерес наших студентов, мы решили продолжать с переводами классных курсов, и начали отбор таковых.

Хотелось бы задать тот же вопрос и нашим продвинутым студентам. Таким образом, если вы учитесь на JavaRush на 25 уровне или выше, и вам попадались интересные бесплатные англоязычные курсы, приглашаем вас в нашу группу в Slack (students-jr.slack.com).
Интересующие направления: JavaSE, JavaEE, Spring, JSP + Servlets, SQL + Hibernate, Android.

Отсылайте в личку Fry ваш электронный адрес, и мы добавим вас в группу slack для общения.

Давайте сделаем JavaRush ещё лучше!

Каким образом вы осваиваете сложный материал?

Доброго времени суток, друзья джаварашовцы.

Пару слов о себе.
На Javarush почти 2 месяца, добрался до финала 17 уровня. С переменным успехом решаю задачи.
С программированием сталкивался раньше не особо.

Во многих лекциях идет отсылка на хорошую книгу «Thinking in Java 4th edition».
Книга является материалом более сложным к пониманию, чем ресурс Javarush. Кстати, создателям Javarush.ru спасибо, сумели преподнести сложные темы доступней.

В книге «Thinking in Java 4th edition» подробно расписываются аспекты Java, со сложными, как мне показалось, для легкого понимания примерами. В общем усваивается трудновато.

Лично у меня нет особой методики освоения сложных тем и источников. Начинаю читать материал, сталкиваюсь с обилием незнакомых понятий и «грустнею». Может у кого-то иначе, а у меня так.
Боюсь, что если сейчас изучать поверхностно, то дальше накопиться объем пробелов, и будет очень сложно.

И на фоне всего этого я хотел бы задать вопрос вам, участники проекта Javarush.ru, кто понимает всю эту информацию лучше. Тем, у кого есть методики того, как необходимо постигать новые знания.

Вопросы:
  • Как правильно учить сложный ( да и не только) материал по Java?
  • Какая методика освоения?
  • Как вы лично подходите к изучению сложных тем и разделов?
  • Зубрите ли вы, или, быть может, составляете много примеров, пишете конспект, рассказываете друзьям?
Поделитесь своим опытом.
Думаю, что ответы на эти вопросы помогут не только мне, но и многим многим участникам этого проекта.

Спасибо всем, кто решил поделиться своим опытом.

Накопилось нерешенных задач.

Уважаемые сокурсники.

Вот такой вопрос. Заметил, что в последнее время, у меня на каждом уровне остается 3-4 нерешенные задачи. Как правило, эти задачи требуют для своего решения гораздо больше времени, чем «проходные».

Таких задач скопилось около 20, что уже начинает напрягать. С другой стороны, интересно, что же там на следующем лвл (а именно, на 18м). Да и запас топлива у звездолета позволяет, наверное, перепрыгнуть три уровня.

И вот меня разрывает две силы: с одной стороны перфекционизм пилит за большое количество нерешенных задач, с другой стороны, интерес тащит дальше по программе. Уверен, я не одинок в терзаниях.

Какой подход более правильный: зарешивать задачи в ноль перед новым уровнем, или что-то оставлять и не париться?

Кто и как решил для себя эту моральную проблему?
  • ,

С инженера в программисты

История о том, как я сменил инженерную специальность на IT.

Порядка двух лет назад, я принял решение поменять специализацию и стать программистом. До этого работал инженером в сфере никак не связанной с IT. Из опыта программирования был только Paskal в далеком школьном прошлом. Хорошим стартовым преимуществом было знание английского на достаточно высоком уровне. По совету одного знакомого, выбор языка программирования сразу пал на Java, как на наиболее востребованный на рынке на тот момент. Начал я с чтения книг и просмотра туториалов на Ютубе. Потом случайно наткнулся на проект Javarush и порядка полгода (с перерывами) здесь занимался.

Паралельно с Javarush изучал прочие интересующие темы/технологии (типа SQL, HTML/CSS), на базовом уровне знакомился с синтаксисом С++/С#. За мои успехи на Javarush администрация JR даже предоставила мне возможность бесплатно поучавствовать в проекте (за что я им очень благодарен!), но, к сожалению, я не смог выдержать тот темп изучения, который задавал Хуберт, и вынужден был покинуть проект.

Чуть позже я поступил на курсы программирования, где проучился 5 месяцев. Там я познакомился с принципами построения Java EE приложений, базовым набором EE фрейморков и написал свой первый проект. Параллельно шлифовал знания по различным технологиям на разных ресурсах и периодически «возвращался» на Javarush.

Сразу после окончания курсов начал искать работу (на поиски ушло полгода, но это уже отдельная долгая история:)).


Мое ИМХО по поводу JavaRush:

Плюсы: главным плюсом для меня изначально было наличие задач – так как для начинающего программиста проблема всегда «на чем бы потренироваться». Причем качество задач довольно высокое в плане их технической разносторонности и разнообразия (это я как человек, занимавшийся на различных ресурсах, говорю). Также понравились лекции своей доступностью и содержательностью (была бы возможность — я бы лекции продолжал читать и сейчас). Понравилось, что сразу за теоретическим материалом идет закрепление на практике. Хорошая подборка дополнительных материалов, причем из различных источников, что очень круто для новичка – сразу открываешь для себя много полезных и содержательных ресурсов. Учиться было интересно, и в целом я доволен тем прогрессом, который получил здесь за проведенное время.

Минусы: не очень удобная система проверки задач без фидбека. Поначалу это было не особо заметно, но на более высоких уровнях стал ловить себя на мысли, что зачастую 90% времени решения задачи уходит не на составление алгоритма решения/изучение темы, а на топтание по кругу: «какой же тесткейс проваливает мое решение». Особенно сильно это стало заметно на больших задачах. С одной стороны, это вроде как и челенж, но потом все же понимаешь, что время можно потратить с большей пользой.
Еще не понравилось, что ближе к 30-му уровню для того, чтобы продолжать читать лекции, нужно решить практически все задачи ничего не пропуская (вкупе с предыдущей «проблемой» из-за этого процесс обучения сильно замедляется/останавливается).

Отдельно хотелось бы выделить реальный проект – обязательно поучаствуйте в нем, чем раньше – тем лучше. Изучения Java Core – это круто, но деньги программистам платят за знание Enterprise технологий. Если не хотите/не получается участвовать в проекте на JR, ищите другие возможности – курсы программирования или начинайте что-то простенькое писать сами (хотя самому без помощи поначалу будет трудновато).

Вот моя краткая история обучения, приятного всем кодинга :).
  • ,

Как поступить в такой ситуации? вопрос по обучению.

Начал изучать java в сентябре прошлого года.
Дошел до 26 уровня, но не прорешал все задачи(кончилась подписка). Сейчас в какой-то странной стадии нахожусь: вроде хочу изучить все для дальнейшей работы в этой области, но никак не могу понять с какой стороны подступить… Думал начать изучать под андроид, потом подумал, что лучше подтяну «мышление» решал олимпиадные задачки, после понял, что надо учить алгоритмы и даже начал читать Кнута, посмотрел некие статьи «аля что должен знать каждый программист» подумал что пока ранр и забросил. Думвю продлить javarush, но сохранившееся задачи не могу решить(мало теории на javarush), и в конце концов я никак не могу определится как дальше поступить, что следует выбрать? Если это решение задач javarush, то где брать теорию для задач(в книге философия Java то же как то вкратце все что-ли)? Подскажите было ли у вас такое и как вы вышли из данной ситуации?