Как перейти с джуниор позиции на мидл: личный опыт
Сегодня расскажу про свой опыт перехода с джуниор позиции Java-разработчика на миддл — «скачок с джуна до мидла», а также поделюсь чек-листом, который поможет коллегам, оказавшимся в такой же ситуации.
Два года я работал в одной конторе на позиции джуна, но роста там особо не было. Надеялся, что скоро закончу магистратуру, и меня повысят до милда. Но этого не произошло. К слову, бакалавриат я закончил в СПбГУТ им. М.А.
Бонч-Бруевича, факультет инфокоммуникационных сетей и систем, но знаний, которые можно непосредственно применять в современной продуктовой разработке, к сожалению, не получил. В программировании на Java я самоучка, и технический бэкграунд мне сильно в этом помог. Java изучал на практике, вникая в документацию и смотря ролики на ютубе.
Почему я ушел с предыдущей работы
В ту фирму я устраивался, когда учился в институте, и опыта у меня особо не было. Там в мои обязанности, в основном, входила поддержка интеграционного легаси проекта. Компания была маленькой, а данный проект — единственной джавовой разработкой, поэтому я время от времени переписывал уже имеющиеся решения с использованием новых технологий (новых очередей сообщений и т.д.) и ловил возникающие баги.
Типичные задачи middle разработчика в компании | Как работают миддлы? (мой опыт)
В планах было отучиться в магистратуре, после чего двигаться дальше по карьере, так как условия работы были весьма теплыми: зарплата меня вполне устраивала, начальство лояльно относилось к сотрудникам, а с коллегами можно было всегда отлично провести время после работы. Но все хорошее рано или поздно заканчивается, и в мою компанию пришло сокращение, под которое попал и я.
Поиск новой работы
Выхожу на рынок труда с полной уверенностью, что все рекрутеры мира только и мечтают обо мне. Но в итоге, меня зовут в средние конторы с такой же зп, а то и меньше, предлагая скучные задачи по поддержке кривого кода.
Собеседовался в EPAM и Luxoft. Эйчары максимально старались завлечь, рассказывая про крутые офисы, движуху внутри компании, ДМС и всякие “плюшки” в виде оплаты спорта и конференций. Но в итоге, так и не смогли ничего предложить по работе, потому что у меня не было опыта работы со Spring.
На первых собеседованиях я “набивал руку”, потому что общение с эйчарами было для меня в новинку. После каждого интервью я чувствовал себя все увереннее. Но основная проблема возникала на этапе тех. собеседования, где меня заваливали на каверзных теоретических вопросах, на которые я не мог четко ответить из-за слабой теоретической базы. Но даже после неудачных попыток, я выписывал все вопросы и задачи, с которыми не справился, и начинал заучивать. После 100500 собеседований на позицию джун+, мидл, результат был примерно одинаковый — готовы взять только на джуна с маленькой зп.
Новая работа
Сдаваться я не собирался, поэтому продолжал проходить собесы. Благо дистанционка, и можно было проходить хоть по 5 собеседований в день. И удача, после второй сессии тех. собеседования меня позвали сразу 2 компании — МТС и Цифровые Привычки.
Junior, Middle, Senior, Team-Lead — в чем разница?
Казалось бы, между МТС и неизвестной компанией выбор очевиден, но все оказалось не так просто. Цифровые Привычки к тому моменту успели выиграть несколько тендеров Сбера на 400 миллионов рублей и начали активно расти. Я думаю, все понимают, что вкатиться в айти компанию на стадии активного роста = получать достойную зп, так как из-за дефицита Java-разработчиков на рынке компания готова хорошо платить, когда у нее есть крупные проекты, на которые требуется больше сотрудников. Мое решение в пользу ЦП было также подкреплено бесплатным обучением по Java, которое в дальнейшем помогло в работе на проекте.
Чек-лист Middle Java Developer
Данный чек-лист основан на моем личном опыте в разработке, опыте прохождения технических собеседований и тех знаниях, которые я получил на обучении. В нем будут те ключевые навыки, которые помогли мне получить должность мидл разработчика. Условно разделю их на hard и soft skills.
Hard skills
Понимание технологического стека проекта, на который ты собеседуешься.
Нужно действительно разбираться в наборе инструментов, которые применяют в работе на проектах, а также важно четко ответить на теоретические вопросы о конкретном применении того или иного инструмента на тех. собеседовании. Например, в моем случае было важно знать JavaSE, JavaEE (JAX-RS, JAX-WS, JMS), Spring framework (Core), SQL, Maven, GIT, XML/XSD.
Сильная теоретическая база.
Нужно уметь объяснять, как ты выполнил ту или иную задачу. Почему использовал конкретно этот подход, а не другой. На тех. собеседовании любят капнуть глубоко в теоретические аспекты, на которых неподготовленный разработчик сразу заваливается. Например, меня на собеседованиях часто спрашивали, как устроен HashMap.
Уметь разбираться в чужом коде.
Сто процентов на новой работе придется иметь дело с чужим кодом, и не всегда он может быть адекватным. Поэтому на тех. собесе также дают задачи на ошибки в чужом коде, к этому надо быть готовым.
Уметь писать интеграционные тесты, осознанно подходить к обдумыванию тест-кейсов.
Написание интеграционных тестов — де факто стандарт современной разработки. Интеграционные выполняются автоматически и помогают удостовериться, что новые изменения не сломают старый функционал.
Знание различных методологий разработки.
Как минимум, нужно понимать, чем отличаются Agile, Scrum и Cascade, чтобы при выходе на проект было проще включиться в работу.
Умение решать задачи на собеседовании.
На тех. собесе кандидата просят решить несколько задач на алгоритмику. Очень часто они совершенно не связаны с реальными задачами разработчика, но решать все равно придется.
Знание английского — желательно, но не обязательно.
Если ты устраиваешься в российскую компанию, то знание языка не требуют. Но нужно иметь ввиду, что вся техническая документация в большинстве случаев написана на английском.
Soft skills
Быть заинтересованным и коммуникабельным.
На собеседовании стоит показать свою коммуникабельность, потому что если твои хард скилы немного не дотягивают до того уровня, который требуется на проекте, то у тебя есть шанс дать понять работодателю, что ты в состоянии быстро освоить все недостающие навыки.
Умение работать в команде.
Этот навык сильно помогает, потому что как я писал выше, работать с чужим кодом не всегда бывает легко, и нужно быть готовым постоянно общаться с коллегами, задавать вопросы, а также самому давать разъяснения, если это нужно. Также здорово, если ты можешь донести свои мысли и идеи до команды так, чтобы их поняли все.
Способность оценить трудозатраты.
Этот навык поможет избежать невыполнимых обещаний, после которых тебе придется работать по 20 часов в день, чтобы сдать проект в срок, который ты сам озвучивал.
Навык постановки целей и задач.
Это всегда полезно для собственного роста и развития, особенно если собираешься дальше строить карьеру.
В общем, начинающему специалисту, который вроде уже и не джун, но еще и не мидл, реально трудно найти работу с интересными задачами и достойной зп. Без хороших теоретических знаний и опыта тяжело устроиться на мидл позицию в нормальную компанию. Поэтому важно постоянно учиться, практиковаться и прокачивать софт скилы.
Также ниже прикрепляю ресурсы, которые помогли мне при подготовке к собеседованиям на Middle Java Developer.
Ресурсы для подготовки к собеседованию
Сайты, где можно найти самые часто задаваемые вопросы на собеседованиях:
Чаты в телеграмме, где можно обсудить разные темы с другими разработчиками и порешать задачи:
- Разбор вопросов на интервью
- Java задачи
- Java задачи с собеседований
- Docker
- Spring Boot Спринг-потрошитель») с конференций
- Видеолекции по Spring
Где можно тренироваться решать задачи:
- LeetCode
- Codeforces
- Тренировки по SQL запросам
- Тренировки по Git запросам
Источник: habr.com
Ранги программистов: юниор, миддл, сеньор, что они означают?
Основные ранги программистов — это юниор, миддл и сеньор. Иногда перед юниором идет стажер или интерн, но это временные ранги, которые можно и не учитывать, так как обычно они занимают всего несколько месяцев.
Обычно ранжирование программистов можно встретить при поиске открытых вакансий.
Таким образом, компания, которой нужен сотрудник , обозначает, специалиста какого уровня она хочет видеть в своей команде. Ведь каждому уровню будут соответствовать свои требования : у юниор а — одно, у сеньора — совсем другое.
Как и во многих других профессиях , различие между программистами напрямую зависит от опыта и знаний. К примеру, только пройдя какой-либо курс по программированию , устроит ь ся сразу сеньором будет очень сложно, даже если на курсе вы изучили сразу три языка программирования и кучу фреймворков с библиотеками. Если опыта «ноль», то и статус будет соответствующий.
Ранги программистов
- юниор (junior) — это новичок;
- миддл (middle) — это программист с каким-то опытом, который уже может больше , чем юниор;
- сеньор (senior) — это эксперт в программировании с большим опытом.
Юниор — это кто?
- много постоянных вопросов, так как он только начинает серьезно практиковаться;
- понимание сути программирования и инструментов, которые при этом используются;
- отличные навыки чтения кода и хорошая теоретическая база;
- знания основ в сфере, где он планирует состоят ь ся программистом.
Миддл — кто это?
- быстро кодить, применяя «горячие клавиши» своей IDE;
- писать понятный и беспроблемный код;
- правильно пользоваться инструментами программирования;
- на отлично язык или языки программирования, на которых работает;
- налаживать взаимодействие всех систем, с которыми имеет дело: сервер ы , базы данных, облачные технологии, API и т. д.;
- сотрудничать и разговаривать с заказчиками и членами команды;
- высказывать свое мнение по поводу разработки;
- решать нестандартные задачи;
- и др.
Сеньор — кто это?
- быть технически подкованными и соответствовать продукту, над которым трудится команда;
- иметь качества лидера и профессиональную авторитетность;
- понимать до мелочей, с чем приходится сталкиваться его команде;
- помогать и поддерживать своим опытом программистов, которые ниже его рангом;
- понимать все фазы развития программного продукта от идеи и до релиза;
- решать задачи любой трудности.
Заключение
На любом уровне: сеньор или юниор — не важно, программиста ждет постоянное самообучение и повышение квалификации. Только дополнительные знания помогают удержаться на уровне и плыть дальше. Типичный вопрос : «А после сеньора есть что-то? ». В плане ранжирования больше ничего нет, просто у сеньоров дальше идет другая карьерная лестница, связанная с занимаемой должностью, например: руководитель проекта, отдела, отделения, филиала, представительства и т. д . Также сеньор может сделать переориентацию профессии, например , стать DevOps.
В общем, рост в профессии программист а может быть постоянным, потому что расти можно как в высоту, так и в ширину, например , овладевать новыми направлениями в программировании.
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
Источник: codernet.ru
Кто такой мидл и как им стать
Если вы это читаете, у вас больше шансов, чем у остальных.
Послушать аудиоверсию этой статьи (6 минут):
Недавно мы писали про джуниора — это специалист начального уровня в мире программирования. Мидл — следующая ступень в развитии программиста. Это уже полноценная боевая единица в команде разработки.
Чем мидл отличается от джуниора
Джуниор — новичок или стажёр, который пришёл в компанию и только учится работать в команде. У него мало опыта, он не в курсе всех тонкостей проекта, поэтому ему поручают только мелкие или несложные задачи: поправить размер кнопки, проверить, приходят ли на сервер нужные данные, или написать проверку для формы на сайте. Если что-то не так, джуниор идёт к старшим товарищам за советом.
Мидл — полноценный командный игрок. Ему уже не нужно помогать каждый день и отвечать на очевидные вопросы. Наоборот, он сам часто помогает джуниорам в сложных ситуациях. Он хорошо знает проект, сам пишет основной код и решает большинство задач самостоятельно.
Мидл по сути и есть программист в общепринятом смысле, самостоятельный и квалифицированный. Он сам ищет ответы, сам следит за новыми решениями в отрасли и сам понимает, когда стоит дополнительно чему-то научиться.
В чём сила мидла
Мидл сразу пишет рабочий код и не требует к себе много внимания, как джуниор. Суперсила мидла в том, что он думает уже на следующем уровне: не о том, как просто написать рабочий код, а о том, как написать его так, чтобы потом было его легко поддерживать. Потому что поддерживать часто ему, и такого кода на поддержку будет много.
Джуниоры обычно решают задачу «сделать так, чтобы код работал», а мидлы — «сделать так, чтобы код не только работал, но и был понятен остальным программистам». Чтобы так уметь, нужны опыт, квалификация и отличное владение инструментами.
Почти весь основной код в каждом проекте написан мидлами.
Как им стать
Иногда говорят, что есть формальные критерии для мидла и что через 2–3 года работы джуниором человек автоматически становится мидлом, но это не так. Чтобы перейти на следующую ступень, программист должен освоить все рабочие инструменты и понимать, когда применить каждый из них.
Например, если это фронтенд, то мидл должен отлично знать HTML, CSS, JavaScript, PHP, уметь работать с препроцессорами, базами данных и знать отличия в отображении страниц в разных браузерах. А если мы говорим про бэкенд-разработчика, то к этому добавится Python, API нужных сервисов, фреймворки для решения разных задач и знание серверных приложений.
Вот что ещё может делать мидл в компании:
- проводить код-ревью (смотреть, насколько код логично и правильно написан);
- самостоятельно распределять свои задачи на ближайший спринт;
- помогать джуниорам;
- понимать, где нужна производительность, а где можно решить всё методом грубой силы.
Самое главное — мидл понимает, почему он делает именно так и почему это будет оптимальное решение для проекта.
Сколько зарабатывает мидл
Мы посмотрели зарплаты мидлов разных направлений на Хабр Карьере за второе полугодие 2019 года:
- разработчик мобильных приложений — 113 тысяч,
- бэкенд-мидл — 105 тысяч,
- фронтенд-мидл — 99 тысяч,
- фулстек — 89 тысяч,
- десктоп-разработчик — 85 тысяч.
Это в полтора-два раза выше, чем у джуниоров.
Что дальше
Если мидл будет и дальше расти и прокачиваться в своих навыках, то он может дорасти до сеньора. Это выше по деньгам, но больше ответственности в проектах. Но для карьеры программиста это естественный путь наверх.
О том, кто такие сеньоры — в следующей статье.
Апскиллинг, как говорится
Апскиллинг — это, например, переход с уровня junior на уровень middle, а потом — senior. У «Яндекс Практикума» есть курсы ровно для этого: от алгоритмов и типов данных до модных фреймворков.
Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Источник: thecode.media
Middle
Middle просто добавляет возможность сделать «средний клик» на ваш Mac для трекпада или Magic Mouse.
Выберите из следующих жестов:
Нажмите тремя пальцами (трекпад или Magic Mouse)
Принудительное касание одним пальцем на трекпаде, поддерживающем принудительное касание
Кликните одним пальцем в центре Magic Mouse
Примечания к выпуску недоступны на момент публикации.
Версия 1.7.9
Разработчик Ryan Hanson
Активация (RG) K’ed by TEAM HCiSO
Совместимость macOS 10.12 и новее
Архитектура ARM, x86 (64-bit)
Угрозы не найдены. Подробнее.
Опубликовано (изменено): 28.11.2022 Просмотры: 10 711
Не теряйте нас,
если сайт забанят.
Похожие публикации
Magic Battery Mini
Magic Battery
AirBuddy 2
Multitouch
FAQ
Ошибок много, сюда всё не влезет. Поэтому все решения (с картинками) мы расписали в статье: Ошибки при установке приложений на Мак
Официальные обновления могут привести к потере активации, если обратное не написано в инструкции по установке.
Для обновления ПО с этого сайта необходимо здесь же (при наличии) скачать новую версию этого ПО, и установить его поверх (с заменой) установленной на вашем компьютере версии. В таком случае вы сохраните активацию и настройки этого ПО.
Для скачивания крупных файлов рекомендуется использовать любой менеджер загрузок, например, FDM (Free Download Manager)
Для скачивания с ФО по типу Filen.io не рекомендуется использовать браузер Safari. Используйте, например, Google Chrome, или вышеупомянутый FDM.
Для скачивания файлов через торрент (файл.torrent) требуется наличие Торрент-клиента, например, Transmission, или вышеупомянутый FDM.
Не забывайте, что провайдеры могут блокировать доступ к некоторым сайтам (1fichier.com и др.), для обхода блокировок рекомендуется использовать VPN.
Администрация сайта ничего не взламывает. Этим занимаются релиз-группы и некоторые энтузиасты. От них и зависит наличие обновлений. Но вы можете ломать софт самостоятельно, начав изучать реверс инжиниринг
Точно не в комментариях. Администрация сайта ничего не взламывает, стол заказов отсутствует. Но вы можете заказать (не бесплатно) нужный софт в специальной ветке на forum.ru-board.com
Откройте Системные настройки -> Основные > Язык и регион -> Приложения — “+”.
Выберите приложение и язык. Способ актуален для большинства приложений.
Язык в продуктах Adobe обычно выбирается на этапе установки самого продукта.
Язык в играх обычно меняется в настройках самой игры.
Бывают исключения. Не стесняйтесь искать информацию в интернете.
Вариантов много. Самый простой — использовать специальные утилиты для удаления приложений, например, App Cleaner https://appstorrent.ru/937-middle.html» target=»_blank»]appstorrent.ru[/mask_link]