blockmine 1.20.0 → 1.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/README.md +469 -0
- package/.claude/agents/auth-route-debugger.md +118 -0
- package/.claude/agents/auth-route-tester.md +93 -0
- package/.claude/agents/auto-error-resolver.md +97 -0
- package/.claude/agents/build-optimizer.md +236 -0
- package/.claude/agents/code-architecture-reviewer.md +83 -0
- package/.claude/agents/code-refactor-master.md +94 -0
- package/.claude/agents/cost-optimizer.md +134 -0
- package/.claude/agents/deployment-orchestrator.md +113 -0
- package/.claude/agents/documentation-architect.md +82 -0
- package/.claude/agents/frontend-error-fixer.md +77 -0
- package/.claude/agents/iac-code-generator.md +71 -0
- package/.claude/agents/incident-responder.md +346 -0
- package/.claude/agents/infrastructure-architect.md +31 -0
- package/.claude/agents/kubernetes-specialist.md +56 -0
- package/.claude/agents/migration-planner.md +181 -0
- package/.claude/agents/network-architect.md +196 -0
- package/.claude/agents/plan-reviewer.md +52 -0
- package/.claude/agents/refactor-planner.md +63 -0
- package/.claude/agents/security-scanner.md +102 -0
- package/.claude/agents/web-research-specialist.md +78 -0
- package/.claude/commands/cost-analysis.md +315 -0
- package/.claude/commands/dev-docs-update.md +55 -0
- package/.claude/commands/dev-docs.md +51 -0
- package/.claude/commands/incident-debug.md +247 -0
- package/.claude/commands/infra-plan.md +81 -0
- package/.claude/commands/migration-plan.md +478 -0
- package/.claude/commands/route-research-for-testing.md +37 -0
- package/.claude/commands/security-review.md +66 -0
- package/.claude/hooks/CONFIG.md +448 -0
- package/.claude/hooks/README.md +163 -0
- package/.claude/hooks/SKILL_ACTIVATION_COMPLETE.md +226 -0
- package/.claude/hooks/WINDOWS_HOOKS_README.md +151 -0
- package/.claude/hooks/add-skill-activation-banners.ts +132 -0
- package/.claude/hooks/comprehensive-skill-test.ts +1315 -0
- package/.claude/hooks/error-handling-reminder.sh +12 -0
- package/.claude/hooks/error-handling-reminder.ts +222 -0
- package/.claude/hooks/k8s-manifest-validator.sh +56 -0
- package/.claude/hooks/package-lock.json +556 -0
- package/.claude/hooks/package.json +16 -0
- package/.claude/hooks/post-tool-use-tracker.ps1 +174 -0
- package/.claude/hooks/post-tool-use-tracker.sh +183 -0
- package/.claude/hooks/security-policy-check.sh +247 -0
- package/.claude/hooks/skill-activation-prompt.ps1 +10 -0
- package/.claude/hooks/skill-activation-prompt.sh +10 -0
- package/.claude/hooks/skill-activation-prompt.ts +141 -0
- package/.claude/hooks/stop-build-check-enhanced.sh +130 -0
- package/.claude/hooks/terraform-validator.sh +53 -0
- package/.claude/hooks/test-input.json +7 -0
- package/.claude/hooks/test-skill-activation.ts +427 -0
- package/.claude/hooks/trigger-build-resolver.sh +79 -0
- package/.claude/hooks/tsc-check.sh +173 -0
- package/.claude/hooks/tsconfig.json +19 -0
- package/.claude/settings.json +55 -0
- package/.claude/settings.local.json +28 -3
- package/.claude/skills/README.md +507 -0
- package/.claude/skills/api-engineering/SKILL.md +63 -0
- package/.claude/skills/api-engineering/resources/api-versioning.md +88 -0
- package/.claude/skills/api-engineering/resources/graphql-patterns.md +106 -0
- package/.claude/skills/api-engineering/resources/rate-limiting.md +118 -0
- package/.claude/skills/api-engineering/resources/rest-api-design.md +105 -0
- package/.claude/skills/backend-dev-guidelines/SKILL.md +306 -0
- package/.claude/skills/backend-dev-guidelines/resources/architecture-overview.md +451 -0
- package/.claude/skills/backend-dev-guidelines/resources/async-and-errors.md +307 -0
- package/.claude/skills/backend-dev-guidelines/resources/complete-examples.md +638 -0
- package/.claude/skills/backend-dev-guidelines/resources/configuration.md +275 -0
- package/.claude/skills/backend-dev-guidelines/resources/database-patterns.md +224 -0
- package/.claude/skills/backend-dev-guidelines/resources/middleware-guide.md +213 -0
- package/.claude/skills/backend-dev-guidelines/resources/routing-and-controllers.md +756 -0
- package/.claude/skills/backend-dev-guidelines/resources/sentry-and-monitoring.md +336 -0
- package/.claude/skills/backend-dev-guidelines/resources/services-and-repositories.md +789 -0
- package/.claude/skills/backend-dev-guidelines/resources/testing-guide.md +235 -0
- package/.claude/skills/backend-dev-guidelines/resources/validation-patterns.md +754 -0
- package/.claude/skills/budget-and-cost-management/SKILL.md +850 -0
- package/.claude/skills/build-engineering/SKILL.md +431 -0
- package/.claude/skills/build-engineering/resources/artifact-repositories.md +72 -0
- package/.claude/skills/build-engineering/resources/build-caching.md +96 -0
- package/.claude/skills/build-engineering/resources/build-pipelines.md +105 -0
- package/.claude/skills/build-engineering/resources/build-security.md +95 -0
- package/.claude/skills/build-engineering/resources/build-systems.md +389 -0
- package/.claude/skills/build-engineering/resources/compilation-optimization.md +201 -0
- package/.claude/skills/build-engineering/resources/dependency-management.md +73 -0
- package/.claude/skills/build-engineering/resources/monorepo-builds.md +110 -0
- package/.claude/skills/build-engineering/resources/performance-optimization.md +113 -0
- package/.claude/skills/build-engineering/resources/reproducible-builds.md +82 -0
- package/.claude/skills/cloud-engineering/SKILL.md +675 -0
- package/.claude/skills/cloud-engineering/resources/aws-patterns.md +742 -0
- package/.claude/skills/cloud-engineering/resources/azure-patterns.md +714 -0
- package/.claude/skills/cloud-engineering/resources/cleared-cloud-environments.md +987 -0
- package/.claude/skills/cloud-engineering/resources/cloud-cost-optimization.md +757 -0
- package/.claude/skills/cloud-engineering/resources/cloud-networking.md +1058 -0
- package/.claude/skills/cloud-engineering/resources/cloud-security-tools.md +1530 -0
- package/.claude/skills/cloud-engineering/resources/cloud-security.md +990 -0
- package/.claude/skills/cloud-engineering/resources/gcp-patterns.md +758 -0
- package/.claude/skills/cloud-engineering/resources/migration-strategies.md +820 -0
- package/.claude/skills/cloud-engineering/resources/multi-cloud-strategies.md +670 -0
- package/.claude/skills/cloud-engineering/resources/oci-patterns.md +1198 -0
- package/.claude/skills/cloud-engineering/resources/serverless-patterns.md +795 -0
- package/.claude/skills/cloud-engineering/resources/well-architected-frameworks.md +966 -0
- package/.claude/skills/cybersecurity/SKILL.md +409 -0
- package/.claude/skills/cybersecurity/resources/security-architecture.md +266 -0
- package/.claude/skills/database-engineering/SKILL.md +61 -0
- package/.claude/skills/database-engineering/resources/backup-and-recovery.md +72 -0
- package/.claude/skills/database-engineering/resources/database-replication.md +63 -0
- package/.claude/skills/database-engineering/resources/postgresql-fundamentals.md +70 -0
- package/.claude/skills/database-engineering/resources/query-optimization.md +68 -0
- package/.claude/skills/devsecops/SKILL.md +374 -0
- package/.claude/skills/devsecops/resources/ci-cd-security.md +204 -0
- package/.claude/skills/devsecops/resources/compliance-automation.md +530 -0
- package/.claude/skills/devsecops/resources/compliance-frameworks.md +2322 -0
- package/.claude/skills/devsecops/resources/container-security.md +915 -0
- package/.claude/skills/devsecops/resources/cspm-integration.md +1440 -0
- package/.claude/skills/devsecops/resources/policy-enforcement.md +619 -0
- package/.claude/skills/devsecops/resources/secrets-management.md +755 -0
- package/.claude/skills/devsecops/resources/security-monitoring.md +146 -0
- package/.claude/skills/devsecops/resources/security-scanning.md +887 -0
- package/.claude/skills/devsecops/resources/security-testing.md +203 -0
- package/.claude/skills/devsecops/resources/supply-chain-security.md +518 -0
- package/.claude/skills/devsecops/resources/vulnerability-management.md +481 -0
- package/.claude/skills/devsecops/resources/zero-trust-architecture.md +177 -0
- package/.claude/skills/documentation-as-code/SKILL.md +323 -0
- package/.claude/skills/documentation-as-code/resources/api-documentation.md +90 -0
- package/.claude/skills/documentation-as-code/resources/changelog-management.md +79 -0
- package/.claude/skills/documentation-as-code/resources/diagram-generation.md +44 -0
- package/.claude/skills/documentation-as-code/resources/docs-as-code-workflow.md +99 -0
- package/.claude/skills/documentation-as-code/resources/documentation-automation.md +68 -0
- package/.claude/skills/documentation-as-code/resources/documentation-sites.md +79 -0
- package/.claude/skills/documentation-as-code/resources/markdown-best-practices.md +162 -0
- package/.claude/skills/documentation-as-code/resources/openapi-specification.md +77 -0
- package/.claude/skills/documentation-as-code/resources/readme-engineering.md +60 -0
- package/.claude/skills/documentation-as-code/resources/technical-writing-guide.md +202 -0
- package/.claude/skills/engineering-management/SKILL.md +356 -0
- package/.claude/skills/engineering-management/resources/career-ladders.md +609 -0
- package/.claude/skills/engineering-management/resources/hiring-and-assessment.md +555 -0
- package/.claude/skills/engineering-management/resources/one-on-one-guides.md +609 -0
- package/.claude/skills/engineering-management/resources/resource-planning.md +557 -0
- package/.claude/skills/engineering-management/resources/team-organization-patterns.md +491 -0
- package/.claude/skills/engineering-management/resources/technical-interviews.md +474 -0
- package/.claude/skills/engineering-operations-management/SKILL.md +817 -0
- package/.claude/skills/error-tracking/SKILL.md +379 -0
- package/.claude/skills/frontend-dev-guidelines/SKILL.md +403 -0
- package/.claude/skills/frontend-dev-guidelines/resources/common-patterns.md +331 -0
- package/.claude/skills/frontend-dev-guidelines/resources/complete-examples.md +872 -0
- package/.claude/skills/frontend-dev-guidelines/resources/component-patterns.md +502 -0
- package/.claude/skills/frontend-dev-guidelines/resources/data-fetching.md +767 -0
- package/.claude/skills/frontend-dev-guidelines/resources/file-organization.md +502 -0
- package/.claude/skills/frontend-dev-guidelines/resources/loading-and-error-states.md +501 -0
- package/.claude/skills/frontend-dev-guidelines/resources/performance.md +406 -0
- package/.claude/skills/frontend-dev-guidelines/resources/routing-guide.md +364 -0
- package/.claude/skills/frontend-dev-guidelines/resources/styling-guide.md +428 -0
- package/.claude/skills/frontend-dev-guidelines/resources/typescript-standards.md +418 -0
- package/.claude/skills/general-it-engineering/SKILL.md +393 -0
- package/.claude/skills/general-it-engineering/resources/asset-management.md +712 -0
- package/.claude/skills/general-it-engineering/resources/automation-orchestration.md +817 -0
- package/.claude/skills/general-it-engineering/resources/business-continuity.md +786 -0
- package/.claude/skills/general-it-engineering/resources/change-management.md +715 -0
- package/.claude/skills/general-it-engineering/resources/enterprise-monitoring.md +729 -0
- package/.claude/skills/general-it-engineering/resources/help-desk-operations.md +738 -0
- package/.claude/skills/general-it-engineering/resources/incident-service-management.md +834 -0
- package/.claude/skills/general-it-engineering/resources/it-governance.md +753 -0
- package/.claude/skills/general-it-engineering/resources/itil-framework.md +503 -0
- package/.claude/skills/general-it-engineering/resources/service-management.md +669 -0
- package/.claude/skills/infrastructure-architecture/SKILL.md +328 -0
- package/.claude/skills/infrastructure-architecture/resources/architecture-decision-records.md +505 -0
- package/.claude/skills/infrastructure-architecture/resources/architecture-patterns.md +528 -0
- package/.claude/skills/infrastructure-architecture/resources/capacity-planning.md +453 -0
- package/.claude/skills/infrastructure-architecture/resources/cleared-environment-architecture.md +773 -0
- package/.claude/skills/infrastructure-architecture/resources/cost-architecture.md +499 -0
- package/.claude/skills/infrastructure-architecture/resources/data-architecture.md +501 -0
- package/.claude/skills/infrastructure-architecture/resources/disaster-recovery.md +535 -0
- package/.claude/skills/infrastructure-architecture/resources/migration-architecture.md +512 -0
- package/.claude/skills/infrastructure-architecture/resources/multi-region-design.md +608 -0
- package/.claude/skills/infrastructure-architecture/resources/reference-architectures.md +562 -0
- package/.claude/skills/infrastructure-architecture/resources/security-architecture.md +538 -0
- package/.claude/skills/infrastructure-architecture/resources/system-design-principles.md +489 -0
- package/.claude/skills/infrastructure-architecture/resources/workload-classification.md +1000 -0
- package/.claude/skills/infrastructure-strategy/SKILL.md +924 -0
- package/.claude/skills/network-engineering/SKILL.md +385 -0
- package/.claude/skills/network-engineering/resources/dns-management.md +738 -0
- package/.claude/skills/network-engineering/resources/load-balancing.md +820 -0
- package/.claude/skills/network-engineering/resources/network-architecture.md +546 -0
- package/.claude/skills/network-engineering/resources/network-security.md +921 -0
- package/.claude/skills/network-engineering/resources/network-troubleshooting.md +749 -0
- package/.claude/skills/network-engineering/resources/routing-switching.md +373 -0
- package/.claude/skills/network-engineering/resources/sdn-networking.md +695 -0
- package/.claude/skills/network-engineering/resources/service-mesh-networking.md +777 -0
- package/.claude/skills/network-engineering/resources/tcp-ip-protocols.md +444 -0
- package/.claude/skills/network-engineering/resources/vpn-connectivity.md +672 -0
- package/.claude/skills/observability-engineering/SKILL.md +101 -0
- package/.claude/skills/observability-engineering/resources/apm-tools.md +97 -0
- package/.claude/skills/observability-engineering/resources/correlation-strategies.md +87 -0
- package/.claude/skills/observability-engineering/resources/distributed-tracing.md +98 -0
- package/.claude/skills/observability-engineering/resources/logs-aggregation.md +118 -0
- package/.claude/skills/observability-engineering/resources/observability-cost-optimization.md +141 -0
- package/.claude/skills/observability-engineering/resources/opentelemetry.md +110 -0
- package/.claude/skills/platform-engineering/SKILL.md +555 -0
- package/.claude/skills/platform-engineering/resources/architecture-overview.md +600 -0
- package/.claude/skills/platform-engineering/resources/container-orchestration.md +916 -0
- package/.claude/skills/platform-engineering/resources/cost-optimization.md +634 -0
- package/.claude/skills/platform-engineering/resources/developer-platforms.md +670 -0
- package/.claude/skills/platform-engineering/resources/gitops-automation.md +650 -0
- package/.claude/skills/platform-engineering/resources/infrastructure-as-code.md +778 -0
- package/.claude/skills/platform-engineering/resources/infrastructure-standards.md +708 -0
- package/.claude/skills/platform-engineering/resources/multi-tenancy.md +602 -0
- package/.claude/skills/platform-engineering/resources/platform-security.md +711 -0
- package/.claude/skills/platform-engineering/resources/resource-management.md +592 -0
- package/.claude/skills/platform-engineering/resources/service-mesh.md +628 -0
- package/.claude/skills/release-engineering/SKILL.md +393 -0
- package/.claude/skills/release-engineering/resources/artifact-management.md +108 -0
- package/.claude/skills/release-engineering/resources/build-optimization.md +84 -0
- package/.claude/skills/release-engineering/resources/ci-cd-pipelines.md +411 -0
- package/.claude/skills/release-engineering/resources/deployment-strategies.md +197 -0
- package/.claude/skills/release-engineering/resources/pipeline-security.md +62 -0
- package/.claude/skills/release-engineering/resources/progressive-delivery.md +83 -0
- package/.claude/skills/release-engineering/resources/release-automation.md +68 -0
- package/.claude/skills/release-engineering/resources/release-orchestration.md +77 -0
- package/.claude/skills/release-engineering/resources/rollback-strategies.md +66 -0
- package/.claude/skills/release-engineering/resources/versioning-strategies.md +59 -0
- package/.claude/skills/route-tester/SKILL.md +392 -0
- package/.claude/skills/skill-developer/ADVANCED.md +197 -0
- package/.claude/skills/skill-developer/HOOK_MECHANISMS.md +306 -0
- package/.claude/skills/skill-developer/PATTERNS_LIBRARY.md +152 -0
- package/.claude/skills/skill-developer/SKILL.md +430 -0
- package/.claude/skills/skill-developer/SKILL_RULES_REFERENCE.md +315 -0
- package/.claude/skills/skill-developer/TRIGGER_TYPES.md +305 -0
- package/.claude/skills/skill-developer/TROUBLESHOOTING.md +514 -0
- package/.claude/skills/skill-rules.json +2940 -0
- package/.claude/skills/sre/SKILL.md +464 -0
- package/.claude/skills/sre/resources/alerting-best-practices.md +282 -0
- package/.claude/skills/sre/resources/capacity-planning.md +226 -0
- package/.claude/skills/sre/resources/chaos-engineering.md +193 -0
- package/.claude/skills/sre/resources/disaster-recovery.md +232 -0
- package/.claude/skills/sre/resources/incident-management.md +436 -0
- package/.claude/skills/sre/resources/observability-stack.md +240 -0
- package/.claude/skills/sre/resources/on-call-runbooks.md +167 -0
- package/.claude/skills/sre/resources/performance-optimization.md +108 -0
- package/.claude/skills/sre/resources/reliability-patterns.md +183 -0
- package/.claude/skills/sre/resources/slo-sli-sla.md +464 -0
- package/.claude/skills/sre/resources/toil-reduction.md +145 -0
- package/.claude/skills/systems-engineering/SKILL.md +648 -0
- package/.claude/skills/systems-engineering/resources/automation-patterns.md +771 -0
- package/.claude/skills/systems-engineering/resources/configuration-management.md +998 -0
- package/.claude/skills/systems-engineering/resources/linux-administration.md +672 -0
- package/.claude/skills/systems-engineering/resources/networking-fundamentals.md +982 -0
- package/.claude/skills/systems-engineering/resources/performance-tuning.md +871 -0
- package/.claude/skills/systems-engineering/resources/powershell-scripting.md +482 -0
- package/.claude/skills/systems-engineering/resources/security-hardening.md +739 -0
- package/.claude/skills/systems-engineering/resources/shell-scripting.md +915 -0
- package/.claude/skills/systems-engineering/resources/storage-management.md +628 -0
- package/.claude/skills/systems-engineering/resources/system-monitoring.md +787 -0
- package/.claude/skills/systems-engineering/resources/troubleshooting-guide.md +753 -0
- package/.claude/skills/systems-engineering/resources/windows-administration.md +738 -0
- package/.claude/skills/technical-leadership/SKILL.md +728 -0
- package/CHANGELOG.md +90 -39
- package/README.md +94 -0
- package/backend/docs/SECRETS_DOCUMENTATION.md +327 -0
- package/backend/jest.config.js +59 -0
- package/backend/package-lock.json +6129 -0
- package/backend/package.json +16 -4
- package/backend/prisma/migrations/20251026104609_add_websocket_api/migration.sql +33 -0
- package/backend/prisma/schema.prisma +33 -0
- package/backend/src/__tests__/core/DependencyService.test.js +336 -0
- package/backend/src/__tests__/core/UserService.test.js +875 -0
- package/backend/src/__tests__/repositories/BaseRepository.test.js +146 -0
- package/backend/src/__tests__/repositories/BotRepository.test.js +118 -0
- package/backend/src/__tests__/repositories/CommandRepository.test.js +132 -0
- package/backend/src/__tests__/repositories/EventGraphRepository.test.js +93 -0
- package/backend/src/__tests__/repositories/GroupRepository.test.js +155 -0
- package/backend/src/__tests__/repositories/PermissionRepository.test.js +130 -0
- package/backend/src/__tests__/repositories/PluginRepository.test.js +107 -0
- package/backend/src/__tests__/repositories/ServerRepository.test.js +80 -0
- package/backend/src/__tests__/repositories/UserRepository.test.js +128 -0
- package/backend/src/__tests__/secretsFilter.test.js +425 -0
- package/backend/src/__tests__/services/BotLifecycleService.test.js +411 -0
- package/backend/src/__tests__/services/BotProcessManager.test.js +285 -0
- package/backend/src/__tests__/services/CacheManager.test.js +125 -0
- package/backend/src/__tests__/services/CommandExecutionService.test.js +460 -0
- package/backend/src/__tests__/services/ResourceMonitorService.test.js +207 -0
- package/backend/src/__tests__/services/TelemetryService.test.js +291 -0
- package/backend/src/__tests__/setup.js +25 -0
- package/backend/src/api/routes/apiKeys.js +181 -0
- package/backend/src/api/routes/bots.js +49 -7
- package/backend/src/api/routes/plugins.js +2 -1
- package/backend/src/api/routes/system.js +174 -0
- package/backend/src/container.js +82 -0
- package/backend/src/core/BotManager.js +142 -871
- package/backend/src/core/BotManager.old.js +1093 -0
- package/backend/src/core/BotProcess.js +1092 -850
- package/backend/src/core/BreakLoopSignal.js +8 -0
- package/backend/src/core/EventGraphManager.js +280 -193
- package/backend/src/core/GraphExecutionEngine.js +321 -928
- package/backend/src/core/MessageQueue.js +27 -6
- package/backend/src/core/NodeRegistry.js +37 -991
- package/backend/src/core/PluginManager.js +62 -12
- package/backend/src/core/PrismaService.js +32 -0
- package/backend/src/core/UserService.js +3 -3
- package/backend/src/core/__tests__/PrismaService.test.js +24 -0
- package/backend/src/core/commands/README.md +305 -0
- package/backend/src/core/commands/dev.js +13 -7
- package/backend/src/core/commands/ping.js +10 -4
- package/backend/src/core/commands/whois.js +63 -0
- package/backend/src/core/config/validation.js +27 -0
- package/backend/src/core/constants/graphTypes.js +21 -0
- package/backend/src/core/node-registries/actions.js +132 -0
- package/backend/src/core/node-registries/arrays.js +137 -0
- package/backend/src/core/node-registries/bot.js +23 -0
- package/backend/src/core/node-registries/data.js +290 -0
- package/backend/src/core/node-registries/debug.js +26 -0
- package/backend/src/core/node-registries/events.js +187 -0
- package/backend/src/core/node-registries/flow.js +139 -0
- package/backend/src/core/node-registries/logic.js +45 -0
- package/backend/src/core/node-registries/math.js +42 -0
- package/backend/src/core/node-registries/objects.js +98 -0
- package/backend/src/core/node-registries/strings.js +153 -0
- package/backend/src/core/node-registries/time.js +113 -0
- package/backend/src/core/node-registries/users.js +79 -0
- package/backend/src/core/nodes/actions/bot_look_at.js +36 -0
- package/backend/src/core/nodes/actions/bot_set_variable.js +32 -0
- package/backend/src/core/nodes/actions/http_request.js +98 -0
- package/backend/src/core/nodes/actions/send_log.js +28 -0
- package/backend/src/core/nodes/actions/send_message.js +32 -0
- package/backend/src/core/nodes/actions/send_websocket_response.js +33 -0
- package/backend/src/core/nodes/arrays/add_element.js +23 -0
- package/backend/src/core/nodes/arrays/contains.js +40 -0
- package/backend/src/core/nodes/arrays/find_index.js +23 -0
- package/backend/src/core/nodes/arrays/get_by_index.js +23 -0
- package/backend/src/core/nodes/arrays/get_next.js +35 -0
- package/backend/src/core/nodes/arrays/get_random_element.js +32 -0
- package/backend/src/core/nodes/arrays/remove_by_index.js +30 -0
- package/backend/src/core/nodes/bot/get_position.js +20 -0
- package/backend/src/core/nodes/data/array_literal.js +31 -0
- package/backend/src/core/nodes/data/boolean_literal.js +21 -0
- package/backend/src/core/nodes/data/cast.js +42 -0
- package/backend/src/core/nodes/data/datetime_literal.js +27 -0
- package/backend/src/core/nodes/data/entity_info.js +69 -0
- package/backend/src/core/nodes/data/get_argument.js +23 -0
- package/backend/src/core/nodes/data/get_bot_look.js +14 -0
- package/backend/src/core/nodes/data/get_entity_field.js +18 -0
- package/backend/src/core/nodes/data/get_nearby_entities.js +32 -0
- package/backend/src/core/nodes/data/get_nearby_players.js +64 -0
- package/backend/src/core/nodes/data/get_server_players.js +18 -0
- package/backend/src/core/nodes/data/get_user_field.js +40 -0
- package/backend/src/core/nodes/data/get_variable.js +23 -0
- package/backend/src/core/nodes/data/length.js +25 -0
- package/backend/src/core/nodes/data/make_object.js +31 -0
- package/backend/src/core/nodes/data/number_literal.js +21 -0
- package/backend/src/core/nodes/data/string_literal.js +34 -0
- package/backend/src/core/nodes/data/type_check.js +53 -0
- package/backend/src/core/nodes/debug/log.js +16 -0
- package/backend/src/core/nodes/flow/branch.js +15 -0
- package/backend/src/core/nodes/flow/break.js +14 -0
- package/backend/src/core/nodes/flow/delay.js +43 -0
- package/backend/src/core/nodes/flow/for_each.js +39 -0
- package/backend/src/core/nodes/flow/sequence.js +16 -0
- package/backend/src/core/nodes/flow/switch.js +47 -0
- package/backend/src/core/nodes/flow/while.js +64 -0
- package/backend/src/core/nodes/logic/__tests__/compare.test.js +83 -0
- package/backend/src/core/nodes/logic/compare.js +33 -0
- package/backend/src/core/nodes/logic/operation.js +35 -0
- package/backend/src/core/nodes/math/__tests__/operation.test.js +65 -0
- package/backend/src/core/nodes/math/operation.js +31 -0
- package/backend/src/core/nodes/math/random_number.js +43 -0
- package/backend/src/core/nodes/objects/create.js +40 -0
- package/backend/src/core/nodes/objects/delete.js +26 -0
- package/backend/src/core/nodes/objects/get.js +23 -0
- package/backend/src/core/nodes/objects/has_key.js +30 -0
- package/backend/src/core/nodes/objects/set.js +27 -0
- package/backend/src/core/nodes/strings/__tests__/concat.test.js +89 -0
- package/backend/src/core/nodes/strings/concat.js +27 -0
- package/backend/src/core/nodes/strings/contains.js +41 -0
- package/backend/src/core/nodes/strings/ends_with.js +43 -0
- package/backend/src/core/nodes/strings/equals.js +36 -0
- package/backend/src/core/nodes/strings/length.js +36 -0
- package/backend/src/core/nodes/strings/matches.js +39 -0
- package/backend/src/core/nodes/strings/split.js +37 -0
- package/backend/src/core/nodes/strings/starts_with.js +43 -0
- package/backend/src/core/nodes/time/__tests__/now.test.js +24 -0
- package/backend/src/core/nodes/time/add.js +33 -0
- package/backend/src/core/nodes/time/compare.js +35 -0
- package/backend/src/core/nodes/time/diff.js +29 -0
- package/backend/src/core/nodes/time/format.js +32 -0
- package/backend/src/core/nodes/time/now.js +18 -0
- package/backend/src/core/nodes/users/check_blacklist.js +37 -0
- package/backend/src/core/nodes/users/get_groups.js +36 -0
- package/backend/src/core/nodes/users/get_permissions.js +36 -0
- package/backend/src/core/nodes/users/set_blacklist.js +37 -0
- package/backend/src/core/services/BotLifecycleService.js +596 -0
- package/backend/src/core/services/BotProcessManager.js +163 -0
- package/backend/src/core/services/CacheManager.js +111 -0
- package/backend/src/core/services/CommandExecutionService.js +351 -0
- package/backend/src/core/services/ResourceMonitorService.js +90 -0
- package/backend/src/core/services/TelemetryService.js +124 -0
- package/backend/src/core/services/ValidationService.js +132 -0
- package/backend/src/core/services/__tests__/ValidationService.test.js +148 -0
- package/backend/src/core/services.js +20 -5
- package/backend/src/core/system/CommandContext.js +84 -0
- package/backend/src/core/system/Transport.js +78 -0
- package/backend/src/core/utils/__tests__/jsonParser.test.js +44 -0
- package/backend/src/core/utils/jsonParser.js +18 -0
- package/backend/src/core/utils/secretsFilter.js +262 -0
- package/backend/src/core/utils/variableParser.js +89 -0
- package/backend/src/core/validation/__tests__/nodeSchemas.test.js +175 -0
- package/backend/src/core/validation/nodeSchemas.js +112 -0
- package/backend/src/lib/prisma.js +2 -4
- package/backend/src/real-time/botApi/handlers/commandHandlers.js +28 -0
- package/backend/src/real-time/botApi/handlers/graphHandlers.js +99 -0
- package/backend/src/real-time/botApi/handlers/graphWebSocketHandlers.js +147 -0
- package/backend/src/real-time/botApi/handlers/index.js +43 -0
- package/backend/src/real-time/botApi/handlers/messageHandlers.js +66 -0
- package/backend/src/real-time/botApi/handlers/statusHandlers.js +17 -0
- package/backend/src/real-time/botApi/handlers/userHandlers.js +141 -0
- package/backend/src/real-time/botApi/index.js +40 -0
- package/backend/src/real-time/botApi/middleware.js +79 -0
- package/backend/src/real-time/botApi/utils.js +54 -0
- package/backend/src/real-time/socketHandler.js +6 -2
- package/backend/src/repositories/BaseRepository.js +43 -0
- package/backend/src/repositories/BotRepository.js +42 -0
- package/backend/src/repositories/CommandRepository.js +53 -0
- package/backend/src/repositories/EventGraphRepository.js +40 -0
- package/backend/src/repositories/GroupRepository.js +69 -0
- package/backend/src/repositories/PermissionRepository.js +48 -0
- package/backend/src/repositories/PluginRepository.js +42 -0
- package/backend/src/repositories/ServerRepository.js +27 -0
- package/backend/src/repositories/UserRepository.js +48 -0
- package/backend/src/server.js +3 -0
- package/backend/src/test-refactor.js +85 -0
- package/frontend/dist/assets/index-CfTo92bP.css +1 -0
- package/frontend/dist/assets/index-CiFD5X9Z.js +8344 -0
- package/frontend/dist/index.html +2 -2
- package/frontend/package.json +1 -5
- package/package.json +2 -1
- package/frontend/dist/assets/index-BFd7YoAj.css +0 -1
- package/frontend/dist/assets/index-CMMutadc.js +0 -8352
- package/nul +0 -0
|
@@ -0,0 +1,609 @@
|
|
|
1
|
+
# Career Ladders for Infrastructure Engineers
|
|
2
|
+
|
|
3
|
+
**Comprehensive career progression frameworks for individual contributors and managers.**
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
**Career ladders provide:**
|
|
10
|
+
- Clear expectations at each level
|
|
11
|
+
- Transparent path to promotion
|
|
12
|
+
- Fair and consistent evaluation
|
|
13
|
+
- Motivation and retention
|
|
14
|
+
|
|
15
|
+
**Two tracks:**
|
|
16
|
+
1. **Individual Contributor (IC):** L3 → L4 → L5 → L6 → L7+
|
|
17
|
+
2. **Manager (M):** M3 → M4 → M5 → M6+
|
|
18
|
+
|
|
19
|
+
**Key principle:** IC and Manager tracks are **parallel and equal** - neither is "better" or "higher"
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Individual Contributor (IC) Track
|
|
24
|
+
|
|
25
|
+
### L3: Junior Engineer (0-2 years experience)
|
|
26
|
+
|
|
27
|
+
**Scope:** Executes well-defined tasks with guidance
|
|
28
|
+
|
|
29
|
+
**Technical Skills:**
|
|
30
|
+
- Learning fundamentals of domain (cloud, K8s, CI/CD, etc.)
|
|
31
|
+
- Can implement solutions following team patterns
|
|
32
|
+
- Asks good questions and seeks help appropriately
|
|
33
|
+
- Basic troubleshooting and debugging skills
|
|
34
|
+
|
|
35
|
+
**Impact:**
|
|
36
|
+
- Completes assigned tasks on time
|
|
37
|
+
- Minimal re-work needed on code reviews
|
|
38
|
+
- Contributes to team velocity
|
|
39
|
+
|
|
40
|
+
**Collaboration:**
|
|
41
|
+
- Actively participates in team meetings
|
|
42
|
+
- Responsive to code review feedback
|
|
43
|
+
- Documents work clearly
|
|
44
|
+
- Seeks mentorship and feedback
|
|
45
|
+
|
|
46
|
+
**Typical Projects:**
|
|
47
|
+
- Implement feature using existing patterns
|
|
48
|
+
- Fix bugs in well-understood systems
|
|
49
|
+
- Write tests and documentation
|
|
50
|
+
- Participate in on-call (shadowing)
|
|
51
|
+
|
|
52
|
+
**Promotion to L4:**
|
|
53
|
+
- 12-18 months at L3 (depending on growth)
|
|
54
|
+
- Consistently delivers tasks independently
|
|
55
|
+
- Shows readiness for bigger scope
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
### L4: Engineer (2-5 years experience)
|
|
60
|
+
|
|
61
|
+
**Scope:** Owns small-to-medium projects independently
|
|
62
|
+
|
|
63
|
+
**Technical Skills:**
|
|
64
|
+
- Proficient in core technologies of domain
|
|
65
|
+
- Can design and implement solutions with minimal guidance
|
|
66
|
+
- Understands trade-offs and makes reasonable technical decisions
|
|
67
|
+
- Effective at debugging complex issues
|
|
68
|
+
|
|
69
|
+
**Impact:**
|
|
70
|
+
- Owns projects end-to-end (design, implement, deploy, monitor)
|
|
71
|
+
- Delivers high-quality work consistently
|
|
72
|
+
- Reduces technical debt through refactoring
|
|
73
|
+
- Participates in on-call rotation effectively
|
|
74
|
+
|
|
75
|
+
**Collaboration:**
|
|
76
|
+
- Gives thoughtful code reviews
|
|
77
|
+
- Mentors L3 engineers informally
|
|
78
|
+
- Shares knowledge through documentation and demos
|
|
79
|
+
- Collaborates across teams when needed
|
|
80
|
+
|
|
81
|
+
**Typical Projects:**
|
|
82
|
+
- Design and implement new CI/CD pipeline
|
|
83
|
+
- Build self-service infrastructure provisioning
|
|
84
|
+
- Lead observability implementation
|
|
85
|
+
- Migrate service to new infrastructure
|
|
86
|
+
|
|
87
|
+
**Promotion to L5:**
|
|
88
|
+
- 2-3 years at L4
|
|
89
|
+
- Consistently delivers complex projects
|
|
90
|
+
- Shows technical leadership potential
|
|
91
|
+
- Ready for broader scope and mentorship
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
### L5: Senior Engineer (5-8 years experience)
|
|
96
|
+
|
|
97
|
+
**Scope:** Owns large, ambiguous projects; mentors engineers
|
|
98
|
+
|
|
99
|
+
**Technical Skills:**
|
|
100
|
+
- Expert in domain with broad knowledge across stack
|
|
101
|
+
- Designs systems with scalability, reliability, and maintainability
|
|
102
|
+
- Makes complex technical decisions with sound reasoning
|
|
103
|
+
- Debugs and resolves production incidents quickly
|
|
104
|
+
|
|
105
|
+
**Impact:**
|
|
106
|
+
- Leads major initiatives that span multiple quarters
|
|
107
|
+
- Significantly improves team productivity or reliability
|
|
108
|
+
- Reduces on-call burden through automation and prevention
|
|
109
|
+
- Influences technical direction of team
|
|
110
|
+
|
|
111
|
+
**Collaboration:**
|
|
112
|
+
- Actively mentors L3/L4 engineers
|
|
113
|
+
- Leads architecture discussions and design reviews
|
|
114
|
+
- Writes detailed design docs and RFCs
|
|
115
|
+
- Builds consensus across teams
|
|
116
|
+
- Represents team in cross-functional forums
|
|
117
|
+
|
|
118
|
+
**Typical Projects:**
|
|
119
|
+
- Design and implement internal developer platform
|
|
120
|
+
- Lead Kubernetes migration for 50+ services
|
|
121
|
+
- Build observability platform from scratch
|
|
122
|
+
- Design and implement disaster recovery strategy
|
|
123
|
+
|
|
124
|
+
**Promotion to L6:**
|
|
125
|
+
- 3-5 years at L5
|
|
126
|
+
- Consistent track record of high-impact technical leadership
|
|
127
|
+
- Recognized expert in domain
|
|
128
|
+
- Operates at multi-team scope
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
### L6: Staff Engineer (8-12 years experience)
|
|
133
|
+
|
|
134
|
+
**Scope:** Drives multi-team initiatives; sets technical direction
|
|
135
|
+
|
|
136
|
+
**Technical Skills:**
|
|
137
|
+
- Domain expert; deep and broad technical knowledge
|
|
138
|
+
- Designs systems at org scale (hundreds of services)
|
|
139
|
+
- Anticipates future needs and plans strategically
|
|
140
|
+
- Debugs the most complex, ambiguous issues
|
|
141
|
+
|
|
142
|
+
**Impact:**
|
|
143
|
+
- Drives initiatives that span multiple teams/quarters
|
|
144
|
+
- Defines technical strategy for domain (platform, SRE, security, etc.)
|
|
145
|
+
- Unblocks teams through technical leadership
|
|
146
|
+
- Improves engineering productivity across org
|
|
147
|
+
- Reduces major risks and prevents outages
|
|
148
|
+
|
|
149
|
+
**Collaboration:**
|
|
150
|
+
- Mentors L5 engineers and helps them grow to Staff
|
|
151
|
+
- Leads org-wide architecture discussions
|
|
152
|
+
- Influences engineering culture and best practices
|
|
153
|
+
- Partners with senior management on technical strategy
|
|
154
|
+
- Represents company at conferences or open-source communities
|
|
155
|
+
|
|
156
|
+
**Typical Projects:**
|
|
157
|
+
- Design and lead multi-region active-active migration
|
|
158
|
+
- Build developer platform that enables 100+ engineers
|
|
159
|
+
- Define and implement org-wide observability strategy
|
|
160
|
+
- Lead technical due diligence for acquisition
|
|
161
|
+
|
|
162
|
+
**Archetypes (different Staff eng paths):**
|
|
163
|
+
- **Tech Lead:** Leads critical team/initiative
|
|
164
|
+
- **Architect:** Designs org-wide systems and standards
|
|
165
|
+
- **Solver:** Tackles the hardest, most ambiguous problems
|
|
166
|
+
- **Right Hand:** Partners with eng leadership on technical strategy
|
|
167
|
+
|
|
168
|
+
**Promotion to L7:**
|
|
169
|
+
- 3-5+ years at L6
|
|
170
|
+
- Organization-wide impact and recognition
|
|
171
|
+
- Seen as THE expert in domain
|
|
172
|
+
- Ready for industry-level influence
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
### L7+: Principal / Distinguished Engineer (12+ years)
|
|
177
|
+
|
|
178
|
+
**Scope:** Drives technical vision for organization; industry expert
|
|
179
|
+
|
|
180
|
+
**Technical Skills:**
|
|
181
|
+
- Industry expert; recognized externally
|
|
182
|
+
- Designs systems at scale (thousands of services, millions of users)
|
|
183
|
+
- Creates new technologies or patterns adopted widely
|
|
184
|
+
- Thinks 3-5 years ahead strategically
|
|
185
|
+
|
|
186
|
+
**Impact:**
|
|
187
|
+
- Drives technical strategy for entire organization
|
|
188
|
+
- Defines the technical future of company
|
|
189
|
+
- Influences engineering culture and hiring bar
|
|
190
|
+
- Prevents major technical risks before they occur
|
|
191
|
+
- Represents company as technical authority
|
|
192
|
+
|
|
193
|
+
**Collaboration:**
|
|
194
|
+
- Mentors Staff+ engineers
|
|
195
|
+
- Advises C-suite on technical strategy
|
|
196
|
+
- Builds partnerships across industry
|
|
197
|
+
- Speaks at major conferences, publishes papers
|
|
198
|
+
- Open-source leadership or standards bodies
|
|
199
|
+
|
|
200
|
+
**Typical Projects:**
|
|
201
|
+
- Design next-generation platform architecture
|
|
202
|
+
- Lead company-wide technical transformation
|
|
203
|
+
- Define technical vision for 3-5 year roadmap
|
|
204
|
+
- Build industry partnerships and thought leadership
|
|
205
|
+
|
|
206
|
+
**Terminal level:** L7+ is terminal level for many engineers - continued growth through increasing impact, not levels
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
## Manager (M) Track
|
|
211
|
+
|
|
212
|
+
### M3: Engineering Manager (5-8 years total, 0-2 years managing)
|
|
213
|
+
|
|
214
|
+
**Scope:** Manages team of 5-8 engineers (typically L3-L5)
|
|
215
|
+
|
|
216
|
+
**People Management:**
|
|
217
|
+
- Conducts effective 1-on-1s and career conversations
|
|
218
|
+
- Provides clear, actionable feedback
|
|
219
|
+
- Handles performance issues proactively
|
|
220
|
+
- Recruits and hires for team
|
|
221
|
+
- Develops direct reports through coaching and stretch projects
|
|
222
|
+
|
|
223
|
+
**Delivery:**
|
|
224
|
+
- Owns team roadmap and quarterly planning
|
|
225
|
+
- Removes blockers and provides context
|
|
226
|
+
- Ensures team delivers predictably and sustainably
|
|
227
|
+
- Balances feature work with tech debt and operations
|
|
228
|
+
|
|
229
|
+
**Technical:**
|
|
230
|
+
- Understands team's technical domain deeply
|
|
231
|
+
- Can review designs and code effectively
|
|
232
|
+
- Makes informed technical trade-off decisions
|
|
233
|
+
- Stays current with team's tech stack
|
|
234
|
+
|
|
235
|
+
**Collaboration:**
|
|
236
|
+
- Partners with product, design, and other teams
|
|
237
|
+
- Represents team in planning and prioritization
|
|
238
|
+
- Builds relationships across org
|
|
239
|
+
- Communicates team progress and needs clearly
|
|
240
|
+
|
|
241
|
+
**Typical Responsibilities:**
|
|
242
|
+
- Manage 5-8 engineers
|
|
243
|
+
- Deliver team OKRs quarterly
|
|
244
|
+
- Hire 2-4 engineers per year
|
|
245
|
+
- Handle performance and growth conversations
|
|
246
|
+
- Participate in on-call escalations
|
|
247
|
+
|
|
248
|
+
**Promotion to M4:**
|
|
249
|
+
- 2-3 years at M3
|
|
250
|
+
- Strong delivery track record
|
|
251
|
+
- Team members growing and happy
|
|
252
|
+
- Ready for broader scope
|
|
253
|
+
|
|
254
|
+
---
|
|
255
|
+
|
|
256
|
+
### M4: Senior Engineering Manager (8-12 years total, 2-5 years managing)
|
|
257
|
+
|
|
258
|
+
**Scope:** Manages 8-12 engineers OR 2-3 teams
|
|
259
|
+
|
|
260
|
+
**People Management:**
|
|
261
|
+
- Develops other managers (if managing managers)
|
|
262
|
+
- Builds high-performing teams through intentional culture
|
|
263
|
+
- Handles complex people situations (performance, conflict, reorganizations)
|
|
264
|
+
- Strategic recruiting and hiring (building team for future needs)
|
|
265
|
+
- Creates career development programs for team
|
|
266
|
+
|
|
267
|
+
**Delivery:**
|
|
268
|
+
- Owns multi-quarter roadmaps across teams
|
|
269
|
+
- Coordinates across departments (product, design, infra, security)
|
|
270
|
+
- Balances short-term delivery with long-term investment
|
|
271
|
+
- Drives process improvements across teams
|
|
272
|
+
|
|
273
|
+
**Technical:**
|
|
274
|
+
- Sets technical direction for teams
|
|
275
|
+
- Reviews and approves major technical decisions
|
|
276
|
+
- Ensures technical quality and consistency
|
|
277
|
+
- Invests in technical debt strategically
|
|
278
|
+
|
|
279
|
+
**Collaboration:**
|
|
280
|
+
- Influences department-level strategy and planning
|
|
281
|
+
- Partners with senior leadership on priorities
|
|
282
|
+
- Mentors other managers in org
|
|
283
|
+
- Represents org in company forums
|
|
284
|
+
|
|
285
|
+
**Typical Responsibilities:**
|
|
286
|
+
- Manage 8-12 ICs or 2-3 managers
|
|
287
|
+
- Deliver department-level OKRs
|
|
288
|
+
- Hire and develop managers
|
|
289
|
+
- Set technical standards across teams
|
|
290
|
+
- Drive org-level initiatives
|
|
291
|
+
|
|
292
|
+
**Promotion to M5:**
|
|
293
|
+
- 3-5 years at M4
|
|
294
|
+
- Consistent delivery at scale
|
|
295
|
+
- Strong people development track record
|
|
296
|
+
- Ready for org-level leadership
|
|
297
|
+
|
|
298
|
+
---
|
|
299
|
+
|
|
300
|
+
### M5: Director of Engineering (12+ years total, 5+ years managing)
|
|
301
|
+
|
|
302
|
+
**Scope:** Manages 30-50 engineers across multiple teams
|
|
303
|
+
|
|
304
|
+
**People Management:**
|
|
305
|
+
- Builds manager bench through hiring and development
|
|
306
|
+
- Creates org-level culture and values
|
|
307
|
+
- Handles org-wide people programs (performance, promotions, compensation)
|
|
308
|
+
- Strategic talent planning (skill gaps, succession, diversity)
|
|
309
|
+
- Represents org in company-wide people initiatives
|
|
310
|
+
|
|
311
|
+
**Delivery:**
|
|
312
|
+
- Sets annual roadmap and OKRs for org
|
|
313
|
+
- Allocates resources across teams and priorities
|
|
314
|
+
- Drives cross-org initiatives and dependencies
|
|
315
|
+
- Ensures org delivers predictably at scale
|
|
316
|
+
|
|
317
|
+
**Technical:**
|
|
318
|
+
- Sets technical vision and strategy for org
|
|
319
|
+
- Reviews and approves major architectural decisions
|
|
320
|
+
- Invests in technical infrastructure and platforms
|
|
321
|
+
- Balances innovation with stability
|
|
322
|
+
|
|
323
|
+
**Collaboration:**
|
|
324
|
+
- Partners with VP and C-level on company strategy
|
|
325
|
+
- Represents engineering in executive forums
|
|
326
|
+
- Builds partnerships across departments
|
|
327
|
+
- Influences company-wide technical decisions
|
|
328
|
+
|
|
329
|
+
**Typical Responsibilities:**
|
|
330
|
+
- Manage 4-7 managers (30-50 total engineers)
|
|
331
|
+
- Set org vision and annual plans
|
|
332
|
+
- Budget ownership ($5M-$20M+)
|
|
333
|
+
- Recruiting strategy for org
|
|
334
|
+
- Represent org to company leadership
|
|
335
|
+
|
|
336
|
+
**Promotion to M6:**
|
|
337
|
+
- 3-5+ years at M5
|
|
338
|
+
- Significant org-level impact
|
|
339
|
+
- Strong leadership reputation
|
|
340
|
+
- Ready for VP or C-level role
|
|
341
|
+
|
|
342
|
+
---
|
|
343
|
+
|
|
344
|
+
### M6+: VP Engineering / CTO
|
|
345
|
+
|
|
346
|
+
**Scope:** Entire engineering organization (100-1000+ engineers)
|
|
347
|
+
|
|
348
|
+
**People Management:**
|
|
349
|
+
- Builds and leads engineering leadership team
|
|
350
|
+
- Shapes company-wide engineering culture
|
|
351
|
+
- Strategic talent acquisition and retention
|
|
352
|
+
- Represents engineering at board level
|
|
353
|
+
|
|
354
|
+
**Delivery:**
|
|
355
|
+
- Sets multi-year technical strategy for company
|
|
356
|
+
- Owns engineering productivity and efficiency
|
|
357
|
+
- Drives major company-wide technical initiatives
|
|
358
|
+
- Ensures engineering scales with company growth
|
|
359
|
+
|
|
360
|
+
**Technical:**
|
|
361
|
+
- Defines technical vision for company
|
|
362
|
+
- Makes build-vs-buy and technology bets
|
|
363
|
+
- Ensures engineering excellence and quality
|
|
364
|
+
- Represents company as technical authority
|
|
365
|
+
|
|
366
|
+
**Collaboration:**
|
|
367
|
+
- Member of executive leadership team
|
|
368
|
+
- Partners with CEO and board
|
|
369
|
+
- Builds external partnerships and reputation
|
|
370
|
+
- Influences industry and technical community
|
|
371
|
+
|
|
372
|
+
---
|
|
373
|
+
|
|
374
|
+
## Compensation Bands
|
|
375
|
+
|
|
376
|
+
**Note:** These are rough guideline ranges for mid-market tech companies. Adjust for company size, location, and market conditions.
|
|
377
|
+
|
|
378
|
+
### Individual Contributor
|
|
379
|
+
|
|
380
|
+
| Level | Title | Base Salary | Total Comp (with equity) |
|
|
381
|
+
|-------|-------|-------------|--------------------------|
|
|
382
|
+
| L3 | Junior Engineer | $100K-$130K | $110K-$150K |
|
|
383
|
+
| L4 | Engineer | $130K-$160K | $150K-$190K |
|
|
384
|
+
| L5 | Senior Engineer | $160K-$200K | $190K-$250K |
|
|
385
|
+
| L6 | Staff Engineer | $200K-$250K | $250K-$350K |
|
|
386
|
+
| L7 | Principal Engineer | $250K-$300K | $350K-$500K |
|
|
387
|
+
| L8 | Distinguished Engineer | $300K-$400K+ | $500K-$800K+ |
|
|
388
|
+
|
|
389
|
+
### Manager Track
|
|
390
|
+
|
|
391
|
+
| Level | Title | Base Salary | Total Comp (with equity) |
|
|
392
|
+
|-------|-------|-------------|--------------------------|
|
|
393
|
+
| M3 | Engineering Manager | $170K-$210K | $200K-$270K |
|
|
394
|
+
| M4 | Senior EM | $210K-$260K | $260K-$350K |
|
|
395
|
+
| M5 | Director | $250K-$320K | $320K-$450K |
|
|
396
|
+
| M6 | VP Engineering | $300K-$400K+ | $450K-$700K+ |
|
|
397
|
+
| M7 | SVP / CTO | $350K-$500K+ | $600K-$1M+ |
|
|
398
|
+
|
|
399
|
+
**Regional multipliers:**
|
|
400
|
+
- SF Bay Area: 1.2-1.3x
|
|
401
|
+
- NYC/Seattle: 1.1-1.2x
|
|
402
|
+
- Austin/Denver: 1.0-1.1x
|
|
403
|
+
- Remote (US): 0.9-1.0x (location-based)
|
|
404
|
+
|
|
405
|
+
---
|
|
406
|
+
|
|
407
|
+
## Promotion Criteria
|
|
408
|
+
|
|
409
|
+
### General Principles
|
|
410
|
+
|
|
411
|
+
**What promotion means:**
|
|
412
|
+
- Already operating at next level for 6+ months
|
|
413
|
+
- Consistent performance, not one-off projects
|
|
414
|
+
- Clear evidence of increased scope and impact
|
|
415
|
+
|
|
416
|
+
**What promotion is NOT:**
|
|
417
|
+
- Reward for tenure (time != promotion)
|
|
418
|
+
- Consolation for not getting other opportunities
|
|
419
|
+
- Response to external offer
|
|
420
|
+
- Given preemptively for "potential"
|
|
421
|
+
|
|
422
|
+
### Promotion Process
|
|
423
|
+
|
|
424
|
+
```
|
|
425
|
+
Typical promotion cycle:
|
|
426
|
+
|
|
427
|
+
1. Manager Assessment (Continuous)
|
|
428
|
+
├── Observes engineer operating at next level
|
|
429
|
+
├── Collects evidence over 6+ months
|
|
430
|
+
└── Discusses readiness with engineer
|
|
431
|
+
|
|
432
|
+
2. Promotion Packet (Quarterly)
|
|
433
|
+
├── Manager writes promotion packet
|
|
434
|
+
├── Evidence: Projects, impact, growth
|
|
435
|
+
├── Peer feedback (360 reviews)
|
|
436
|
+
└── Scope comparison to others at level
|
|
437
|
+
|
|
438
|
+
3. Calibration (Quarterly)
|
|
439
|
+
├── Managers meet to review all packets
|
|
440
|
+
├── Compare candidates across teams
|
|
441
|
+
├── Ensure consistent bar across org
|
|
442
|
+
└── Approve or defer promotions
|
|
443
|
+
|
|
444
|
+
4. Communication (After approval)
|
|
445
|
+
├── Manager shares decision with engineer
|
|
446
|
+
├── Celebration with team
|
|
447
|
+
├── Updated title and compensation
|
|
448
|
+
└── New expectations discussed
|
|
449
|
+
```
|
|
450
|
+
|
|
451
|
+
### Common Promotion Mistakes
|
|
452
|
+
|
|
453
|
+
**Promoting too early:**
|
|
454
|
+
- Engineer not yet consistently operating at level
|
|
455
|
+
- Based on potential rather than demonstrated performance
|
|
456
|
+
- Result: Engineer struggles, loses confidence
|
|
457
|
+
|
|
458
|
+
**Promoting too late:**
|
|
459
|
+
- Engineer operating at level for 12+ months
|
|
460
|
+
- Manager delays due to process friction
|
|
461
|
+
- Result: Engineer leaves for better opportunity
|
|
462
|
+
|
|
463
|
+
**Promoting for wrong reasons:**
|
|
464
|
+
- Retention play after external offer
|
|
465
|
+
- "Owed" after missing previous cycle
|
|
466
|
+
- Political pressure from other teams
|
|
467
|
+
|
|
468
|
+
**Right approach:**
|
|
469
|
+
- Promote when ready (6-12 months at level)
|
|
470
|
+
- Based on consistent performance and scope
|
|
471
|
+
- Transparent criteria and decision process
|
|
472
|
+
|
|
473
|
+
---
|
|
474
|
+
|
|
475
|
+
## Lateral Moves and Career Pivots
|
|
476
|
+
|
|
477
|
+
### IC → Manager Transition
|
|
478
|
+
|
|
479
|
+
**When to consider:**
|
|
480
|
+
- Strong interest in people and leadership
|
|
481
|
+
- Track record of mentorship and collaboration
|
|
482
|
+
- Willing to step back from hands-on technical work
|
|
483
|
+
- Comfortable with ambiguity and conflict
|
|
484
|
+
|
|
485
|
+
**Process:**
|
|
486
|
+
- Start with tech lead role (still IC)
|
|
487
|
+
- Manage 1-2 interns or junior engineers
|
|
488
|
+
- Transition to full-time manager (M3)
|
|
489
|
+
- First 6 months: probation period
|
|
490
|
+
|
|
491
|
+
**Important:** Manager track is NOT a "promotion" - it's a career change
|
|
492
|
+
|
|
493
|
+
### Manager → IC Transition
|
|
494
|
+
|
|
495
|
+
**Why engineers return to IC:**
|
|
496
|
+
- Miss hands-on technical work
|
|
497
|
+
- Prefer deep work over meetings and politics
|
|
498
|
+
- Stronger fit for technical leadership
|
|
499
|
+
- Want to be principal/staff engineer
|
|
500
|
+
|
|
501
|
+
**Process:**
|
|
502
|
+
- Transparent conversation with leadership
|
|
503
|
+
- Transition plan (handoff team, find coverage)
|
|
504
|
+
- Return at appropriate IC level (usually L5 or L6)
|
|
505
|
+
- No stigma or penalty
|
|
506
|
+
|
|
507
|
+
**Important:** This is a valid career move, not a demotion
|
|
508
|
+
|
|
509
|
+
---
|
|
510
|
+
|
|
511
|
+
## Skills Development for Each Level
|
|
512
|
+
|
|
513
|
+
### L3 → L4 (0-2 years)
|
|
514
|
+
**Focus:** Execution and learning
|
|
515
|
+
- Master 2-3 core technologies deeply
|
|
516
|
+
- Learn debugging and troubleshooting
|
|
517
|
+
- Write clear documentation
|
|
518
|
+
- Participate in code reviews
|
|
519
|
+
- Shadow on-call rotation
|
|
520
|
+
|
|
521
|
+
### L4 → L5 (2-5 years)
|
|
522
|
+
**Focus:** Ownership and quality
|
|
523
|
+
- Own projects end-to-end
|
|
524
|
+
- Design solutions independently
|
|
525
|
+
- Mentor junior engineers
|
|
526
|
+
- Lead incident response
|
|
527
|
+
- Contribute to architecture discussions
|
|
528
|
+
|
|
529
|
+
### L5 → L6 (5-8 years)
|
|
530
|
+
**Focus:** Technical leadership and strategy
|
|
531
|
+
- Lead multi-quarter initiatives
|
|
532
|
+
- Drive architecture decisions
|
|
533
|
+
- Mentor senior engineers
|
|
534
|
+
- Build consensus across teams
|
|
535
|
+
- Think strategically about technical debt
|
|
536
|
+
|
|
537
|
+
### L6 → L7 (8-12+ years)
|
|
538
|
+
**Focus:** Organizational impact
|
|
539
|
+
- Drive org-wide technical strategy
|
|
540
|
+
- Influence engineering culture
|
|
541
|
+
- Mentor staff engineers
|
|
542
|
+
- Represent company externally
|
|
543
|
+
- Solve highest-impact problems
|
|
544
|
+
|
|
545
|
+
---
|
|
546
|
+
|
|
547
|
+
## Career Conversations
|
|
548
|
+
|
|
549
|
+
### Quarterly Career 1-on-1
|
|
550
|
+
|
|
551
|
+
**Manager preparation:**
|
|
552
|
+
- Review engineer's goals from last quarter
|
|
553
|
+
- Collect feedback from peers and cross-functional partners
|
|
554
|
+
- Identify growth opportunities and gaps
|
|
555
|
+
- Prepare specific examples of performance
|
|
556
|
+
|
|
557
|
+
**Discussion structure:**
|
|
558
|
+
```
|
|
559
|
+
1. Reflection (15 min)
|
|
560
|
+
- "How do you feel about your growth this quarter?"
|
|
561
|
+
- "What are you most proud of?"
|
|
562
|
+
- "What was challenging?"
|
|
563
|
+
|
|
564
|
+
2. Feedback (15 min)
|
|
565
|
+
- Share specific examples of strengths
|
|
566
|
+
- Discuss areas for development
|
|
567
|
+
- Compare to expectations for level
|
|
568
|
+
|
|
569
|
+
3. Goals (20 min)
|
|
570
|
+
- Set 2-3 development goals for next quarter
|
|
571
|
+
- Identify projects or opportunities for growth
|
|
572
|
+
- Discuss longer-term career aspirations
|
|
573
|
+
|
|
574
|
+
4. Action plan (10 min)
|
|
575
|
+
- What support does engineer need from you?
|
|
576
|
+
- What skills to develop?
|
|
577
|
+
- Timeline for next promotion discussion
|
|
578
|
+
```
|
|
579
|
+
|
|
580
|
+
### Annual Promotion Discussion
|
|
581
|
+
|
|
582
|
+
**If promotion is possible:**
|
|
583
|
+
- "You're on track for promotion to L[X] in next 6-12 months"
|
|
584
|
+
- Specific gaps to close: [list 2-3 areas]
|
|
585
|
+
- Projects to demonstrate readiness: [suggest opportunities]
|
|
586
|
+
- Timeline: Target [specific promotion cycle]
|
|
587
|
+
|
|
588
|
+
**If promotion is not yet ready:**
|
|
589
|
+
- "You're performing well at L[X], but not yet ready for L[X+1]"
|
|
590
|
+
- Clear feedback on gaps (scope, impact, technical depth)
|
|
591
|
+
- Specific development plan to get there
|
|
592
|
+
- Revisit in 3-6 months
|
|
593
|
+
|
|
594
|
+
---
|
|
595
|
+
|
|
596
|
+
## Key Takeaways for Managers
|
|
597
|
+
|
|
598
|
+
1. **Make expectations clear** - Engineers should know what's expected at their level
|
|
599
|
+
2. **Promote for performance, not potential** - Wait until consistently operating at level
|
|
600
|
+
3. **Be transparent** - Regular career conversations prevent surprises
|
|
601
|
+
4. **Calibrate across teams** - Ensure consistent bar across org
|
|
602
|
+
5. **Support growth** - Provide opportunities and feedback to help engineers level up
|
|
603
|
+
6. **IC and Manager tracks are equal** - Neither is superior
|
|
604
|
+
7. **Career pivots are healthy** - Support lateral moves and transitions
|
|
605
|
+
8. **Document progress** - Keep notes for promotion packets
|
|
606
|
+
9. **Celebrate promotions** - Make it meaningful for engineer and team
|
|
607
|
+
10. **Long-term thinking** - Career development takes years, not quarters
|
|
608
|
+
|
|
609
|
+
Your job is to help every engineer reach their full potential, whether that's Staff IC or Engineering Manager.
|