• Как вернуть мотивацию к обучению?

    При повторной потере мотивации алгоритм следующий:
    1) Идем высыпаемся. По-нормальному так, без будильников. Чтоб глаза вообще больше не закрывались.
    2) Если мотивация не вернулась (возвращается в 70% случаев) - берем велик (хотя можно и пешком) - и на улицу. Если есть приличный парк в городе - находим пару нестандартных физ. упражнений (можно боевых), пытаемся выполнить. Работа с телом и физические нагрузки - это совершенно другая часть вашего сознания, про нее нужно не забывать.
    3) Если мотивация не вернулась (уже где-то 85% случаев) - берем случайную книгу (не техническую), в идеале - из жанра который вам нравится. Читаем. Спокойно, страницы не считаем.
    4) Если не вернулась, повторить с п. 1 до пяти раз, не думая о времени и выполняя только самые важные дела (срочные задачи по учебе, работа, если есть), можно даже попросить родных/знакомых помочь по дому и бытовым делам, чтобы себя разгрузить.
    5) Если не помогло после 5 раз, задаем новый вопрос на тостере, подробно описываем что делали).

    Хотя бы один из п. 1-3 выполняем для профилактики каждый выходной.
    P.S. в принципе плохо сравнивать себя с кем-то - для "сравнения" на свете есть всякие соревнования и состязания, где есть правила и контекст. В жизни правил нет, один учится в MIT, другой учится в колледже в России - какие могут быть сравнения? Вы думаете тут большинство людей за один год все узнало и всего добилось? Вы глубоко заблуждаетесь) PHP-шники-выскочки не в счет, у них искаженное представление о реальности.
    Ответ написан
    11 комментариев
  • Как составить план проектирования проекта?

    MarcusAurelius
    @MarcusAurelius
    автор Impress Application Server для Node.js
    Идея/концепция к проектированию не относится, это отдельный предварительный этап. Для проектов побольше, и в общем случае, проектирование включает такие шаги, многие из которых, конечно, можно пропустить или сократить до минимума, если задача не сложная:
    1. Системный анализ и изучение предметной области
    2. Формирование требований к разрабатываемой системе
    3. Архитектуная задача, которая сводится к простой формуле: разделять, называть и связывать подсистемы
    3.1. Декомпозиция сложных задач
    3.2. Слои (построение слоев абстракций)
    3.3. Планирование топологии системы, программной и серверной инфраструктур
    3.4. Решение вопроса интеграции подсистем, программные интерфейсы, контракты и связывание
    3.5. Интеграция с унаследованными приложениями
    3.6. Минимизация изменений, для случаев, когда постоянно происходят изменения в предметной области
    4. Выбор инструментов решения
    4.1. Выбор парадигм программирования и языков
    4.2. Выбор технологий и платформ
    4.3. Выбор моделей данных, алгоритмов и библиотек
    4.4. Выбор топологий и протоколов
    4.5. Выбор паттернов программирования
    5. Предварительные исследования
    5.1. Проверка гипотез, эксперименты
    5.2. Изучение особенностей технологий
    5.3. Прототипирование
    6. Задачи обеспечения надежности
    6.1. Планирование безопасности и защиты от несанкционированного доступа
    6.2. Планирование отказоустойчивости
    6.3. Планирование мер по обслуживанию системы в режиме эксплуатации
    6.4. Задачи высоких нагрузок, балансировки и масштабирования, если таковые предполагаются
    7. Организация процесса разработки
    7.1. Жизненный цикл программной системы
    7.2. Конвенции кода, соглашения и стандарты
    7.3. Оценка необходимых временных и финансовых ресурсов для разработки системы
    7.4. Календарный план
    7.5. Анализ и минимизация рисков, выявление слабых мест технологий и коллектива
    7.6. Закрепление принципов управления процессом разработки и корректировки задания в процессе
    8. Сборка технического задания из результатов всех предыдущих пунктов
    Ответ написан
    2 комментария
  • Мне 24, работа по обслуживанию компьютеров, в кого я могу переквалифицироваться?

    Вот я сейчас самый банальный ответ напишу.

    Ты можешь переквалифицироваться в кого угодно в 24. Что тебе нравится? Выбери и занимайся. Так можно делать, правда ;)

    Какие работники востребованы сейчас? Полистай вакансии и статьи с обзорам на эту тему. Например, SAP можешь освоить.

    Хочешь переехать? Почитай статьи об этом.

    А может быть ит не очень и привлекает? Это тоже нормально, можно сменить область или сместиться на стык ит с чем-то.
    Ответ написан
    Комментировать
  • Java junior developer кратчайший путь с нуля до реальной работы?

    Deerenaros
    @Deerenaros
    Программист, математик, задрот и даже чуть инженер
    Ну java это хорошо. Ладно не PHP, и пролетариат с вами. Воркфлоу следующий - начинайте искать прямо сейчас. В нормальных компаниях реабилитация около полугода, так что как раз по два раза в каждую можете успеть. А во время первого интервью получите некоторый опыт. Не бойтесь заданий - их элементарно накопипастить прямо с документаций. Даже если просят какую-ту НЁХ - всё равно можно отыскать откуда копипастить. Главное научиться делать ровно три вещи: анализировать задачу, разбивать на подзадачи, применять пункт 1-2 на полученные подзадачи. Ну а база рекурсии - задача элементарна и решается в две строчки.

    Что до теории. Её знать хорошо. И надо знать её хорошо. И вообще - быть осведомлённым - это тоже большецкий плюс. Однако, практика показывает, всем плевать на ваши знания. Людям нужен а) уметь делать вид, что работаете (можно и вправду работать, но это не сильно поощряется), б) диплом (опционально) и в) приносить прибыль (опционально). На знания не плевать всяким гуглам, яндексам, да фейсбукам с парой сотней никому неизвестных стартапов, но мимо них вы скорее всего пролетаете, хотя есть вариант (о котором ниже).

    Ну а на практике. Готовьтесь работать за бесценок. Серьёзно, может быть оффер - 5-10к в месяц. Надо привыкать и морально готовиться. Зато могут толком ничего и не спросить. А бывают просто предложения года, если не жизни - пол штуки - штука в час на старте с контрактной работой - с одной стороны это не много (тот же odesk уделывает этот параметр даже до старта), однако могут даже предложить офис, да и налоги знаете ли, уплачены. Но соглашаться не стоит - договор подряда обычно туфта, платят через раз, да и задачи из разряда - что хочешь, то и делай, только попробуй потом заставить заплатить.

    Впрочем, есть ещё компании года. Те самые гуглы, яндексы и фейсбуки, да и пара сотен стартапов. Стартапы берут едва ли не всех. А результат виден очень быстро - только прямые руки иметь надо (и уметь копипастить). Из минусов - очень слабый старт - нередко вообще дому у нанимателя (студент-стайл), про деньги лучше даже не говорить... Зато если получиться - будете обеспечены, а то и вовсе - сможете не работать всю жизнь. Но один два раза в год. Оказаться в кругу таких ребят - большая пребольшая удача. А у яндекса есть школа. Записывайтесь! Обучат по нормальной программе:
    1) базовый синтаксис
    2) немного про ООП
    3) базы данных (реляционные и не очень)
    4) чуть про паттерны
    5) тестирования
    и другое, но что главное, очень релевантное при апеллировании на работу.

    2897-1360586427.jpg
    Ах, снова здесь полотна развожу. Извиняюсь и удачи на собеседованиях!

    UPD.
    Ссылка на школу яндекса затерялась среди тегов. Исправил.
    Ответ написан
    5 комментариев
  • Как учить java для устройства на работу?

    @shadyonline
    Минималы джуниора сейчас высокие...
    1. Java Core - (от базисов ООП до коллекций, в частности карт, файлового ввода-вывода, создания потоков и обработки эксепшнов) книги "Философия Java" Эккеля, "Изучаем Java" от Кэти Сьерра, видеокурс "Java Essential Training" + "Java Advanced Training" (Дэвид Гэсснер, ресурс lynda.com, подача на Eclipse), "Up and Running with Java" (Пэгги Фишер, ресурс lynda.com, подача на Netbeans), "Introduction to Java Programming" (ресурс Udemy.com, очень подробно и с примерами в BlueJ - обучающей программе-компиляторе на java и для java).
    2. Hibernate - работа с ним, CRUD-операции в маппинге, аннотациях, jpa, с компиляцией через Ant и Maven; книга "Beginning Hibernate" от Apress, видеокурс "Hibernate tutorials", лежит почему-то и в торрентах от udemy, и в YouTube от Java Brains (ник).
    3. Spring MVC - возможность создать базовый веб-проэкт, имеющий вышеуказанные технологии, плюс немного стиля от Bootstrap, на крайняк; книги "Pro Spring" от Apress, русская "Spring в действии" Уоллс К., видеокурс "Introduction to Spring MVC" (ресурс Pluralsight.com)
    4. Git (возможность сливать свои проэкты в известную систему контроля версий) - видеокурс "Github Essential Training" (ресурс lynda.com).
    И практика-практика-практика...ПОЛОЖИТЕЛЬНЫЕ результаты которой стоит залить на GitHub и вставить ссылки в раздел прочее в резюме JJava Developer
    Ответ написан
    Комментировать
  • Java, куда именно податься?

    AlPsc
    @AlPsc
    Java/high load/big data
    Во-первых, не забудьте после Шилдта прочесть книгу Джошуа Блоха "Effective Java" (в одном из соседних вопросов упоминается её русский перевод, так что он, видимо, существует) – по моему скромному мнению, это обязательное чтиво для любого Java-программиста.
    Во-вторых, если уж выбирать между Android и чем-то ещё, то надо понимать плюсы и минусы обоих путей. Напишу то, что пришло мне в голову, на полноту и истину в последней инстанции не претендую.

    Android:
    Плюсы:
    • Работы много. Очень. В том числе и удалённой.
    • Получить начальные навыки довольно легко – сейчас есть огромное количество статей, пошаговых руководств и прочих материалов, которые как позволяют учиться новому, так и быстро решать типовые задачи/проблемы.

    Минусы:
    • С точки зрения изучения Java эта среда довольно специфическая. Во-первых, используется довольно старый диалект (Java 6). (В комментариях справедливо поправили, что сейчас на Android доступна Java 7.) Во-вторых, набор библиотечных классов несколько отличается от Java SE, и это значит, что при необходимости писать приложения на "настоящей" Java просто взять и переключиться по щелчку пальцев не получится, а какая-то часть "мобильных" навыков и практик окажется бесполезной.
    • Хорошо программировать на Java значит не только знать язык, но и уметь выбирать прочие инструменты (дополнительные библиотеки и т.п.), которыми, конечно, тоже надо уметь пользоваться. В этом смысле Android тоже довольно далёк от того, к чему привыкли разработчики Java SE/EE: всякие вещи типа JDBC/Hibernate/you-name-it на Android либо отсутствуют в принципе, либо не могут быть использованы из-за ограничений среды (тот же нестандартный набор библиотечных классов). Это опять же означает, что, научившись писать на Java под Android, вы не сможете просто взять и начать разрабатывать, скажем, enterprise/backend приложения, и конкуренцию в этой области с кандидатами, у которых есть соответствующий опыт, выдержать вряд ли сможете. (Я бы ничего этого не писал, но у вопроса есть метка "карьера", так что вы сами напросились :) )
    • Большая часть компаний, занятых мобильной разработкой – сервисные, со всеми вытекающими. Лично для меня это минус, т.к. мне продуктовые компании больше по вкусу.
    Java SE/EE
    Плюсы:
    • Работы много. Очень. В том числе и удалённой.
    • Более широкие возможности применения своих навыков

    Минусы:
    • Более высокий порог вхождения
    • Несколько сложнее наработать портфолио, потому что жизненный цикл "больших" приложений зачастую всё же гораздо длиннее, чем в случае мобильной разработки, где очень большую часть работы составляют проекты для сторонних заказчиков, где изначально задана конкретная конечная цель, сразу оговариваются сроки, и т.п. (Сужу по собственному опыту работы в компании, которая занималась как раз разработкой мобильных приложений для заморских заказчиков.) Конечно, в случае с удалённой работой/сервисными компаниями это может оказаться правдой для приложений любых типов.

    Итак, выбирая Android, вы раньше сможете начать зарабатывать деньги, но "чистая" Java, на мой взгляд, даёт больше перспектив. И по сути Android-программист и Java-программист – совсем не одно и то же. Так что выбор профессионального пути зависит от того, как вы вообще видите себя в ближайшем будущем в этой профессии: хотите ли вы быстро освоиться и получить способ зарабатывать деньги, не сильно задумываясь о смене деятельности в перспективе, либо же вам интересны разные области программирования, и вам хочется многое попробовать.
    Ответ написан
    4 комментария
  • Куда податься сисадмину?

    e-antonov
    @e-antonov
    работал сисадмином 5 лет. сам живу в не очень крупном городе с населением 500 тыс человек. реально интересно работать сисадминов в можно всего лишь в нескольких организациях. пара крупных провайдеров и однин крупный завод. остальное всё - фигня неинтересная с 90% бытовухи.
    переквалифицировался в программиста и очень доволен. условия труда лучше, по зп тоже у прогеров лучше, работа сама по себе в разы интереснее. вобщем лично для себя я нашел в таком решении только плюсы
    Ответ написан
    2 комментария