📚5 полезных книг для веб-разработчиков
Это вторая наша подборка на тему Web-development. Сегодня мы хотим и углубиться в тему, и, в то же время, дать основы, которые должен знать каждый разработчик, прежде чем садиться за написание кода.
Итак, вашему вниманию 5 книг, обязательных к прочтению, по нашему мнению.
Какие из них вы уже читали?
Это вторая наша подборка на тему Web-development. Сегодня мы хотим и углубиться в тему, и, в то же время, дать основы, которые должен знать каждый разработчик, прежде чем садиться за написание кода.
Итак, вашему вниманию 5 книг, обязательных к прочтению, по нашему мнению.
Какие из них вы уже читали?
👍1🔥1
В чем разница между Web- и мобильной разработкой?
Как минимум, в том, что к "вебу" причисляют проекты, которые работают внутри браузера, а в ходе мобильной разработки создается продукт для мобильных устройств: это могут быть как игры, так и полноценные приложения. Казалось бы, все очевидно, но путаница между ними происходит до сих пор
Тем более, что многие языки программированиях подходят и для разработки веб-приложений, и для мобильной разработки, например Java (используется для создания высоконагруженных систем в браузере или разработки приложений для ОС Android) и C# (используется для написания backend-части для веб-приложений, а также для создания мобильных игр)
У web- и мобильных приложений разные задачи:
web-приложения помогают без проблем найти, упорядочить и просматривать необходимую информацию, не требуют использования дополнительных ресурсов, самостоятельно собирают, хранят и обрабатывают данные пользователей .
мобильные приложения используют для увеличения продаж и стимулирование повторных покупок, постоянной связи с клиентом (через уведомления) и роста его лояльности, автоматизация процессов. Они банально всегда под рукой!
Примеры известных web-приложений:Google, Netflix, YouTube
Примеры известных мобильных приложений:Tik-Tok, Instagram, Ozon
Какой вид разработки более востребован на рынке на данный момент - очень спорный вопрос. Ведь крупные компании стараются владеть и веб-, и мобильной версией своих сервисов.
А вам какой вид разработки ближе
Как минимум, в том, что к "вебу" причисляют проекты, которые работают внутри браузера, а в ходе мобильной разработки создается продукт для мобильных устройств: это могут быть как игры, так и полноценные приложения. Казалось бы, все очевидно, но путаница между ними происходит до сих пор
Тем более, что многие языки программированиях подходят и для разработки веб-приложений, и для мобильной разработки, например Java (используется для создания высоконагруженных систем в браузере или разработки приложений для ОС Android) и C# (используется для написания backend-части для веб-приложений, а также для создания мобильных игр)
У web- и мобильных приложений разные задачи:
web-приложения помогают без проблем найти, упорядочить и просматривать необходимую информацию, не требуют использования дополнительных ресурсов, самостоятельно собирают, хранят и обрабатывают данные пользователей .
мобильные приложения используют для увеличения продаж и стимулирование повторных покупок, постоянной связи с клиентом (через уведомления) и роста его лояльности, автоматизация процессов. Они банально всегда под рукой!
Примеры известных web-приложений:Google, Netflix, YouTube
Примеры известных мобильных приложений:Tik-Tok, Instagram, Ozon
Какой вид разработки более востребован на рынке на данный момент - очень спорный вопрос. Ведь крупные компании стараются владеть и веб-, и мобильной версией своих сервисов.
А вам какой вид разработки ближе
🔥4
Что такое десктоп-разработка, и для чего она нужна?
Десктоп (от англ. desktop) - рабочий стол. А десктопное приложение — соответственно, это программа, которая устанавливается прямо на компьютер и работает под управлением операционной системы.
Например, у знаменитого редактора Figma есть браузерная версия, а есть десктопная. Ее можно запустить прямо с рабочего стола. Такие приложения высокопроизводительные, могут работать напрямую с принтерами, сканерами и прочей техникой.
Преимущества для пользователя:
1. Работа как в онлайне так и в офлайне.
2. Быстрый запуск.
3. Отзывчивый пользовательский интерфейс.
4. Быстрая работа.
5. Работа с периферийными устройствами
6. Дополнительные возможности. Например, в случае с Figma, десктоп-версия открывает опцию легкого переключения между вкладками с задачами.
Но количество скачиваний таких приложений невелико. Почему?
Это легко объяснить нежеланием пользователей использовать память компьютера и совершать “лишние” действия, да еще и постоянно обновлять их. Гораздо проще открывать любимые программы непосредственно в браузере.
А вы за десктоп или за web?
Десктоп (от англ. desktop) - рабочий стол. А десктопное приложение — соответственно, это программа, которая устанавливается прямо на компьютер и работает под управлением операционной системы.
Например, у знаменитого редактора Figma есть браузерная версия, а есть десктопная. Ее можно запустить прямо с рабочего стола. Такие приложения высокопроизводительные, могут работать напрямую с принтерами, сканерами и прочей техникой.
Преимущества для пользователя:
1. Работа как в онлайне так и в офлайне.
2. Быстрый запуск.
3. Отзывчивый пользовательский интерфейс.
4. Быстрая работа.
5. Работа с периферийными устройствами
6. Дополнительные возможности. Например, в случае с Figma, десктоп-версия открывает опцию легкого переключения между вкладками с задачами.
Но количество скачиваний таких приложений невелико. Почему?
Это легко объяснить нежеланием пользователей использовать память компьютера и совершать “лишние” действия, да еще и постоянно обновлять их. Гораздо проще открывать любимые программы непосредственно в браузере.
А вы за десктоп или за web?
👍2
Не только боты! Какие проекты мирового значения написаны на Java?
NASA World Wind
Это полностью трехмерный интерактивный виртуальный глобус, который использует спутниковые снимки NASA и аэрофотосъемку Геологической службы США для построения трёхмерных моделей Земли, Луны, Марса, Венеры и Юпитера.
Google и Android OS
Компания Google использует Java для многих своих продуктов. В основном для программирования сервера и разработки пользовательского интерфейса.
Например, для Google Docs — приложения для работы с документами, которое очень похоже на Microsoft Word.
И конечно, здесь мы никак не можем пройти мимо операционной системы Android — ведь она берет свое начало именно от виртуальной машины Java (JVM). Поэтому на этом языке можно разрабатывать и мобильные приложения.
Spotify
Spotify — один из популярнейших в мире интернет-сервисов потокового аудио, позволяющий легально и бесплатно прослушивать более 50 миллионов музыкальных композиций, аудиокниг и подкастов.
Uber
Для приложения Uber Java — одна из важнейших технологий наряду с Python, Node.js и Go. Согласно заявлению разработчиков, они выбрали Java именно по причине высокой производительности, что является одной из главных характеристик этого языка. Также Java обладает преимуществами экосистемы с открытым исходным кодом и интегрируется с внешними технологиями.
Minecraft
Да, эта всемирно известная компьютерная инди-игра в жанре песочницы тоже написана на Java. По словам разработчиков “пусковая установка Minecraft поставляется с Java версией 1.8.0_51, которая используется по умолчанию”. Однако они рекомендуют обновиться, чтобы увеличить производительность.
А о каких из них вы знали?
NASA World Wind
Это полностью трехмерный интерактивный виртуальный глобус, который использует спутниковые снимки NASA и аэрофотосъемку Геологической службы США для построения трёхмерных моделей Земли, Луны, Марса, Венеры и Юпитера.
Google и Android OS
Компания Google использует Java для многих своих продуктов. В основном для программирования сервера и разработки пользовательского интерфейса.
Например, для Google Docs — приложения для работы с документами, которое очень похоже на Microsoft Word.
И конечно, здесь мы никак не можем пройти мимо операционной системы Android — ведь она берет свое начало именно от виртуальной машины Java (JVM). Поэтому на этом языке можно разрабатывать и мобильные приложения.
Spotify
Spotify — один из популярнейших в мире интернет-сервисов потокового аудио, позволяющий легально и бесплатно прослушивать более 50 миллионов музыкальных композиций, аудиокниг и подкастов.
Uber
Для приложения Uber Java — одна из важнейших технологий наряду с Python, Node.js и Go. Согласно заявлению разработчиков, они выбрали Java именно по причине высокой производительности, что является одной из главных характеристик этого языка. Также Java обладает преимуществами экосистемы с открытым исходным кодом и интегрируется с внешними технологиями.
Minecraft
Да, эта всемирно известная компьютерная инди-игра в жанре песочницы тоже написана на Java. По словам разработчиков “пусковая установка Minecraft поставляется с Java версией 1.8.0_51, которая используется по умолчанию”. Однако они рекомендуют обновиться, чтобы увеличить производительность.
А о каких из них вы знали?
👍4
На каком языке мы будем писать Телеграм-бота?
Anonymous Quiz
14%
Phyton
69%
Java
1%
PHP
14%
Не знаю
2%
С++
👍3
Нескучный WebDev
На каком языке мы будем писать Телеграм-бота?
58% наших подписчиков ответили верно - бота будем писать на языке Java☕️
Почему именно этот язык? Во-первых, потому что для создания ботов в Telegram написана отличная библиотека именно на Java. И поэтому многие разработчики ботов используют этот язык.
А еще - Java входит в топ-3 самых востребованных языков и считается универсальным.
Его бета-версия была выпущена в 1995 году, а в марте 2022 вышел уже 18-ый релиз!😵
Сейчас он наиболее востребован в таких направлениях, как
- веб-разработка (масштабные бизнес-проекты);
- программы для ПК (десктопный софт);
- компьютерные игры (например, Minecraft);
- приложения для мобильных устройств (ОС Android);
- научные исследования и разработки;
- промышленный программинг.
Остались вопросы? Пишите их в комментариях👇🏼
Почему именно этот язык? Во-первых, потому что для создания ботов в Telegram написана отличная библиотека именно на Java. И поэтому многие разработчики ботов используют этот язык.
А еще - Java входит в топ-3 самых востребованных языков и считается универсальным.
Его бета-версия была выпущена в 1995 году, а в марте 2022 вышел уже 18-ый релиз!😵
Сейчас он наиболее востребован в таких направлениях, как
- веб-разработка (масштабные бизнес-проекты);
- программы для ПК (десктопный софт);
- компьютерные игры (например, Minecraft);
- приложения для мобильных устройств (ОС Android);
- научные исследования и разработки;
- промышленный программинг.
Остались вопросы? Пишите их в комментариях👇🏼
👍12👎1
Java vs Python: какой язык изучать?
Сейчас принято активно рекламировать Пайтон как наиболее простой для изучения язык программирования. Да, в этом его неоспоримое преимущество, но проще - не значит лучше!
Давайте разберемся, в чем Java "сильнее" Python?
Безопасность.
При написании кода на Java ошибки выявляются в процессе компилляции, а не в процесс реализации программы, как это происходит с Python. То есть, все потенциальные "баги" проще выявить на стадии "до выполнения", а значит, проще избежать;
Командная работа
Изучить чужой код на Java проще, из-за обилия описаний переменных. А вот чужой код на Python прочесть уже сложнее.
Скорость
Производительность Java-приложений примерно равна производительности того, что написано на С/С++.
Python-разработчики могут использовать Cython и Jython для написания модулей С/С++ и Java-кода под Python. Но это не сильно улучшает общую скорость работы приложений. Python куда медленнее Java.
Кроссплатформенность
Поддержка разных платформ у Java реализована лучше, чем у Пайтон.
Экосистема
Java предпочтительнее для разработки корпоративных приложений из-за многообразия библиотек и сред. Они поддерживаются обширным сообществом разработчиков из крупных компаний.
Если подвести итог под сравнением, можно сказать, что у этих двух языков просто разные задачи: Java создан для минимизации количества ошибок, а Python для скорости реализации той или иной задачи.
И, как обычно, мы ждем ваших вопросов в комментариях👇🏼
Сейчас принято активно рекламировать Пайтон как наиболее простой для изучения язык программирования. Да, в этом его неоспоримое преимущество, но проще - не значит лучше!
Давайте разберемся, в чем Java "сильнее" Python?
Безопасность.
При написании кода на Java ошибки выявляются в процессе компилляции, а не в процесс реализации программы, как это происходит с Python. То есть, все потенциальные "баги" проще выявить на стадии "до выполнения", а значит, проще избежать;
Командная работа
Изучить чужой код на Java проще, из-за обилия описаний переменных. А вот чужой код на Python прочесть уже сложнее.
Скорость
Производительность Java-приложений примерно равна производительности того, что написано на С/С++.
Python-разработчики могут использовать Cython и Jython для написания модулей С/С++ и Java-кода под Python. Но это не сильно улучшает общую скорость работы приложений. Python куда медленнее Java.
Кроссплатформенность
Поддержка разных платформ у Java реализована лучше, чем у Пайтон.
Экосистема
Java предпочтительнее для разработки корпоративных приложений из-за многообразия библиотек и сред. Они поддерживаются обширным сообществом разработчиков из крупных компаний.
Если подвести итог под сравнением, можно сказать, что у этих двух языков просто разные задачи: Java создан для минимизации количества ошибок, а Python для скорости реализации той или иной задачи.
И, как обычно, мы ждем ваших вопросов в комментариях👇🏼
👍13👎1
Почему в backend-разработке лидирует язык из середины 90-х и при чем здесь кофе?
Как бы парадоксально ни звучало, но самым актуальным языком для бэкенд-разработки на данным момент остается язык из середины 90-х. Да, Java впервые был презентован Джеймсом Гослингом 23 мая 1995 года. Правда, изначально он назывался Oak, что в переводе означает “дуб” .
Но оказалось, что язык с таким названием уже существует, и выбор пал на слово Java, в честь марки кофе (а кофе, как известно, лучший друг программиста)
В чем секрет лидирования Java в backend? В надежности, скорости и безопасности этого языка.
А еще Java — это круто, потому что вы сможете:
- изучать космос с NASA;
- помогать докторам посещать пациентов на расстоянии;
- создавать софт для трейдинга;
- разработать торговый автомат;
- подписаться на Java в Twitter, который создан с помощью Java
Поэтому, ответ на вопрос: "Стоит ли изучить Java?" - однозначно “да”, если вы, конечно, хотите стать востребованным программистом.
А что думаете вы?
Как бы парадоксально ни звучало, но самым актуальным языком для бэкенд-разработки на данным момент остается язык из середины 90-х. Да, Java впервые был презентован Джеймсом Гослингом 23 мая 1995 года. Правда, изначально он назывался Oak, что в переводе означает “дуб” .
Но оказалось, что язык с таким названием уже существует, и выбор пал на слово Java, в честь марки кофе (а кофе, как известно, лучший друг программиста)
В чем секрет лидирования Java в backend? В надежности, скорости и безопасности этого языка.
А еще Java — это круто, потому что вы сможете:
- изучать космос с NASA;
- помогать докторам посещать пациентов на расстоянии;
- создавать софт для трейдинга;
- разработать торговый автомат;
- подписаться на Java в Twitter, который создан с помощью Java
Поэтому, ответ на вопрос: "Стоит ли изучить Java?" - однозначно “да”, если вы, конечно, хотите стать востребованным программистом.
А что думаете вы?
❤15🔥3
👋🏼Всем привет!
Виктор Сильнов ведет блог в Телеграмме о программировании и о работе, будет рад вас видеть
https://t.iss.one/silnovblog
Виктор Сильнов ведет блог в Телеграмме о программировании и о работе, будет рад вас видеть
https://t.iss.one/silnovblog
👍7
⚡️Факт!
По данным Хабр.Карьеры за июнь,сейчас среди IT-специалистов большим спросом у российских компаний пользуются backend-разработчики.
🤔А самый популярный язык программирования на котором реализуют backend - это Java. (35% вакансий - это вакансии Java-разработчиков)
Как вам такое?
По данным Хабр.Карьеры за июнь,сейчас среди IT-специалистов большим спросом у российских компаний пользуются backend-разработчики.
🤔А самый популярный язык программирования на котором реализуют backend - это Java. (35% вакансий - это вакансии Java-разработчиков)
Как вам такое?
👍13
Привет всем! Сегодня публикуем пост Александра Демидова, backend-разработчика "Альфа-банка":
❗️Он достаточно длинный, но очень интересно написан:
"Как начать карьеру в разработке?
По своему опыту могу сказать, что для любого начинания требуются три вещи: мотивация, план и ресурсы на его исполнение.
Когда я начинал свое обучение, у меня была только мотивация. Мне очень хотелось сменить опостылевшую мне сферу бизнеса, продаж и закупок на другое, более подходящее мне занятие в плане эмоционального фона, карьерного роста и баланса жизни и работы.
Мой выбор пал на программирование не случайно. Я четко понимал, чего я хочу и, что более важно, чего я не хочу от работы. Мне было важно видеть результаты своего труда как можно скорее, практически мгновенно, а не через месяц, квартал или год.
Мне было важно понимать, что результат моей работы зависит по большей части только от меня самого, и что мои компетенции можно просто и объективно оценить в рамках требований индустрии. Для меня важно, что возможностей для роста в программировании предостаточно, и более того, они прозрачны: выбирай одно из множества направлений, осваивай стек технологий и изучай его так глубоко, как это необходимо, потом переходи к следующему. Иначе говоря, я воспринимал (и сейчас воспринимаю) программирование как ремесло, такое же как работа строителя, кузнеца, столяра или электрика, только цифровое. И мне захотелось стать мастером своего дела - это моя мотивация.
Так что мой первый совет: разберитесь, зачем вам это? Вам потребуется ответ на этот вопрос, когда вы будете продираться сквозь десятки вкладок гугла, документации, stackoverflow и видеороликов программистов с сильным индийским акцентом
Составьте план своего обучения, даже самый приблизительный.
У всех желающих стать разработчиком будут разные жизненные обстоятельства. Но ресурсы для обучения у всех будут одни и те же - это время и деньги. Когда я еще только задумывался о том, чтобы сменить сферу деятельности и пойти учиться, я принял решение, что я буду делать это full-time, то есть не совмещая ни с какой другой работой, не по вечерам и не на выходных. Моя тогдашняя работа вместе с дорогой до неё не оставляли мне сил и времени для учебы, и я, скорее всего, просто бы сгорел от такого ритма. Хотя я и знаю реальные примеры перехода в IT, когда люди учились буквально где угодно и каждую свободную минуту, совмещая это со своей основной работой, мне остается только засвидетельствовать мое почтение к их силе воли и целеустремленности, я думаю, что я бы так не смог.
Путем изучения различных “историй успеха” таких же “перебежчиков” из других сфер, я оценил общие затраты времени на мое обучение и трудоустройство в 10-12 месяцев с полного “нуля”.
Под “нулем” я имею в виду следующее: мне 28 лет, у меня нет технического бэкграунда, ЕГЭ по математике в 2010 году я сдал на 56 баллов, по образованию я логист, по опыту работы я закупщик напитков и алкоголя, ближайший к программированию опыт - это написание формул в Excel, имею свой компьютер, доступ в интернет и знаю английский язык (последнее не критично, но достаточно сподручно). Обучаться на “полную ставку” я решил как на обычной работе, пять дней в неделю с 9 до 18 с перерывом на выходные и праздники.
Если бы я заранее знал, что конкретно мне придется изучать, для чего, и сколько времени это займет, то я бы разбил свой процесс обучения на несколько стадий и определил для каждой из них временной период следующим образом:
❗️Он достаточно длинный, но очень интересно написан:
"Как начать карьеру в разработке?
По своему опыту могу сказать, что для любого начинания требуются три вещи: мотивация, план и ресурсы на его исполнение.
Когда я начинал свое обучение, у меня была только мотивация. Мне очень хотелось сменить опостылевшую мне сферу бизнеса, продаж и закупок на другое, более подходящее мне занятие в плане эмоционального фона, карьерного роста и баланса жизни и работы.
Мой выбор пал на программирование не случайно. Я четко понимал, чего я хочу и, что более важно, чего я не хочу от работы. Мне было важно видеть результаты своего труда как можно скорее, практически мгновенно, а не через месяц, квартал или год.
Мне было важно понимать, что результат моей работы зависит по большей части только от меня самого, и что мои компетенции можно просто и объективно оценить в рамках требований индустрии. Для меня важно, что возможностей для роста в программировании предостаточно, и более того, они прозрачны: выбирай одно из множества направлений, осваивай стек технологий и изучай его так глубоко, как это необходимо, потом переходи к следующему. Иначе говоря, я воспринимал (и сейчас воспринимаю) программирование как ремесло, такое же как работа строителя, кузнеца, столяра или электрика, только цифровое. И мне захотелось стать мастером своего дела - это моя мотивация.
Так что мой первый совет: разберитесь, зачем вам это? Вам потребуется ответ на этот вопрос, когда вы будете продираться сквозь десятки вкладок гугла, документации, stackoverflow и видеороликов программистов с сильным индийским акцентом
Составьте план своего обучения, даже самый приблизительный.
У всех желающих стать разработчиком будут разные жизненные обстоятельства. Но ресурсы для обучения у всех будут одни и те же - это время и деньги. Когда я еще только задумывался о том, чтобы сменить сферу деятельности и пойти учиться, я принял решение, что я буду делать это full-time, то есть не совмещая ни с какой другой работой, не по вечерам и не на выходных. Моя тогдашняя работа вместе с дорогой до неё не оставляли мне сил и времени для учебы, и я, скорее всего, просто бы сгорел от такого ритма. Хотя я и знаю реальные примеры перехода в IT, когда люди учились буквально где угодно и каждую свободную минуту, совмещая это со своей основной работой, мне остается только засвидетельствовать мое почтение к их силе воли и целеустремленности, я думаю, что я бы так не смог.
Путем изучения различных “историй успеха” таких же “перебежчиков” из других сфер, я оценил общие затраты времени на мое обучение и трудоустройство в 10-12 месяцев с полного “нуля”.
Под “нулем” я имею в виду следующее: мне 28 лет, у меня нет технического бэкграунда, ЕГЭ по математике в 2010 году я сдал на 56 баллов, по образованию я логист, по опыту работы я закупщик напитков и алкоголя, ближайший к программированию опыт - это написание формул в Excel, имею свой компьютер, доступ в интернет и знаю английский язык (последнее не критично, но достаточно сподручно). Обучаться на “полную ставку” я решил как на обычной работе, пять дней в неделю с 9 до 18 с перерывом на выходные и праздники.
Если бы я заранее знал, что конкретно мне придется изучать, для чего, и сколько времени это займет, то я бы разбил свой процесс обучения на несколько стадий и определил для каждой из них временной период следующим образом:
👍1
1. Основы синтаксиса языка: 1 месяц (Hello world, виды переменных, циклы, массивы, могу написать программу, которая что-нибудь посчитает и выведет на экран в консоль)
2. Парадигма объектно-ориентированного программирования и её реализация в Java: 2 месяца (модификаторы доступа, наследование, интерфейсы, могу написать программу с иерархией классов и объяснить принципы ООП не только на примере автомобиля)
3. Продвинутый уровень Java (исключения, коллекции, лямбда-выражения, дженерики, основы многопоточности, знаю как работает HashMap и что выбрать между ArrayList и LinkedList, а также не путаюсь в проблеме PECS): 2 месяца
4. Сетевое взаимодействие в Java (клиент-сервер, HTTP протокол, обработка JSON, могу написать программу, которая сходит по ссылке, что-то из неё получит, обработает и выведет на экран): 1 месяц
5. Базы данных, основы SQL и Java (могу поднять базу на своем компьютере, сообразить её схему и создать таблицы, могу писать простые SQL запросы к этой базе, могу по JDBC подключить эту базу к своей программе): 1 месяц
Spring Framework и всё вокруг него (Spring Boot, REST API, WebMVC, Maven/Gradle, тестирование, могу написать приложение с RESTful API, взаимодействующее с подключенной базой данных и покрыть код тестами): 3 месяца
Итого 10 месяцев. На что еще 2? На подготовку к собеседованиям, конечно же. Когда вы нагуглите список вопросов к собеседованию на джависта и пойдете по нему, то вы сразу увидите, что многих интервьюеров интересуют какие-то странные вещи, а также, что вы уже забыли какую-то часть пройденного материала, а что-то вы вообще не знаете и нужно это изучить и разобрать. Особенно это касается вопросов по Spring...."
Интересно? Публикуем продолжение?
2. Парадигма объектно-ориентированного программирования и её реализация в Java: 2 месяца (модификаторы доступа, наследование, интерфейсы, могу написать программу с иерархией классов и объяснить принципы ООП не только на примере автомобиля)
3. Продвинутый уровень Java (исключения, коллекции, лямбда-выражения, дженерики, основы многопоточности, знаю как работает HashMap и что выбрать между ArrayList и LinkedList, а также не путаюсь в проблеме PECS): 2 месяца
4. Сетевое взаимодействие в Java (клиент-сервер, HTTP протокол, обработка JSON, могу написать программу, которая сходит по ссылке, что-то из неё получит, обработает и выведет на экран): 1 месяц
5. Базы данных, основы SQL и Java (могу поднять базу на своем компьютере, сообразить её схему и создать таблицы, могу писать простые SQL запросы к этой базе, могу по JDBC подключить эту базу к своей программе): 1 месяц
Spring Framework и всё вокруг него (Spring Boot, REST API, WebMVC, Maven/Gradle, тестирование, могу написать приложение с RESTful API, взаимодействующее с подключенной базой данных и покрыть код тестами): 3 месяца
Итого 10 месяцев. На что еще 2? На подготовку к собеседованиям, конечно же. Когда вы нагуглите список вопросов к собеседованию на джависта и пойдете по нему, то вы сразу увидите, что многих интервьюеров интересуют какие-то странные вещи, а также, что вы уже забыли какую-то часть пройденного материала, а что-то вы вообще не знаете и нужно это изучить и разобрать. Особенно это касается вопросов по Spring...."
Интересно? Публикуем продолжение?
👍3
Публикуем продолжение поста и обращаем ваше внимание на то, что Александр проходил курсы не у нас (наш курс длится гораздо дольше):
"Ну и все, учитесь!
Смотря на свой реальный опыт обучения со стороны, я могу предложить несколько советов:
1️⃣Если вы не знаете наверняка, хотите ли вы становиться java-программистом, насколько вам это вообще интересно или вы считаете, что вряд ли осилите этот путь, то сначала попробуйте начать с чего-то малого и бюджетного. Под малым и бюджетным я понимаю различные бесплатные или очень дешевые курсы самых базовых основ языка.
Эти материалы помогут вам понять, на что вообще вы можете рассчитывать, что у вас получается, а что нет, и стоит ли продолжать.
2️⃣Уверены, что все ОК? Тогда советую выбрать курсы по программированию. Как бы к ним не относились в пространстве рунета, они дают несколько полезных вещей: структуру обучения и обратную связь на вашу работу. В процессе обучения у вас появится огромное количество вопросов. Задавать их вы будете, в основном, в Гугл, но иногда помощь преподавателя или сокурсников может быть очень важна. Опять же, многие курсы предлагают работу над учебным проектом в команде ближе к концу обучения, и это тоже довольно важный момент, потому что на будущей работе вы не будете работать в одиночестве и вам надо хотя бы представлять как взаимодействовать с коллегами.
Структура обучения на курсах - это ваш вектор для развития своих навыков. Чтобы не потеряться в разнообразии тем, которых вы не знаете, но вроде как надо бы их учить, следует держаться этого вектора. Качество обучения на курсах бывает разным, но структура примерно одна, и она поможет вам держаться пути и не растеряться.
3️⃣Основная часть вашего обучения - это самообучение. Я в полной мере ощутил этот тезис на себе, когда записался на курсы java-разработчиков в один из именитых ВУЗов России. Это были официальные курсы повышения квалификации, с сертификатом государственного образца и длились они 4 месяца. Из них один месяц отводился на написание дипломного проекта. Выучить Java, БД, SQL и Spring за квартал, неплохо, правда? Неправда :)
4 месяца я не видел белого света, но курсы закончил и даже получил свою “пятерку” за диплом. Но лекции у меня были 2 - 3 раза в неделю на несколько часов, а учился я каждый день больше, чем до этого работал. Никто не будет дважды объяснять вам одно и то же. Никто не будет вас ждать или проводить индивидуальные сессии. Ну и конечно, после таких курсов я обнаружил, что в голове у меня какая-то каша, и что её надо приводить в порядок, опять же, самостоятельно. Так что, во-первых, не ведитесь на такие сроки, как я, а во-вторых, во время обучения вы точно не будете сразу въезжать в какие-то темы, и почти всегда вам придется разбирать их самостоятельно...."
Это еще не весь пост. Продолжаем?
"Ну и все, учитесь!
Смотря на свой реальный опыт обучения со стороны, я могу предложить несколько советов:
1️⃣Если вы не знаете наверняка, хотите ли вы становиться java-программистом, насколько вам это вообще интересно или вы считаете, что вряд ли осилите этот путь, то сначала попробуйте начать с чего-то малого и бюджетного. Под малым и бюджетным я понимаю различные бесплатные или очень дешевые курсы самых базовых основ языка.
Эти материалы помогут вам понять, на что вообще вы можете рассчитывать, что у вас получается, а что нет, и стоит ли продолжать.
2️⃣Уверены, что все ОК? Тогда советую выбрать курсы по программированию. Как бы к ним не относились в пространстве рунета, они дают несколько полезных вещей: структуру обучения и обратную связь на вашу работу. В процессе обучения у вас появится огромное количество вопросов. Задавать их вы будете, в основном, в Гугл, но иногда помощь преподавателя или сокурсников может быть очень важна. Опять же, многие курсы предлагают работу над учебным проектом в команде ближе к концу обучения, и это тоже довольно важный момент, потому что на будущей работе вы не будете работать в одиночестве и вам надо хотя бы представлять как взаимодействовать с коллегами.
Структура обучения на курсах - это ваш вектор для развития своих навыков. Чтобы не потеряться в разнообразии тем, которых вы не знаете, но вроде как надо бы их учить, следует держаться этого вектора. Качество обучения на курсах бывает разным, но структура примерно одна, и она поможет вам держаться пути и не растеряться.
3️⃣Основная часть вашего обучения - это самообучение. Я в полной мере ощутил этот тезис на себе, когда записался на курсы java-разработчиков в один из именитых ВУЗов России. Это были официальные курсы повышения квалификации, с сертификатом государственного образца и длились они 4 месяца. Из них один месяц отводился на написание дипломного проекта. Выучить Java, БД, SQL и Spring за квартал, неплохо, правда? Неправда :)
4 месяца я не видел белого света, но курсы закончил и даже получил свою “пятерку” за диплом. Но лекции у меня были 2 - 3 раза в неделю на несколько часов, а учился я каждый день больше, чем до этого работал. Никто не будет дважды объяснять вам одно и то же. Никто не будет вас ждать или проводить индивидуальные сессии. Ну и конечно, после таких курсов я обнаружил, что в голове у меня какая-то каша, и что её надо приводить в порядок, опять же, самостоятельно. Так что, во-первых, не ведитесь на такие сроки, как я, а во-вторых, во время обучения вы точно не будете сразу въезжать в какие-то темы, и почти всегда вам придется разбирать их самостоятельно...."
Это еще не весь пост. Продолжаем?
👍5
Публикуем продолжение поста (начало на несколько сообщений выше):
"Отнеситесь к изучению основ языка серьезно. Вы должны понимать как устроен код, чтобы когда вы откроете какой-нибудь внутренний класс одной из библиотек, чтобы понять как она работает, он вас не смутил имплементацией интерфейса, вложенными классами или множеством дженериков. Знание основ Java - это фундамент, на который вы будете строить все новые и новые знания, и если вы что-то пропустите или не поймете, то вы не сможете понять и изучить следующие темы с более сложными технологиями. Мне пришлось много раз возвращаться к начальным темам, потому что я проскочил их слишком быстро или не уделил им достаточно внимания. Лучше сразу остановиться и разобрать что-то непонятное до основания.
После окончания курсов/обучения нужно иметь в портфолио какой-нибудь проект, демонстрирующий ваши умения. Как правило, это Spring Boot + БД + REST API + тесты. Может, Телеграм-бот для демонстрации умений работы со сторонней API? Трекер рабочего времени? Система учета клиентов в клинике? Система продажи билетов на мероприятия? Вариантов масса, и наверняка у вас есть своя более интересная идея. Этот проект можно демонстрировать потенциальным работодателям и указать его в резюме. Вероятность, что его посмотрят невысока, но никогда не знаешь.
Для подготовки к собеседованиям можно посмотреть mock-интервью, например на канале JetBulb, чтобы примерно понимать, чего ожидать.
Регулярно просматривайте вакансии по ключевым словам “Java”, “Spring”, “Junior”, “Trainee”, чтобы понимать ситуацию на рынке труда и мониторить требования к этим вакансиям. Я знал расписание стажировок в нескольких компаниях своего города (они проводились 3 раза в год), а также знал общие требования к вакансиям джунов и корректировал обучение соответственно. Смотрите не толькоHeadHunter, но и Хабр.Карьеру и различные группы с IT вакансиями в Телеграм.
Помните, что процесс обучения программированию непрерывен. Во время реальной работы вам также придется все время учиться чему-то новому и обновлять заржавевшие старые знания. Попав в IT, вам придется много и усердно работать, особенно поначалу, потому что полученных вами знаний, скорее всего, не хватит, чтобы сразу начать работать в боевой среде. Придется разбираться в чем-то специфичном для конкретно вашей компании, будьте готовы.
После окончания обучения и подготовки к собеседованиям остается только рассылать резюме и откликаться на вакансии :)
В целом, это наверное всё, что я хотел сказать о том как вкатиться в Java Backend разработку. Рассчитайте свои силы и возможности, будьте готовы много работать над собой и ни за что не сдавайтесь. При должном упорстве у вас все обязательно получится..."
В следующем посте - топ навыков для новичка
"Отнеситесь к изучению основ языка серьезно. Вы должны понимать как устроен код, чтобы когда вы откроете какой-нибудь внутренний класс одной из библиотек, чтобы понять как она работает, он вас не смутил имплементацией интерфейса, вложенными классами или множеством дженериков. Знание основ Java - это фундамент, на который вы будете строить все новые и новые знания, и если вы что-то пропустите или не поймете, то вы не сможете понять и изучить следующие темы с более сложными технологиями. Мне пришлось много раз возвращаться к начальным темам, потому что я проскочил их слишком быстро или не уделил им достаточно внимания. Лучше сразу остановиться и разобрать что-то непонятное до основания.
После окончания курсов/обучения нужно иметь в портфолио какой-нибудь проект, демонстрирующий ваши умения. Как правило, это Spring Boot + БД + REST API + тесты. Может, Телеграм-бот для демонстрации умений работы со сторонней API? Трекер рабочего времени? Система учета клиентов в клинике? Система продажи билетов на мероприятия? Вариантов масса, и наверняка у вас есть своя более интересная идея. Этот проект можно демонстрировать потенциальным работодателям и указать его в резюме. Вероятность, что его посмотрят невысока, но никогда не знаешь.
Для подготовки к собеседованиям можно посмотреть mock-интервью, например на канале JetBulb, чтобы примерно понимать, чего ожидать.
Регулярно просматривайте вакансии по ключевым словам “Java”, “Spring”, “Junior”, “Trainee”, чтобы понимать ситуацию на рынке труда и мониторить требования к этим вакансиям. Я знал расписание стажировок в нескольких компаниях своего города (они проводились 3 раза в год), а также знал общие требования к вакансиям джунов и корректировал обучение соответственно. Смотрите не толькоHeadHunter, но и Хабр.Карьеру и различные группы с IT вакансиями в Телеграм.
Помните, что процесс обучения программированию непрерывен. Во время реальной работы вам также придется все время учиться чему-то новому и обновлять заржавевшие старые знания. Попав в IT, вам придется много и усердно работать, особенно поначалу, потому что полученных вами знаний, скорее всего, не хватит, чтобы сразу начать работать в боевой среде. Придется разбираться в чем-то специфичном для конкретно вашей компании, будьте готовы.
После окончания обучения и подготовки к собеседованиям остается только рассылать резюме и откликаться на вакансии :)
В целом, это наверное всё, что я хотел сказать о том как вкатиться в Java Backend разработку. Рассчитайте свои силы и возможности, будьте готовы много работать над собой и ни за что не сдавайтесь. При должном упорстве у вас все обязательно получится..."
В следующем посте - топ навыков для новичка
👍3❤2
Всем привет! Есть у кого-нибудь пример тестового задания на джуниора? Записываем уроки, хочу разобрать реальное задание
👍6
Нужно ли высшее образование разработчику?
Anonymous Poll
20%
Конечно, это основа (и оно у меня есть)!
15%
Нужно, и я хотел(-а) бы его получить
8%
Достаточно курсов
35%
Лучше опыта и самообразования нет ничего
23%
Тынц
😱1