Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 5
×

В чем заключается работа Junior Developer’а?

Усі статті, обговорення, новини для початківців — в одному місці. Підписуйтеся на телеграм-канал!

Изучаю программирование на Java.
Так уж случилось, что друзей у меня из АйТи индустрии нету, соответственно не с кем обсудить вопросы на уровне любопытства.
Был один раз в Киевском офисе GlobalLogic, оценил дизайн офиса и т.п..
Но вот что меня действительно интересует — это как происходит рабочий процесс самого разработчика в течении дня... Какие задачи даются? Как это всё выглядит? Просто не могу понять — когда меня возьмут на работу в ту или инную компанию на работу — чего от меня будут ожидать?

Искал видео на ютубе, но находил в основном ролики с юмором или пиаром той или инной компании.
Разрешает ли политика компаний, что-бы кто-то (если у кого-то появится желание) привел меня в офис показать сам процесс работы?
Или ответы на вопросы я смогу получить только устроившись на работу?
Или в процессе обучения они сами по себе отпадут и я вообще пишу не по адресу?
PS: Прошу не судить, если отнял чье-то время.

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Носить кофе. По пятницам еще и пиво.

На мой взгляд, при вступлении в большой разросшийся проект, первым делом нужно осмыслить и понять его архитектуру, где какой код что делает в общих чертах. Важно также прежде всего разобраться, кто и как на нём делает деньги. Исходя из всего этого будет понятен круг задач, и как их выполнять. Скорее всего тебе дадут какую-то рутину, которую никто не хочет разгребать. Если проект только стартует, то не понятно зачем ты там нужен.
Сам процесс может различаться, в зависимости от формы ведения бизнеса и тараканов в голове рулящих. Как правило, если команда маленькая, это какой-то стартап, отношения неформальные, многое будет зависить от тебя. Если контора большая, ты там скорее всего будешь на птичьих правах, нужно будет проникнуться тонкостями бюрократии в той или иной форме. Визуально работа должна выглядеть так, что ты сидишь за компом, и что-то печатаешь в редакторе. Ответ на вопрос «какого чёрта ты тут делаешь» у тебя всегда должен быть на готове. Выступай на митингах, если они там есть, только постарайся не пороть при этом чушь.

«Чем джун отличается от мидла — он стыдится признать самому себе что говнокодит.
Чем мидл отличается от синьёра — он стыдится признать это коллегам»
(не моё)

Можешь задать у у тех кто будет собеседовать. Скорей всего они расскажут как будет проходить твоя работа.

Как это всё выглядит?
Обычно есть проект (сайт, приложение). Есть команда ребят из программистов, тестировщиков ,менеджеров, бизнес аналитиков. Обычно их ±10 человек. Они все работают вместе над проектом или каким-то модулем проекта.
Какие задачи даются?
У проекта есть разные задачи (баги, улучшения, и тд). Есть опытный человек в команде(лид), который понимает приблизительно сложность задачи. И он назначает задания джуниору, стараясь выбирать задачи попроще. Джуниор начинает этой задачей заниматься. Если ему что-то непонятно, тогда он спрашивает более опытных товарищей. Когда задание сделано, дают следующее задание. Каждое утро обычно команда собирается и все члены команды рассказывают коротко чем занимаются, какой прогресс у их задач, какие трудности возникают.

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

Просто не могу понять — когда меня возьмут на работу в ту или иную компанию на работу — чего от меня будут ожидать?
Ожидать будут, что человек умеет обращаться с самыми основными инструментами и технологиями (их можно определить просмотрев кучу вакансий, какие слова чаще встречаются). Никто торопить не будет. Будет время на раскачку. Но очень желательно постараться по максимуму выложиться в первые полгода-год. В каком направлении нужно будет подучиваться, будет ясно уже по ходу.
Или ответы на вопросы я смогу получить только устроившись на работу?
Чем больше будет технических знаний — тем легче будет адаптироваться. Главное, протянуть год. Потом уже станешь прожженным опытом бойцом и будет намного легче.
В чем заключается работа Junior Developer’а?
www.youtube.com/...h?v=m-Z3GyAshaE

Ага, значит гнобить собираются... ;))

А как же, в таком деле без дедовщины никак ;)

