Как стать архитектором программного обеспечения
Архитекторы программного обеспечения должны иметь как минимум степень бакалавра в области компьютерных наук, информационных систем, разработки программного обеспечения или другой смежной области.
Кодирование и программная архитектура — это два совершенно разных понятия. Архитекторы программного обеспечения сосредотачиваются на создании программного обеспечения, сосредотачиваясь на аспектах дизайна и удобства использования компьютерных приложений. Кроме того, они должны убедиться, что создаваемое программное обеспечение соответствует техническим стандартам, знать метод развертывания программного обеспечения на нескольких устройствах, интегрировать новое программное обеспечение с существующими системами и контролировать разработку технологических аспектов приложений.
Нелегко стать архитектором программного обеспечения. Вы должны иметь базовые знания о компьютерных системах, о том, как программировать, и о бизнес-доменах.
Есть кое-что, что мы можем практиковать:
- Отработать навыки работы с документацией
- Посмотрите документы самого популярного программного обеспечения с открытым исходным кодом, такого как Spring, Hibernate, Struts и т. д., чтобы знать, как они пишут свое руководство по началу работы, свои справочные документы и готовят свое руководство.
- Документация — это очень важный навык, который вы можете указать в своем резюме, если хотите, чтобы вам больше платили.
- Документация по требованиям иерархична. Верхний слой — это отраслевые документы, законы и положения, негласные правила и отраслевые стандарты. Затем второй уровень — это бизнес-требования и проектирование бизнеса для удовлетворения различных положений корпорации. Третий уровень — это требования пользователя, проектирование взаимодействия человека с компьютером в соответствии с бизнес-требованиями. Нижний уровень — системные требования, проектирование межсистемных взаимодействий для удовлетворения требований пользователя. От верхнего до нижнего уровня верхний уровень определяет нижний уровень, а нижний уровень должен соответствовать всем требованиям верхнего уровня. Верхний слой является основой для оформления нижнего слоя. Нижний слой используется для реализации функции верхнего слоя. Поэтому изменения в верхнем слое не часты, а изменения в нижнем более частые и резкие.
- Требования пользователя описываются списками функций и вариантами использования. На третьем уровне всей системы резко меняются требования пользователей. Например, ключ пользователя в имени пользователя и пароле, система проверяет правильность имени пользователя и пароля и отображает определенные интерфейсы для принятия или отклонения пользовательского ввода.
- Кроме того, вы можете подумать о том, соответствует ли код бизнес-целям. Это потому, что только хороший код, отвечающий бизнес-целям, может работать вечно.
2. Читать классические книги
- Чтение хорошей книги эквивалентно общению с хорошим лидером. Это не только позволяет быстро улучшить свои знания и умения, но и делает более уверенным решение технических задач.
3. Узнайте, как использовать алгоритм
- Он мало используется в развитии бизнеса. Но он часто используется для настройки производительности или технических прорывов.
- Классическими алгоритмами являются рекурсия, сортировка, поиск и динамическое программирование, которые отличаются от алгоритма машинного обучения.
- Для решения технических задач необходимо знать множество алгоритмов. Именно поэтому крупные ИТ-компании оценивают знания кандидата по алгоритмам.
4. Прочитайте открытый исходный код
- Сначала вы можете начать изучать архитектуру Google Chromium.
- Попрактикуйтесь в чтении исходного кода. Скомпилируйте его, запустите и измените, чтобы посмотреть, что произойдет. Этот процесс может углубить ваше понимание приложения.
Другой открытый исходный код Google
- Проекты, которые включают Android, Kubernetes, Angular, Chromium OS, Dart, Firebase SDK, Gerrit, Go и т. д.
5. Хорошие социальные навыки
- Способность выражать свои идеи определяет сферу влияния ваших продуктов.
6. Хорошая способность к абстракции
- Хороший архитектор программного обеспечения может элегантно абстрагироваться от проблем. Хорошая система характеризуется двумя аспектами: простотой использования и хорошим пользовательским интерфейсом.
7. Овладейте основными принципами системы
- При работе со сложными задачами или при устранении сложных системных ошибок очень важно иметь глубокое знание лежащих в их основе систем.
- Например, структуры данных, сетевые протоколы, операционные системы, сети и т. д. Многие проблемы возникают из-за непонимания того, как работают компьютеры и сети.
- Понимая основные принципы, мы можем видеть сквозь технологии, лежащие в основе продуктов, и не быть обремененными бесконечными новыми продуктами.
Ссылки
Если вы нашли какие-либо из моих статей полезными или полезными, рассмотрите возможность бросить мне кофе, чтобы помочь поддержать мою работу или оказать мне покровительство😊, используя
И последнее, но не менее важное: если вы еще не являетесь участником Medium и планируете им стать, я прошу вас сделать это по следующей ссылке. Я получу часть вашего членского взноса без каких-либо дополнительных затрат для вас.