Всем привет! Хочу поделиться с вами подробностями работы middle java программиста, рассказать, чем junior отличается от middle что должен знать и какие задачи перед вами будет ставить начальство.
О себе: я работаю программистом больше двух лет, сменил три компании, множество проектов и технологий.
Я постоянно изучаю программирование, и продолжаю изучать также как на javarush.
Уровень задач становился все сложнее и сложнее, но обо всем по порядку...
Выходя на первую работу многие переживают, смогут ли разобраться, справиться. Скажу коротко - переживать не стоит. Работодатель понимает кого он берет и многово не ожидает.
Вам будут давать задачи с которыми можете справиться. Отношение к джунам всегда снисходительное.
Проект скорее всего уже написан. Конечно, после учебных проектов, коммерческий кажется нереально сложным.
Но никто не будет требовать написать такой же. От вас требуется разобраться в чужом коде и сделать по аналогии. Иногда добавить небольшую фичу. Исправить баг.
Причем все задачи будут объяснять как делать. По буквам диктовать конечно не станут, но по шагам скажут как ее решать. В непонятной ситуации подскажут.
Короче, ничего сверх сложного, да и ответственности мало. Каждую строчку будут проверять, следить чтобы ничего не сломали.
В основном вы будете разбираться с java кодом, а работать с другими технологиями редко. Да и всегда можно сказать, я это не знаю. Это нормально.
Вообще джунов неохотно берут на работу по двум причинам. Первая - непонятно чего от него ожидать, какой его уровень, сможет ли он что-то сделать. И глядя на темы форума начинаешь понимать, что такие опасения не напрасны. Один раз я слышал про человека, который на собесседовании не мог 'Hello world' написать.
Вторая причина в том, что работы для джунов не так много. Вы не можете дать джуну сделать новый сервис, интеграцию, оптимизацию, не типовую задачу, автоматизацию процесса сборки и т.п.
Джун без опыта и с опытом - совершенно разный уровень и работодатель это понимает. Задачи в реальных проектах очень сильно прокачивают, ведь они координально отличаются от учебных. Постепенно код становится понятным, фремворки знакомыми. И вот вы уже программист.
Здесь у многих складывается впечатление что программирование не такое уж и сложное занятие. Но все меняется когда вы становитесь мидлом.
Прежде всего от мидла ждут самостоятельности. Впринципе других программистов в команде может и не быть. Подсказать как работает код бывает некому.
Предполагается что миддл способен выполнить любую задачу.
Можно выделить следущие категории:
Интеграция. Системы взаимодействуют между собой по различным протоколам: http, mq, soap, а также через файловую систему и базу. Нужно сделать подключение и наладить обмен сообщениями определенного формата.
Требует знание протоколов и соответствующих фремворков. А фремворков существует много.
Исправление бага. Требует понимание работы вашей системы, а также внутреннего устройства фремворков, которые вы используете.
Фича. Может быть что угодно, но java разработчики чаще всего имеют дело с данными: взять откуда-то объекты, поменять значения, положить в другое место.
Поменять поля у объекта и т.п.
Развертывание проекта на серверах. Вообще для администрирования приложений как своих так и сторонних есть специальный человек - DevOps.
Но он есть далеко не во всех командах. Угадайте, кто это будет делать? Да, джавы станет меньше. Нужно подучить системы автоматизации. Для управления конфигурацией серверов используются такие программы как Puppet и Ansible. Но сейчас тенденция идет в сторону виртуальных серверов, где используют Kubernetes, OpenShift, AWS.
Также есть различные системы логгирования и мониторинга, которые тоже нужно настраивать.
Создание микросервиса. Все выше описанное собрать вместе. И для этого есть свои фремвоки.
Доработка кода на другом языке. Да-да. Рано или поздно вы с этим сталкнетесь. Различные части системы написаны на разных языках. Вам нужно будет сначала разобраться с синтаксисом и фремворком, а потом делать само задание. Фронт пишут на javascript или typescript, автоматическое развертывание на серверах - скриптами groovy, а сами сервера на linux и там bash скрипты.
Нетипичные задачи. Самое сложное что может быть. Бывают не часто, но если попадется - то держитесь. Из команды никто подобной задачи раньше не делал, спросить помощи не у кого.
Приходится разбираться с редкими технологиями.
Во вторых от мидла требуется знание технологий, необходимых для решения задач описаных выше. И тут на вас сваливается весь зоопарк фреймворков, библиотек, программ.
Слова 'не знаю' уже нет. Можно сказать, 'я это не делал, буду изучать'. В отличии от джуна, нужно не только знать много технологий, но и понимать тонкости работы. А также иметь представление о создании сервисов с нуля до выхода в прод. Вам предстоит практически постоянно читать документацию.
В третьих от мидла требуется писать качественный код. По стилю и чистоте уже можно говорить об уровне разработчика. Код должен быть логически разбит на классы, между которыми понятно взаимодействие, они сгруппированы в пакеты, а в самих классах методы легко читаются. Об этом можно долго рассказывать.
Короче, относитесь ответственно к каждой строчке.
В четвертых ответственность. Никто особо ваш код проверять не будет, вернее разбираться как он работает. Все ваши косяки будут вылезать на тесте или в проде.
Нужно проявлять инициативу в решении задач. Где-то придется погрузиться в бизнес процесс, переписываться с другими людьми, проводить встречи.
От вас ждут результат, независимо от трудностей.
Итак, как идет процесс. Главный человек в команде - владелец продукта - ставит бизнес задание, которое принесет прибыль продутку. Системный аналитик прорабатывает задачу: продумывает процесс в системе, составляет требования, пишет документацию.
Далее задание отдается техлиду, а он дает вам. Никто не будет говорить как его решать, у вас есть только требование как должно работать. Почти всегда нужно подучить новую библиотеку.
Накидаю примеров заданий:
- Сделать авторизацию с помощью jwt токена.
- Принять запрос по http, сохранить в базу, сделать из него xml определенного формата и отправить в mq.
- Переделать запросы к базе под новое поле в объекте.
- На фронте сделать кнопку которая из бэка получает данные. Отобразить новое поле объекта.
- Отправлять логи в определенном формате в другую систему через kafka.
- Написать тесты для всего выше описанного.
- Развернуть ваше приложение в OpenShift
Скажу что сложность скрывается в мелочах. Вроде все должно работать, но не работает. И вот сидишь и буквально по строчке проверяешь правильность создаешь прототип кода, сравниваешь. И все из-за того что код, который ты используешь делает не то что ты ожидаешь.
Вот и все что я хотел написать. Надеюсь, после прочитанного у вас появилось представление о работе java программиста. Стать разработчиком вполне реально, но нужно потратить достаточно времени и сил на изучение. Задавайте вопросы.
Что на работе делает Middle Java Разработчик
Комментарии (36)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Зигмунд Фрейд
15 апреля, 09:20
В 45 лет стоит в это все суваться или уже поздновато?
0
Сергей Java Developer в Сбер Expert
15 мая, 15:49
могут быть проблемы с поиском работы, но научиться программировать можно в любом возрасте.
0
Марат Абдрахманов
9 марта 2021, 04:20
Всем привет. Почитал статью, почитал комменты. Возник вопрос - хотя бы некоторые из перечисленных технологий и протоколов затрагиваются на Джавараш? Или столкнёшься с ними только устроившись на работу? А то реально чёт страшно стало :)))
+4
VioletJam Java Backend Developer в Геонавигация
27 апреля 2021, 18:39
На ДжаваРаш изучается только Java, всё остальное самостоятельно :)
+2
alex_us
1 января 2021, 18:59
красава, продолжай. Очень увлекательно
+1
Ренат Сибаев
9 декабря 2020, 13:54
Может нужна кому работа на jave (se) middle+? Программер срочно нужен, высылайте резюме на почту, кому интересно. Туда же вопросы, если будут. Можете товарищам каким рассказать)
renat.sibaev@mail.ru
0
wan-derer.ru
1 января 2021, 20:06
Мидлов здесь нет :)
Есть джуностажёры, зато много! :)
+2
Стас Пасинков Software Developer в Zipy Master
1 января 2021, 20:32
мне кажется на форуме как-раз бОльшую активность ведут те люди, которые уже давно как работают ;) сам автор первоначального поста пишет, что имеет опыт 2+ года, так что можно предположить, что он носит лычку мидла)
другой вопрос, что человек решил дать свое "объявление" совершенно не в том месте. да и честно говоря, такими объявлениями разве что джунов без опыта искать. если же человека с опытом пытаться ставить в позу "тебе надо - ты мне и пиши" - то скорее всего, человек на такое скажет что ему такое не надо, и никто Ренату писать не станет)
+7
llllllllll
5 ноября 2020, 17:54
В целом даже стандартный флоу мидла, который пришёл на проект не просто посидеть, а расти.
Нехватает правда таких заданий как, сделать что-то без указания контретного тула или технологии.
Общения с заказчиком, демо, менторинг, доклад. - хотя это уже сигналы приближения к Sr.
+1
OutStaff
19 октября 2020, 05:25
Сергей, у меня к вам вопрос.
Вы где учились так сказать плавать первый раз? на Джавараш или уже пришли с опытом?
Сколько взяло обучение по времени примерно? только чисто изучения азов Java и сколько время взяло дойти до фулстака.
Спасибо. если что не так выразил извини.
0
Сергей Java Developer в Сбер Expert
19 октября 2020, 08:10
Привет!
Начал с нуля на javarush. От начала до работы примерно год. Но это вместе с инструментами разработки и фреймворками.
Я себя фуллстеком не считаю. Просто прилетают задачи не связанные с java, но они будут почти с самого начала работы. Cо временем их становится больше.
Если под фулстеком имеется ввиду знание фремворков java то тут такое дело. Основные вещи можно узнать за первый год работы, но потом все время занимаешься углублением знаний и улучшением навыков.
Т.е. нет четкой грани того что ты стал мидлом например.
+8
OutStaff
21 октября 2020, 14:46
Спасибо за ответ, и за статью очень полезно было, правда немного в шоке был от того сколько еще всего впереди.
+1
Сергей
15 сентября 2020, 22:46
Спасибо, полезный обзор
0
Regina Kazan Start-up Founder / AT QA в jivys.com
15 сентября 2020, 21:11
Правильно всё говорите. Работаю уже 6 лет джава авто-тестером, решила пойти в разработчики, потому что стало скучно. Удачи Вам в работе!) ^_^
+4
Stepan A.
5 сентября 2020, 20:49
Хотелось бы знать конкретно о каких организациях идет речь ? Названия ?? 🤑
0
Сергей Java Developer в Сбер Expert
5 сентября 2020, 20:55
Малоизвестная компания, Raiffeisen bank, Сбербанк
+3
Артур Android Developer
29 сентября 2020, 05:13
>> Сбербанк
О, привет коллега! 🤗
0
Di Ma Java Developer в Сбер
13 февраля 2021, 17:06
Синапс наше все )))
0
Сергей
5 сентября 2020, 19:14
Ну вы людей-то не пугайте )) А то у вас не мидл, а какой-то сверхчеловек. И швец, и жнец и на дуде игрец. Что же тогда делает синьер или (прости господи) целый архитектор ? Написать микросервис в одиночку ? Еще и девопсом быть ? И на фронте ковыряться ? Ну ТЗ и спеки не заставляют хоть писать ? Я бы подумал о смене работы )))
+2
Сергей Java Developer в Сбер Expert
5 сентября 2020, 20:34
Я знаю джунов которые все это делают
+10
Сергеев ВикторMaster
5 сентября 2020, 21:30
ну например так:
джун может сделать небольшую задачку по описанию
мидл может сделать большую задачу с интеграцией или небольшой проект
сеньор может сделать большоую задачу или проект, оптимальнее и с большей продуманностью чем мидл.
Вообще эти границы очень очень размыты, четкой градации нет.
В моем понимании любой из уровней должен справится со всем. Градация идет только на опыт, а опытный человек сделает быстрее и качественее, чем менее опытный.
+7
Vladimir I learn Spring etc в springframework.guru Master
5 сентября 2020, 22:37
Сергей, так и будет. Ты будешь и швец и жнец и дудец. Тебе необходимо разбираться буквально во всем.(что не знаешь подтягивать походу дела).
Подключаться к серваку по ssh и там что-то делать: устанавливать, удалять, обновлять. Уметь с Docker образами работать. А также уметь работать, как на фронте, так и на бэке. Сейчас такого чувака или чувиху хотят видеть в компаниях. Аля fullstack или software craftsman.
Так, что думай о смене работы уже сейчас. 🙂😉
+2
Justinian Judge в Mega City One Master
6 сентября 2020, 10:16
+100
большинство из указанного делал, будучи джуном 😄
п.с. хороший информативный пост, видно сразу есть чем делиться, пиши еще, уверен много тем можешь осветить, другим будет очень интересно читать
+11
fedor
6 октября 2021, 07:29
Подтверждаю слова ТС (сам работаю 2+года).
0