Доставать всех предложениями по улучшению всего и вся. На 90% предложений получать ответ «на это нет времени, нам более важно как можно быстрее выпустить эту фичу в продакшн», но не сдаваться.
Алсо, задавать много вопросов и получать много ответов. Читать книги. Писать пет проекты( потому как никто не требует от джуна делать тонну работы за короткое время)
Ну это если по уму, а вообще багфикс :)

Уточните, пожалуйста, какое Вас направление интересует (мобайл, ентерпрайз) ?

Честно говоря, не определился. В данный момент изучаю язык, а во время отдыха — почитываю форум и присматриваю, какие бывают вакансии и профессии... С детства просто хотелось заниматься в ай-ти индустрии, но навязанные страхи окружающего социума сбили с толку и испугали настоять на своем. Ну а теперь, когда есть работа, на которой есть время и возможность учиться — учусь с желанием войти в IT сферу.

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

Благодарю. А обязанности мобайл и энтерпрайза сильно отличаются?

В ентерпрайз не работал, но друзей там хватает... Так что с моей точки зрения области достаточно отличаются.

Все зависит от размера компании, бывает что и швец и жнец и на дуде игрец

Вот несколько примеров задач для начинающего программиста из реальной жизни: www.fulcrumweb.com.ua/archives/7242
www.fulcrumweb.com.ua/archives/7281
Здесь, правда, речь идёт о С++ и C#, но, думаю, что всё равно может быть интересно — чтобы получить общее представление.

Джун — по-определению младший разработчик, который сидит на production-е и способен решать 80% задач, хоть и с костылями, это не практикант, который сидит и не знает что ему делать.
1) пришел на работу, посмотрел письма и JIRA, нет ли urgent-ов, блокеров и ASAP-ов, если нет, то двигаемся по плану
если есть — делаются urgent-ы по возможности, если есть production blocker-ы, обсудить с лидом
2) доделал баг ->
2.1 комитнул в нужную ветку
2.2 смувал в JIRA новую версию билда
3) доделал фичу ->
3.1 подтянул чужие change-и на этой ветки
3.2 прогнал свои тесты
3.3 прогнал локальный билд
3.4 отдал pull-request на код-ревью
3.4.1 успех (подлили в ветку) — смувал в JIRA в +1 версию билда и QA после деплоя его увидят.
3.4.2 не подлили (замечания) доделать/переделать -> 3.1
4) бывают еще разные митинги типа скрамов и прочего.
4.1 на скрамах обычно каждый докладывает свой статус
4.2 на planning выдаются и обсуждаются задачи на спринт
4.3 на grooming приводятся в порядок эти самые задачи
4.4 на retro обсуждается что было хорошо, а что плохо

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

Некоторые джуны 60% времени играют в теннис, некоторые шарятся по офису. Но на них ориентироваться не надо.
А гроші за що їм платять?

Платять, але це колись закінчується

На самом деле зависит от проекта и комманды.


production, JIRA, urgent-ов, блокеров , ASAP, комитнул в нужную ветку, подтянул чужие change-и на этой ветки, прогнал локальный билд, отдал pull-request на код-ревью
китайский язык :(
Если чел просто язык изучал — книгу читал (паскаль, джава — поф) то какое из этих слов он должен понимать что б эго взяли ? Я б на месте топик стартера испугался б.

Есть немного :). Прочитав пост я сделал вывод:
while («понимание

блокеров и ASAP-ов
urgent-ы по возможности, если есть production blocker-ы
» < 90%) {
read books;
read forums;}

не, это просто человек не умеет нормально объяснить или хочет повыделываться

Объяснять на доу? кому? зачем?

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

Взагалі — то здатність пояснити складні речі простими словами є ознакою високого володіння предметом.

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

Вы сможете объяснить преобразование Лапласа человеку, владеющему математикой на уровне 6-го класса? Вы ему будете пояснять интеграл простыми словами как «эс как доллар»? Ведь тема несложная для практикующего математика. В самом деле, ну что за предвзятое отношение к IT, хотите вливаться — извольте изучать.

Ой, не туда написал. Пост адресовался «Natalia Riabokon» :( Типа как можно интересоватся

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

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

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

Согласен, мне как еще даже не джуниор тестеру все понятия известны, кроме pull-request... НО спросил друга, опытного разработчика, что такое деплой (есть сомнения, думал разъяснит) и этот же самый пул-риквест — он не знает...

Так гуглится же все легко... Например, набрав «деплой», получаете в первой пятерке результатов:
Простой деплой сайта на хостинг из Git-репозитория
:)
Опять таки, прямой перевод как бы намекает...

