Профессиональные компетенции разработки программного обеспечения
Дмитрий Николаевич Черемнов
Одного знания языка программирования недостаточно для профессиональной разработки программного обеспечения. Нужны ряд компетенций – знаний, методик, навыков владения инструментами. Ключевая информация и рекомендации для будущих разработчиков программного обеспечения и других информационно-технологических специалистов. Лайфхаки для ИТ юниоров, желающих значительно повысить свою квалификацию и зарплату. ИТ "кухня" – технологии, процессы и методологии, необходимые для создания качественного программного продукта.
Введение
Программисты учатся на ошибках других программистов, а потом обучают новых программистов тем же ошибкам.
Я фанат разработки программного обеспечения…
У меня интересная работа технического лидера в компании, разрабатывающей программное обеспечение на заказ для зарубежных и отечественных клиентов.
За долгие годы путем обучения, проб, ошибок, дошел до уровня, когда мне доверяют начинать разработку проекта и доводить его с командой до продакшена.
Я поделюсь своими мыслями, знаниями и опытом в разработке программного обеспечения.
Почему…?
Я задумался, почему несмотря на множество людей с горящими глазами, изучающими или знающими какой-либо язык программирования, остается острая нехватка программистов (например, в нашей и других компаниях дают бонус за успешную рекомендацию кандидата)?
Почему, несмотря на большой объем информации в интернете, сложно понять, что требуется для того, чтобы тебя приняли на работу в компанию, разрабатывающую программное обеспечение?
Почему сейчас, когда компании лояльно относятся к сотрудникам (в нашей компании десяток человек работают удаленно), которые находятся за сотни километров в маленьких городках и успешно работают на ключевых позициях, остается кадровый голод?
Злосчастный круг
К сожалению, проблема студентов и молодых специалистов известна – компании не хотят рисковать и брать на работу людей без опыта, без нужных компетенций.
А без работы невозможно (а точнее очень трудно) получить необходимый опыт.
Злосчастный круг замыкается и его сложно разорвать.
Тебя интересуют информационные технологии?
Ты изучаешь язык программирования и уже пишешь (пусть и простые) программы?
Ты хочешь связать свою профессиональную жизнь с ИТ?
А может ты уже работаешь в ИТ, но тебе нужно значительно повысить свою квалификацию?
Ты сможешь получить концентрат знаний и опыта, тебе не придется блуждать в дебрях интернета и собирать все по крупицам. Ты сможешь за год усвоить и понять основное, что в ином случае достигается годами. Но не обещаю, что это будет легко.
Стремись к профессиональной цели!
Если тебя интересует программирование, информационные технологии и ты находишься в начале профессионального пути – стремись к своей цели!
Получи Чек лист по профессиональным компетенциям (https://info.asvoip.com/pro-sd-check-list.rtf), требуемыми для разработки программного обеспечения.
Чек лист поможет оценить навыки, наметить векторы по развитию профессиональных компетенций разработчика программного обеспечения, которые значительно повысят ИТ квалификацию и помогут открыть дверь в компанию твоей мечты или получить повышение на текущей должности.
Определив свой текущий уровень, сформируй карьерный план и определи ближайшие и долгосрочные цели. Не трать на планирование много времени! План – это список намерений, но не более того.
Профессиональные компетенции разработки программного обеспечения помогут достичь поставленные цели при любой текущем уровне – для уровня курсанта, юниора или разработчика с опытом. Наибольший эффект получите на начальных уровнях, но разработчики среднего уровня, специализируясь на определенных технологиях и уделяя внимание отстающим компетенциям, могут достичь экспертного уровня.
Путь до юниора может занять много времени – от полугода до 2 лет, в зависимости от начального уровня и интенсивности подготовки. Нужно много изучать и практиковать, не менее 10 часов и нескольких дней в неделю (например, 2-3 дня в неделю по 2 часа вечером в будни и 4-6 часов в выходной теор