Select your current position
Pick a role and level — we'll show the growth path, skills and gap analysis.
Development path
Junior
0-2 years
Responsibility: Completing tasks under the guidance of senior colleagues. Learning the codebase, standards, and team processes. Writing code to spec, fixing simple bugs, writing tests.
Key skills:
Middle
2-5 years
Responsibility: Independently developing features from decomposition to deployment. Participating in code review. Optimizing performance. Mentoring junior developers. Taking part in architecture discussions.
Key skills:
Senior
5-8 years
Responsibility: Designing the architecture of components and services. Solving complex technical problems. Managing technical debt. Code review as a quality gatekeeper. Mentoring middle developers. Choosing technologies for new tasks.
Key skills:
Lead / Staff
7-12 years
Responsibility: Technical leadership of a team or area. Designing system architecture. Coordinating with other teams. Establishing standards and best practices. Participating in hiring. Planning the technical roadmap.
Key skills:
Principal
10+ years
Responsibility: Technical strategy at the company or domain level. Cross-organizational influence. Solving systemic business problems through technology. Mentoring lead engineers. Publicly representing the company.
Key skills:
Gap analysis: skills to develop
To reach the next level you'll need to develop:
Configures BGP peering sessions and OSPF areas in enterprise networks. Implements route filtering, community tagging and route policy. Troubleshoots routing problems with tcpdump and BGP looking glass.
Configures authoritative DNS servers (BIND, PowerDNS). Implements split-horizon DNS. Diagnoses DNS problems and understands TTL, negative caching.
Designs firewall rule sets for enterprise networks. Configures next-gen firewalls (Palo Alto, Fortinet) and WAF (Cloudflare/AWS WAF). Implements microsegmentation.
Automates network tasks with Ansible network modules. Uses NAPALM for multi-vendor management. Writes Python scripts for network data collection.
Designs PostgreSQL schemas for storing network inventory and configurations. Uses inet/cidr data types, creates indexes for fast search by IP ranges and subnets.
Creates structured prompts for generating complex network configurations — BGP policies, QoS profiles, security rules. Iteratively refines results considering equipment context.
Uses Redis for caching network data — SNMP polling results, device configurations, ACL lists. Configures TTL and eviction policies for network scenarios.
Analyzes and optimizes TCP performance: MTU tuning, window scaling, Nagle algorithm, TCP BBR congestion control. Troubleshoots network latency with tcpdump and network analysis tools.
Confidently applies VPN and network isolation for network engineering in non-standard tasks. Independently selects the optimal approach and tools. Analyzes trade-offs and proposes improvements to existing solutions.
Applies algorithmic complexity knowledge to optimize network tasks — shortest path finding (Dijkstra), load balancing. Evaluates the impact of algorithms on packet processing latency.
Implements async scenarios for mass network equipment management — parallel configuration collection, simultaneous updates of hundreds of devices. Manages concurrency through semaphores.
Confidently applies load balancing for network engineering in non-standard tasks. Independently selects the optimal approach and tools. Analyzes trade-offs and proposes improvements to existing solutions.
Applies clean code principles to network scripts and automation modules. Refactors legacy scripts, introduces typing and documentation in infrastructure management tools.
Uses multithreading to accelerate network operations — parallel port scanning, simultaneous data collection from multiple devices. Correctly handles race conditions.
Configures enterprise networks: VLAN/VxLAN, STP/RSTP, LACP aggregation, QoS policy. Understands routing protocols at a practical level. Documents network topology.
Applies Strategy, Adapter, Template Method patterns for working with heterogeneous network equipment. Uses Chain of Responsibility for processing network events and alerts.
Confidently applies network security for network engineering in non-standard tasks. Independently selects the optimal approach and tools. Analyzes trade-offs and proposes improvements to existing solutions.
Confidently uses trees, graphs and priority queues for modeling network topologies and routing algorithms. Optimizes data structures for specific packet processing scenarios.