Великое обсуждение буткемпов: от «Hello World» до «Прощай, продакшн»
Давайте посчитаем, как в плохо оптимизированном скрипте на Python:
// Пример анализатора статистики выпускников буткемпа
const bootcampGradStats = {
avgTrainingWeeks: 14.6,
productionIncidents: {
causedBy: '37%',
resolvedBy: '29%'
},
impostorSyndromeLevel: 'СВЫШЕ 9000'
};
Недавний штраф в размере 164 тысяч долларов, наложенный CFPB на BloomTech, выявил системные проблемы в некоторых программах. Но данные Coursereport показывают, что 79 % выпускников буткемпов находят работу в сфере технологий. Реальный вопрос не в том, должны ли они программировать, а в том, где именно.
Реальная проблема: проверка навыков, а не дипломы
Критические системы нуждаются в большей защите, чем блок try/catch в Node.js. Давайте создадим простое промежуточное ПО для авторизации:
// Контроль доступа к критическим системам
interface Developer {
experience: number;
certifications: string[];
hasCausedProductionFire: boolean;
}
function grantAccess(dev: Developer): boolean {
return dev.experience > 2
&& dev.certifications.includes('SystemDesign')
&& !dev.hasCausedProductionFire;
}
Пошаговый протокол безопасности:
- Внедрить обязательные проверки кода.
- Требовать парное программирование в течение первых 6 месяцев.
- Использовать контроль радиуса взрыва:
# Ограничение прав доступа к базе данных GRANT SELECT, INSERT ON critical_table TO bootcamp_dev; REVOKE DELETE, DROP FROM bootcamp_dev;
Альтернативы «запрету на профессию»
Вместо прямых запретов давайте проявим творческий подход, как разработчик React, избегающий компонентов класса: Решение с сертификацией
# Декоратор для критических функций
def require_certification(cert_level):
def decorator(func):
@functools.wraps(func)
def wrapper(*args, **kwargs):
if current_user.cert_level < cert_level:
raise PermissionError("¯\\_(ツ)_/¯")
return func(*args, **kwargs)
return wrapper
return decorator
@require_certification(3)
def launch_nukes():
pass
Модель ученичества
Руководство по выживанию для выпускников буткемпов
- Овладейте искусством console.log (но изучите отладчики в конце концов).
- Поймите, что leftPad — это не ваша вина.
- Когда вас спросят о временной сложности, ответьте:
function answerQuestion() { return 'O(n) Я думаю? *нервный смешок*'; }
Итог
Запрет на работу выпускников буткемпов имеет столько же смысла, сколько использование !important в CSS — это ленивое решение, которое создаёт больше проблем. Реальное решение заключается в улучшении программ наставничества, поэтапном контроле доступа и признании того, что даже степени CS не предотвращают кошмаров NaN. Что вы думаете? Должны ли мы:
- Ввести обязательные наклейки «Не трогать продакшн»?
- Создать экзамен на получение лицензии программиста?
- Просто git gud и перестать ограничивать доступ? Оставьте своё мнение в комментариях — если только вы не рекурсивная функция, которая никогда не завершается.