Как стать архитектором программного обеспечения

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

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

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

Есть кое-что, что мы можем практиковать:

  1. Отработать навыки работы с документацией
  • Посмотрите документы самого популярного программного обеспечения с открытым исходным кодом, такого как Spring, Hibernate, Struts и т. д., чтобы знать, как они пишут свое руководство по началу работы, свои справочные документы и готовят свое руководство.
  • Документация — это очень важный навык, который вы можете указать в своем резюме, если хотите, чтобы вам больше платили.
  • Документация по требованиям иерархична. Верхний слой — это отраслевые документы, законы и положения, негласные правила и отраслевые стандарты. Затем второй уровень — это бизнес-требования и проектирование бизнеса для удовлетворения различных положений корпорации. Третий уровень — это требования пользователя, проектирование взаимодействия человека с компьютером в соответствии с бизнес-требованиями. Нижний уровень — системные требования, проектирование межсистемных взаимодействий для удовлетворения требований пользователя. От верхнего до нижнего уровня верхний уровень определяет нижний уровень, а нижний уровень должен соответствовать всем требованиям верхнего уровня. Верхний слой является основой для оформления нижнего слоя. Нижний слой используется для реализации функции верхнего слоя. Поэтому изменения в верхнем слое не часты, а изменения в нижнем более частые и резкие.
  • Требования пользователя описываются списками функций и вариантами использования. На третьем уровне всей системы резко меняются требования пользователей. Например, ключ пользователя в имени пользователя и пароле, система проверяет правильность имени пользователя и пароля и отображает определенные интерфейсы для принятия или отклонения пользовательского ввода.
  • Кроме того, вы можете подумать о том, соответствует ли код бизнес-целям. Это потому, что только хороший код, отвечающий бизнес-целям, может работать вечно.








2. Читать классические книги

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






























3. Узнайте, как использовать алгоритм

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


4. Прочитайте открытый исходный код

  • Сначала вы можете начать изучать архитектуру Google Chromium.

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

Другой открытый исходный код Google

  • Проекты, которые включают Android, Kubernetes, Angular, Chromium OS, Dart, Firebase SDK, Gerrit, Go и т. д.




5. Хорошие социальные навыки

  • Способность выражать свои идеи определяет сферу влияния ваших продуктов.

6. Хорошая способность к абстракции

  • Хороший архитектор программного обеспечения может элегантно абстрагироваться от проблем. Хорошая система характеризуется двумя аспектами: простотой использования и хорошим пользовательским интерфейсом.






7. Овладейте основными принципами системы

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
















































Ссылки









Если вы нашли какие-либо из моих статей полезными или полезными, рассмотрите возможность бросить мне кофе, чтобы помочь поддержать мою работу или оказать мне покровительство😊, используя

Патреон

Ko-fi.com

купитькофе

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