Рубрики
Без рубрики

Технология-Философия – День разработчика программного обеспечения

Вы когда-нибудь задумывались, чем занимается разработчик программного обеспечения в свой день? Вам интересно, в чем сидит ваш друг… С тегами java, карьера, развитие, мотивация.

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

Я занимаюсь этим в течение последних 20 лет и кодирую немного дольше. И постараюсь в общих чертах рассказать вам о моем распорядке дня.

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

Сейчас я являюсь разработчиком Java/Angular fullstack в одной из крупнейших страховых компаний в мире, базирующейся в Люксембурге/ЕС. И я в основном разработчик JAVA/SOA/BPM/FRONT-END, и извините за эгоизм, о котором я в основном говорю здесь о своей рутине! Это может быть по-другому, если вы, например, являетесь тестировщиком, менеджером или администратором БД.

8 часов в день с понедельника по пятницу, 40 часов в неделю. Это называется полный рабочий день, могут произойти некоторые незначительные изменения, могут произойти некоторые оскорбительные контракты, могут произойти некоторые дополнительные часы, которые никогда не оплачивались, но, к счастью, 40 часов в неделю были моим полным периодом. Иногда я работал над кучей проектов, управляя своим собственным временем, это совершенно другой случай. И иногда я работал полпериода (4 часа).

Работая над проектами и в крупных компаниях, я встречаюсь с другими людьми. Да, я общаюсь с людьми напрямую, а не через компьютер, несколько раз в день. И да, время пандемии это сильно меняет. Эти встречи требуют, чтобы я был в офисе в определенные часы. В основном с 09 утра до 17 часов дня я должен быть в офисе или “онлайн и доступен” при работе из дома (WFH).

Разработчик программного обеспечения не программирует полный рабочий день без остановки, делая лишь несколько пауз для удовлетворения основных человеческих потребностей и много пауз для кофе. НЕТ! Не менее 30 % производительного времени (за компьютером, за работой) приходится на управленческие задачи. И я бы сказал, что чем старше я становлюсь, тем меньше времени я трачу на “ввод кода”. Во-первых, потому что я мог бы решить проблемы более хирургическим способом и более продуктивно создавать шаблонный код. Но также и потому, что у меня могут накопиться некоторые другие задачи, которыми я поделюсь с вами ниже.

Просыпаюсь 3 минуты назад, сейчас нахожусь в своем блокноте с чашкой кофе или приезжаю в офис после двух часов езды на автобусе. В некоторых офисах, в которых я работал, был свой собственный ритуал при прибытии, например, поздороваться с каждым (или с каждым из вашей команды) или даже позавтракать.

Я начинаю свой день с обновления информации о компании и проекте.

В основном это делается сначала в вашем почтовом ящике, а затем в инструменте управления задачами (например, JIRA). В первом вы заметите, например, некоторые возможные изменения в контракте, или будет ли в тот день какая-то огневая подготовка, или все действительно взорвалось (например, предупреждения о пандемии в 2019 и начале 2020 годов). Затем, разогреваясь до кода, вы проверяете свои задачи в тот день, что происходит в основном в вашем инструменте диспетчера задач, JIRA, он наиболее часто используется сегодня.

В конце предыдущего дня я составил список дел на завтра. Это значительно облегчает мне планирование по утрам. Так что теперь я просто просматриваю свою JIRA, чтобы проверить, не изменилось ли что-нибудь. Поэтому после этого я мог бы сказать, что я “работаю над конкретным билетом”, что означает конкретное требование, которое было открыто в моем инструменте управления задачами, в случае JIRA, это билет.

Также работа над билетом – это не только код. Мне всегда приходится выполнять какую-то экологическую работу. На самом деле, в большинстве компаний в первые дни я в основном устанавливал и тестировал локальную среду, в которой буду работать. В большинстве случаев это будет состоять, ПО крайней мере, из ИДЕИ. Но у меня также может быть база данных (клиент и/или сама СУБД), серверы приложений, контейнеры, VPN и многие другие утилиты, которые могут действительно усложнить мою жизнь. совет: Всегда разумно отслеживать, тратите ли вы более 20 % своего рабочего времени на беспокойство об окружающей среде, которая может повлиять на вашу производительность.

Когда все готово, мы берем чашку кофе и кодируем. Вот где происходит волшебство!