Если все разъяснять формально, то:
production — конечный вариант проекта для пользователя, релиз-версия
JIRA — часто используемый, наиболее известный, пожалуй, багтрекер
urgent — ну тут по прямому переводу можно догадаться
блокер — критический баг, который тормозит прогресс или останавливает нормальную работу проекта
ASAP — As Soon As Possible, жаргонизм
комитнул в нужную ветку — внес изменения в нужную ветку системы контроля версий (git, SVN etc.)
подтянул чужие change-и на этой ветки — скопировал себе (взял update) чужие наработки из этой ветки
прогнал локальный билд — проверил изменения у себя перед внесением в систему контроля версий
отдал pull-request на код-ревью — зарегистрировал изменения в системе контроля версий для оценки качества работы (кода) ответственному лицу
Видите, как много текста ? А так — коротко и ясно, пусть и жаргонно :)

Т.е. Вы считаете, что имеет смысл бъяснять что такое JIRA, urgent, change и т.д ?
Если необходимо объяснять, что это такое, тоэто не уровень juniora, а уровень стажёра (trainee).

1) пришел на работу, посмотрел письма и JIRA, нет ли urgent-ов, блокеров и ASAP-ов, если нет, то двигаемся по плану
если есть — делаются urgent-ы по возможности, если есть production blocker-ы, обсудить с лидом
2) доделал баг ->
2.1 комитнул в нужную ветку
2.2 смувал в JIRA новую версию билда
3) доделал фичу ->
3.1 подтянул чужие change-и на этой ветки
3.2 прогнал свои тесты
3.3 прогнал локальный билд
3.4 отдал pull-request на код-ревью
3.4.1 успех (подлили в ветку) — смувал в JIRA в +1 версию билда и QA после деплоя его увидят.
3.4.2 не подлили (замечания) доделать/переделать -> 3.1
4) бывают еще разные митинги типа скрамов и прочего.
4.1 на скрамах обычно каждый докладывает свой статус
4.2 на planning выдаются и обсуждаются задачи на спринт
4.3 на grooming приводятся в порядок эти самые задачи
4.4 на retro обсуждается что было хорошо, а что плохо

Q_Q
незнаю як де, але я стикався тільки з таким:
1) відкрив скайп
2) в двох словах сказали, що потрібно зробити, внятне ТЗ — про що ви?!
3) багтрекер — переписка в скайпі
4) goto -> 1

ТЗ? Какое ТЗ? У нас ведь аджайл!

Без ТЗ — результат ХЗ ©

Виконавець: «То ви підготували ТЗ»
Замовник: «ТЗ?»
Виконавець: «Так, Технічне Завдання»
Замовник: «Тю, а ми думали, що ТЗ — це Точка Зору. І у нас їх уже є кілька...»

Даже при хорошо организованном скраме ТЗ необходимо, хех. Стартовая постановка задачи должна быть

доделал баг
так вот из-за кого баги на проекте)
младший разработчик, который сидит на production-е и способен решать 80% задач
У вас джуны сидят на продакшене?
Джун — по-определению младший разработчик, который сидит на production-е
В данном контексте production означает общую классификацию сотрудников по направлению работы, короче говоря — работа на коммерческих проектах. Естественно сидят на этих проектах, иначе зачем бы они были нужны?
если есть production blocker-ы
а вот это проблемы на боевом сервере у заказчика. Т.к. напрямую на боевой сервер никто не льет, а по flow через 2 команды QA + ревью от старших товарищей, то теоретически джун может и эти баги фиксить, но баги обычно ASAP, поэтому джуны занимаются чем-то другим.

Конечно сидят, где им еще быть?

Интересно понял ли ТС хоть половину слов в посте? :)

Опционально:
2.1.5 комитнул не в ту ветку.
3.3.5 запорол локальный билд.

Это у всех бывает )) Ничего страшного.

Чего будут ожидать? Что будешь делать работу как синиор, а зп получать — как джуниор.

Я тоже так раньше думал, пока не увидел senior-ов в деле.

Олег, расскажите детальнее, что именно Вы увидели. Очень интересно.

Коментар порушує правила спільноти і видалений модераторами.

можете и мне скопировать сообщение про делали работы синиоров ?)

И мне)

И мне напишите, пожалуйста)

что-то и мне стало интересно узнать о синьорах в деле)

Підписатись на коментарі