- Как перейти с позиции юниора на позицию мидл: личный опыт
- Почему я ушел с предыдущей работы?
- Ищу новую работу
- Новую работу
- Hard skills
- Soft skills
- Ресурсы Подготовка к интервью
- Разница между «jun» , «средний» и «старший». И что делать, чтобы перейти на следующий уровень
- Знания
- Программирование
- Как это сделать? для расчета «junu»
- Как кодируют пожилые люди?
- Не программируйте сами
- Перейти на следующий уровень
- Середина июня
- От «Intermediate» до «Senior»
- Заключение
Как перейти с позиции юниора на позицию мидл: личный опыт
Сегодня я расскажу о своем опыте перехода с позиции джуниора на позицию мидл: «переход с позиции юниора на позицию среднее положение», а также поделюсь чек-листом, чтобы помочь коллегам, оказавшимся в такой же ситуации. .
Я два года работал в офисе джуниором, но большого роста не было. Я надеялся скоро закончить магистерскую программу и получить повышение до минора. Но этого не произошло. Кстати, я закончил бакалавриат в Санкт-Петербурге. МАМА. Бонч-Бруевича, факультет информационно-коммуникационных сетей и систем, но, к сожалению, не приобрел знаний, непосредственно применимых при разработке современных продуктов. Я 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.
Источник