Когда мы копируем непонятный код из переполнения стека, и все волшебным образом работает. НЕЕЕТ! Я просто шучу здесь. Хотя некоторые действительно могли бы это сделать.

Большую часть времени я действительно хорошо провожу время, анализируя код. Рассматривая ИДЕЮ, просматривающую бесчисленные файлы, чтобы найти, где действительно может быть размещена проблема или разработка, которую необходимо выполнить.

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

Когда отладка указывает мне, что делать, я, возможно, еще не знаю ответа на то, что делать. И именно в этом такие сообщества, как stack-overflow, так сильно помогают всем программистам! совет: Но вы всегда должны понимать код, который пытаетесь скопировать и вставить, и адаптировать его к стандартам проекта, над которым вы работаете. Или на вас рассердится старший разработчик.

Тогда я немного кодирую! Честно говоря, у меня сложилось впечатление, что чем старше я, тем меньше кода вы пишете. У меня было так много задач, что потребовалось 2 дня, чтобы найти пару строк кода, которые решили проблему. Также бывает, что код может не сработать с первой попытки. Поэтому я несколько раз пройду цикл анализа, отладки, исследования и кодирования. Пока, вуаля: “Моя ошибка решена”. или “Создан новый экран”, или “Я сделал все, что сказал мне мой менеджер, и я получу повышение, или меня не уволят”.

Позволь мне собрать свои вещи и пойти домой. НЕЕЕТ!!! Сначала у меня полный месячный, иногда это бывает болезненно. Во-вторых, работа по этому требованию не завершена.

Тем не менее, по поводу этого билета я перехожу к мероприятиям по доставке/выпуску. Это тоже может занять некоторое время. А если больше 20 %, тоже нехорошо.

На этом этапе вы должны, по КРАЙНЕЙ МЕРЕ, зафиксировать свой код в каком-либо инструменте управления исходным кодом, который в настоящее время в основном используется на основе GIT или SVN. Но для выпуска вашего кода могут потребоваться более сложные задачи, связанные с GIT (или SVN), такие как ветвление, объединение, создание запросов на извлечение. И это может действительно сойти с ума, отнимая у меня много времени. И в некоторых местах может произойти некоторый пересмотр кода, когда некоторым моим коллегам, возможно, придется пересмотреть и одобрить мой код. Тогда у меня могут быть задачи, связанные с процессом доставки (в настоящее время называемым DevOps), которые могут быть связаны с созданием или выполнением конвейеров развертывания или даже тестированием кода после развертывания.

Затем техническая часть выполнена, мой код “прикреплен” к системе. Но я все равно должен сообщить своему менеджеру, что это сделано. В основном это делается в scrum, и сегодня я использую JIRA. Поэтому я иду туда, оставляю некоторые комментарии о том, что было разработано, и меняю статус своего билета на “сделано”, “проверено”, “доставлено”, “одобрено” или что-то еще, что требует процесс разработки.

Некоторые другие “неофициальные задачи” могут выполняться в течение дня. И я стараюсь всегда присматривать за ними, чтобы они участвовали. Эти задачи напрямую не связаны с задачами, которые я поставил перед собой в JIRA, но в них есть 2 важных момента. Они помогают компании в том, ради чего я работаю, поэтому дают мне некоторую видимость. Они помогают другим людям работать лучше, всегда хорошо помогать другим, а обмен знаниями – отличная возможность для обучения.

Такие задачи, как:

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

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

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

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

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

Если вы не знаете некоторые технические термины или инструменты, упомянутые здесь, вы можете перейти по ссылкам ниже: JIRA GIT SVN хватка

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

В конце дня я выполняю некоторые заключительные задания:

  • Список ДЕЛ на завтра;
  • Просматривайте еженедельные или даже ежемесячные целевые показатели;
  • Я мог бы написать дневник дня или что-то в этом роде, если я чувствую, что работаю над множеством разных проектов. Это было полезно много раз в моем прошлом опыте.
  • Возьмите последний кофе:)

Затем, после 8 часов всего этого, я наконец-то могу отдохнуть. Я отдыхаю один час, потому что теперь у меня есть работа на полпути (4 часа) ночью, но не делайте этого, ребята! Это слишком много.

Оригинал: “https://dev.to/joaofelipefaria/tech-philosophy-the-day-of-a-software-developer-2hhf”