Иногда самые трудные уроки являются важнейшими для изучения

1656628215 inogda samye trudnye uroki yavlyayutsya vazhnejshimi dlya izucheniya

автор Кори Славен

7zct-1oY7WPBU9SejQKaJcybJYaOqvbSuzuo

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

Это никогда не прекращается.

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

Как выучить новую кодовую базу

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

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

Я был готов покорить мир.

не найдено

Я быстро понял, что это не так.

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

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

«Остановите смотреть на экран! Просто сломай код!»

Об этом было страшно рассказывать. Что делать, если я сломал что-нибудь важное или что-то нельзя исправить?

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

Мне просто нужно было начать ломать код.

Wa4gdYdHBg2eSbrlQOKi-ItHIfm17OHAxb0o
Что может пойти не так ли?

Я начал комментировать детали, догадываясь, что сработает, а что нет.

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

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

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

Как общаться

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

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

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

Было много технического жаргона, которого я просто не знал.

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

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

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

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

cA8Sh30LwlU42izphjFb7nemN9VlWktKNOx4
Не будь этим парнем

Я всегда стараюсь дать понять другим, когда что-то не понимаю, независимо от того, насколько проста для них концепция.

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

Вот три вещи, которые я считаю решающими при общении с другими:

Слушание

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

Пожалуйста, слушайте.

Терпение

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

Эмпатия

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

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

Относитесь к другим так, как вы хотите, чтобы относились к вам. Я считаю это законом.

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

Хотя я овладел многими аспектами общения, был еще один ключевой аспект, который я не овладел…

Как попросить помощи

Это был один из самых трудных уроков для меня.

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

Мне помешало сочетание того, что я пытался доказать себя (глупо, я знаю), и мое незнание как попросить помощи.

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

Я подошел к другому разработчику в несколько панике. В основном я просто размахивал руками и кричал «БГ, БУГ, БУГ!»

gmnMBSTT6NeRzlM1ECXD1LYtP2DMT67D6GP5
Das Me

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

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

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

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

Я узнал, что есть формула, как попросить о помощи.

Вместо того чтобы махать руками и кричать о наличии ошибки, я узнал эту простую формулу:

«Я сделал это, и что-то произошло, но я хотел, чтобы это произошло вместо этого. Мне было тяжело понять, почему это происходит. Когда у вас будет минутка, вы можете помочь мне найти корень проблемы?

Это всегда побуждает к хорошим разговорам и в общем-то приведет к решению проблемы.

fVfmmqtIJ0DucjGabO-52iKgX5F3B0ObX4s9
Делать всех счастливыми

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

Честно говоря, я не знал, как попросить о помощи.

Если вы такой, как я, и вам не нравится просить помощи (или вы не знаете как), пожалуйста, попросите помощи. Вспомните формулу.

Остальные захотят помочь вам, если вы спросите так, как я предложил.

Документация

Это то, чему я научился с необходимостью.

Сколько бы ты ни говорил мне, как что-то делать, некоторые вещи я никогда не вспомню.

Есть языковые капризы и методы программирования, которые я всегда имею в Google.

Чем больше проектов я работал, тем больше понимал, что просто не могу вспомнить все. Это побуждало меня начать документировать.

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

Практически любая форма документации лучше, чем отсутствие документации.

Понятно, что я очень решителен на эту тему.

Нет ничего хуже отсутствия документов. Начать работу над проектом без документации – это кошмар. Это все тормозит.

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

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

Это может быть изнурительным и трудоемким, но это облегчит жизнь каждому. Вот и вся сущность!

0zLxi2Su4-DkKPPTV0ahdKeiS8eIoI0TZbbi

Итак, у вас есть!

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

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

не найдено

Немного обо мне: я сам мотивированный инженер-программист из Флориды. Я использовал такие ресурсы как freeCodeCamp, чтобы начать свою карьеру в индустрии технологий. Вот мой веб-сайт: http://coreyslaven.com/

Вы можете следить за мной в Twitter здесь.

Спасибо, что читаете!

Счастливого кодирования!

Добавить комментарий

Ваш адрес email не будет опубликован.