Как получить middle разработчика

Как перейти с позиции юниора на позицию мидл: личный опыт

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

Я два года работал в офисе джуниором, но большого роста не было. Я надеялся скоро закончить магистерскую программу и получить повышение до минора. Но этого не произошло. Кстати, я закончил бакалавриат в Санкт-Петербурге. МАМА. Бонч-Бруевича, факультет информационно-коммуникационных сетей и систем, но, к сожалению, не приобрел знаний, непосредственно применимых при разработке современных продуктов. Я Java-программист-самоучка, и мой технический опыт мне очень помог. Я изучил Java на практике, погрузился в документацию и посмотрел видео на YouTube.

Почему я ушел с предыдущей работы?

Я устроился на работу в эту компанию, когда учился в старшей школе. и у него не было большого опыта. Там в мои обязанности в основном входило сопровождение проекта интеграционного наследия. Компания была небольшой и этот проект был единственной разработкой на Java, поэтому время от времени я переписывал существующие решения с новыми технологиями (новые очереди сообщений и т.п.) и ловил возникающие ошибки.

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

Ищу новую работу

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

Интервью в EPAM и Luxoft. Рекрутеры шли далеко, рассказывая о крутых офисах, движении в компании, медстраховке и всяких «плюшках» в виде спортивных и конференционных выплат. Но в итоге они ничего не смогли мне предложить на работу, потому что у меня не было опыта работы со Spring.

На первых нескольких собеседованиях я «потренировался», потому что общение с HR было для меня новым. После каждого интервью я чувствовал себя более уверенно. Но основная проблема возникла на этапе тех. интервью, где меня засыпали каверзными теоретическими вопросами, на которые я не мог внятно ответить из-за слабой теоретической базы. Но даже после неудачных попыток я записал все вопросы и задания, которые не умел делать, и начал учить наизусть. после 100500 собеседований на позицию джуниора+, мидла результат был примерно одинаковый: готовы были взять только джуниора с маленькой зарплатой.

Новую работу

не собирался чтобы дать ему истек, поэтому я продолжал просматривать соцзащиту. Преимущество удаленной работы и возможности посещать не менее 5 собеседований в день. И удачи после второй сессии. интервью Они звонили mi сразу 2 компании: МТС и Digital Habits.

Казалось бы, выбор между МТС и неизвестной компанией прост, но оказалось, что все не так просто. На тот момент Digital Habits успела выиграть несколько тендеров Сбербанка на 400 млн рублей и начала стремительно расти. Я думаю, все понимают, что приход в ИТ-компанию в стадии активного роста = получение достойной зарплаты, ведь из-за отсутствия Java-разработчиков на рынке компания готова хорошо платить, когда у вас большие проекты, требующие большего количества сотрудников. Мое решение в пользу ЦП также было поддержано бесплатным обучением Java, которое еще больше помогло мне с проектом. с интервью и знаниями, которые я получил во время обучения. У вас будут ключевые навыки, которые помогли мне получить роль среднего разработчика. Я условно разделю их на hard skills и 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 часов в день, чтобы выполнить проект к установленному сроку.

Способность ставить намерения и цели.
Это всегда полезно для собственного роста и развития, особенно если вы собираетесь строить карьеру.

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

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

Ресурсы Подготовка к интервью

Сайты, на которых можно найти наиболее часто задаваемые вопросы об интервью:

Источник

Разница между «jun» , «средний» и «старший». И что делать, чтобы перейти на следующий уровень

Уровень разработчика не обязательно определяется многолетним опытом работы в данной сфере программирования: «джун» запросто может быть старше «сениора» — все зависит от профессиональных навыков.Это не значит, что старший разработчик должен быть экспертом во всем, но можно с уверенностью сказать, что его навыки гораздо более развиты чем у разработчиков-новичков и разработчиков среднего уровня.

Читайте также:  Как получить гидросульфат калия

Но разработчики разного уровня отличаются не только умением программировать. Так в чем именно разница?

Знания

Очевидно, Старший разработчик обладает гораздо более широкими знаниями. Для начинающего разработчика вы узнаете о шаблонах проектирования, архитектуре, автоматизации тестирования, производительности и методах безопасности и т. д. – это отличный способ восполнить этот пробел в знаниях.

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


Фото Клема Оноджегуо, страница Unsplash

Программирование

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

Код должен быть понятным для тех, кто его использует. они будут работать в будущем. Команда, работающая над проектом, должна иметь возможность открыть его для кого-то другого и начать работу над новыми функциями или исправлениями ошибок. И здесь кроется существенная разница между «jun» и «senior».

Я не буду включать в это сравнение разработчиков среднего звена, потому что с точки зрения навыков программирования они представляют собой некую переходную область, ближе к уровень старшего разработчика. «Средняя» позиция в основном определяется опытом, потому что «средняя» обычно успевает хотя бы раз пройти весь цикл разработки, а также наделать массу простых ошибок и извлечь из них уроки.

Как это сделать? для расчета «junu»

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

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

Молодые разработчики сосредотачиваются на «компьютерной» части кода и упускают из виду «человеческую» часть.

Как кодируют пожилые люди?

Глядя на код старшего разработчика, вы можете подумать: так ли это? где остальное Относительно опытный разработчик пишет простой, понятный и, возможно, местами слишком прямой код, а это одна из самых важных вещей в программировании. Характеристики. «Сеньор» следует принципу KISS, согласно которому код должен быть простым и понятным: «Будь проще, тупица»

Таким образом, у старшего разработчика совершенно другой подход к написанию кода: он вникает в учетная запись нуждается в большей поддержке и масштабируемости. Это сильно отличается от менталитета младшего разработчика: «сеньор» думает о тех, кто будет работать с кодом, а «младший» важен в первую очередь для того, чтобы код работал.

Не программируйте сами

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

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

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

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

Читайте также:  Как открыть свой центр тестирования по русскому языку

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

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

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

Перейти на следующий уровень

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

Середина июня

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

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

Вам также необходимо больше узнать о лучших практиках и узнать больше об архитектуре, производительности, безопасности и т. д. Сократите пробел в знаниях, отделяющий вас от уровня Intermediate.

От «Intermediate» до «Senior»

Разработчикам среднего уровня может быть довольно сложно подняться выше — некоторые остаются на этом уровне. на протяжении всей своей карьеры.

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

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

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

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

Заключение

Разница между «jun» , «средний» и «старший» это не просто многолетний опыт. Да, можно с уверенностью сказать, что у последних гораздо больше способностей, чем у разработчиков. младший и средний уровни. Но знания — не самый важный фактор.

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

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

Заключительная цитата Мартина Фаулера:

«Любой дурак может написать код, понятный компьютеру. Хорошо. программист пишет удобочитаемый код»

Статью перевел Alconost.

Alconost локализует игры, приложения и веб-сайты на 70 языков. Нативные переводчики, языковые тесты, облачная платформа с API, непрерывная локализация , менеджеры проектов 24/7, любой сетевой формат ресурса.

Также делаем рекламные и обучающие ролики: для продающих сайтов, имиджевые, рекламные, обучающие, трейлеры, пояснения, превью для Google Play и App Store.

Источник

Поделиться с друзьями
Решатор
Adblock
detector