Как можно наиболее эффективно освоить основы методологии разработки программного обеспечения (SDLC)?

Здравствуйте коллеги,

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

У нас есть различные бэк-энды и мобильные фронт-энды (несколько веб-сайтов и мобильных приложений для обеих платформ). Я понимаю, что никогда не поздно учиться, поэтому я хочу улучшить свои знания в области разработки (я уже имел опыт работы с Python и Bash, но давно не работал с бэк-эндом или мобильными приложениями).

У меня есть возможность пройти обучение по нескольким направлениям. Я склоняюсь к изучению С# для бэк-энда (не нравится Java), и iOS для мобильных приложений.

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

Большое спасибо за ваш детальный ответ. 
P.S. Просьба не отправлять меня в Гугл и не устраивать дискуссии в комментариях.
  • 9 октября 2023 г. 18:28
Ответы на вопрос 2
Позвольте предложить вам рекомендацию по освоению основ методологии разработки программного обеспечения (SDLC).

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

2. Изучите основные концепции SDLC
Познакомьтесь с основными концепциями и этапами разработки программного обеспечения, такими как анализ требований, проектирование, кодирование, тестирование и развертывание. Уделите внимание методологиям разработки, таким как водопадная модель, гибкая разработка или DevOps.

3. Изучите практические навыки
Пройдите обучение по конкретным технологиям, которые используют ваши разработчики. Если ваши бэк-энды основаны на С#, изучите этот язык программирования и связанные с ним технологии и фреймворки. То же самое касается мобильной разработки iOS. Цель здесь - получить адекватное представление о выбранной технологии и способах ее использования.

4. Разберитесь с безопасностью разработки
Углубите свои знания в безопасности разработки, такой как обработка ввода данных, предотвращение атак SQL-инъекций, управление сеансами, шифрование и безопасность API. Изучение уязвимостей и методов их предотвращения позволит вам лучше понять и общаться с разработчиками и архитекторами в области информационной безопасности.

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

Учитывая ваши интересы и ограниченное время, моя рекомендация - начать с изучения бэк-энда (С#). Бэк-энд отвечает за обработку запросов, управление данными и бизнес-логикой, и для вас это может оказаться наиболее полезным. Однако, если вам особенно интересны мобильные приложения или вы работаете с командой разработчиков мобильных приложений, изучение iOS также может быть полезным для вашей работы.

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