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

Эта статья поможет вам понять, почему сосредоточение внимания только на технических знаниях не должно быть вашим первым или единственным шагом на пути к достижению позиции Staff+, делая это так, как мы — программное обеспечение. разработчики — любят: использовать алгоритмы.

Прежде чем мы начнем, давайте вернемся к началу вашей карьеры.

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

Как проходил процесс обучения? Вероятно, при первом знакомстве с этим языком вы изо всех сил пытались понять все концепции, лежащие в его основе, и я готов поспорить, что вы, вероятно, начали с создания приложения Hello World, калькулятора или списка дел, не так ли?

Теперь подумайте, как лучше всего изобразить эту ситуацию. Что ж, как предлагалось ранее, давайте воспользуемся представлением алгоритма! Нет ничего лучше, чем использовать для этого обозначение Big O, так как бы это было?

Вначале был только любопытство, с которым вы, вероятно, не могли решить ни одной проблемы, затем вы начали изучать язык программирования, и нет ничего лучше, чем выполнить программу «Hello World» (Вы помните ваш первый «Hello World»? Поделитесь в комментариях, как это было.). На этом этапе алгоритм перешёл от нотации O(1) к нотации O(n), так как теперь вы можете решить проблему — отправлять сообщения, используя язык программирования «Hello World».

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

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

При достижении должности старшего разработчика

Вероятно, вы потратите несколько лет на то, чтобы стать старшим разработчиком; некоторым людям для этого требуется 5, 8, 10 или 15 лет, и после достижения этого у вас могут возникнуть новые вопросы, и, глядя на возможности, если вы хотите продолжать расти в техническом направлении, вы столкнетесь с путем Персонал + Инженер , что является обратной стороной медали по сравнению с путем Менеджера. Поскольку Staff+ можно рассматривать как один из возможных следующих шагов для старшего разработчика, у многих людей на этом этапе часто возникает вопрос: «Насколько их навыки кодирования следует улучшить?»

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

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

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

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

Применение той же концепции алгоритма к другим навыкам

Фактически, тот же алгоритм можно применить к любому другому навыку, необходимому для вашей карьеры: архитектуре, лидерству, сотрудничеству, общению, наставничеству… Переход от любопытства или неизвестного навыка к «O(n²)», и вот как это происходит. на основе «Пути персонала +», руководства, которому нужно следовать, чтобы лучше понять навыки, необходимые для этой должности, и «забавный факт» заключается в том, что многие из этих навыков будут пересекаться с другими путями, выходящими за рамки старших, например, менеджерами или предпринимателем.

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

Для карьеры Staff+ кодирование важно, но помните, что не каждый день команда/компания сталкивается со сложными проблемами, для решения которых требуется много знаний в области программирования, и которые мог бы решить менее опытный разработчик.

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