Day 1: New Developer Onboarding

Status: Active
Last Updated: 2026-01-30
Category: Basics - Onboarding
Prerequisites: None (absolute beginner)
Time: 4-8 hours (Day 1), 1-2 weeks (complete basics)
Tags: onboarding, getting-started, beginner, checklist, tools, environment-setup

Summary

Your complete first-day guide to server management and infrastructure work. This orchestrates all basics articles into a progressive learning path, gets your tools installed, and provides the foundation for everything else in the knowledge base.

๐ŸŽฏ What You'll Accomplish Today

By the end of Day 1, you'll have:

๐Ÿš€ The Learning Philosophy

Zero to Productive:

Complete Beginner โ†’ CLI Comfortable โ†’ Infrastructure Ready
(Day 1)            (Week 1)          (Month 1)

This knowledge base assumes ZERO prior knowledge. Every concept builds on previous ones. You can't break anything by following along - that's what test environments are for!

๐Ÿ“‹ Day 1 Checklist

Morning: Environment Setup (2-3 hours)

1. Get Your Hardware Ready โฑ๏ธ 30 minutes

Local Development Machine:

Optional but Helpful:


2. Install Essential Tools โฑ๏ธ 1 hour

Terminal Emulator:

SSH Client:

Text Editor (Pick ONE to start):

Version Control:

Docker (Optional for Day 1, but you'll need it soon):


3. Get Server Access โฑ๏ธ 30 minutes

If you have a server:

If you're learning solo:

Generate SSH Key:

# Generate new SSH key pair
ssh-keygen -t ed25519 -C "your.email@example.com"

# Accept default location (~/.ssh/id_ed25519)
# Set a strong passphrase (recommended)

# Display your public key to send to admin
cat ~/.ssh/id_ed25519.pub

Test SSH Connection:

# Replace user and hostname with your info
ssh username@server-ip-or-hostname

# Example:
ssh john@192.168.1.100
# or
ssh john@dev-server.example.com

Afternoon: Linux Fundamentals (2-3 hours)

4. Master the Terminal โฑ๏ธ 2 hours

START HERE: Read linux-fundamentals

Key Concepts to Understand:

Practice Exercises (on your server):

# 1. Create a test directory
mkdir ~/learning
cd ~/learning

# 2. Create some test files
echo "Hello World" > test.txt
echo "Day 1 learning" > notes.txt

# 3. Check file permissions
ls -lh

# 4. Make a file executable
chmod +x test.txt

# 5. View system information
uname -a                    # System info
df -h                       # Disk usage
free -h                     # Memory usage
uptime                      # System uptime

# 6. Check running processes
ps aux | grep ssh           # Find SSH processes
top                         # Real-time process viewer (press q to quit)

# 7. View service status
systemctl status sshd       # SSH daemon status
journalctl -u sshd -n 20    # Last 20 SSH log entries

5. SSH Deep Dive โฑ๏ธ 1 hour

READ: ssh-basics

Key Concepts:

Practice: Create SSH Config:

# Edit your SSH config
nano ~/.ssh/config

# Add an entry (replace with your server details):
Host devserver
    HostName 192.168.1.100
    User your-username
    IdentityFile ~/.ssh/id_ed25519
    Port 22
    ServerAliveInterval 60

# Now you can connect with just:
ssh devserver

Advanced SSH Tasks:

# Copy files to server
scp local-file.txt devserver:~/remote-file.txt

# Copy directory recursively
scp -r local-directory/ devserver:~/remote-dir/

# Create SSH tunnel (forward local port 8080 to remote port 80)
ssh -L 8080:localhost:80 devserver

Evening: Command-Line Power Tools (1-2 hours)

6. Text Processing Essentials โฑ๏ธ 1-2 hours

READ: command-line-essentials

Key Tools to Learn:

Practice Exercises:

# 1. Search system logs
journalctl -u sshd | grep "Failed"              # Find failed SSH attempts
grep -r "TODO" ~/projects/                      # Find TODO comments in code

# 2. Extract specific fields with awk
ps aux | awk '{print $1, $11}'                  # Print user and command
cat /etc/passwd | awk -F: '{print $1, $3}'      # Print username and UID

# 3. Text replacement with sed
sed 's/old/new/g' file.txt                      # Replace in file (preview)
sed -i 's/old/new/g' file.txt                   # Replace in-place

# 4. Find files
find /var/log -name "*.log" -mtime -7           # Logs modified in last 7 days
find ~ -type f -size +100M                      # Files larger than 100MB

# 5. Combine tools with pipes
cat access.log | grep "404" | awk '{print $1}' | sort | uniq -c | sort -rn
# Translation: Find 404 errors, extract IPs, count occurrences, sort by frequency

7. Bash Scripting Basics โฑ๏ธ 30 minutes (skim for now)

SKIM: bash-scripting

Goal: Understand that bash scripts exist and you'll learn them soon.

Simple First Script:

#!/bin/bash
# Save as hello.sh

echo "Hello, $(whoami)!"
echo "Today is $(date)"
echo "You are on $(hostname)"

Make it executable and run:

chmod +x hello.sh
./hello.sh

Day 1 Takeaway: Scripts automate repetitive tasks. You'll dive deep into this later.


๐ŸŽ“ End-of-Day Review

You've Accomplished:

โœ… Development environment configured
โœ… SSH access working
โœ… Basic Linux CLI navigation
โœ… Text processing fundamentals
โœ… Understanding of system basics

Skills Acquired:

Confidence Check:

Can you do these without looking them up?

If YES: Congratulations! You're ready for Week 1 content!
If NO: That's okay! Review the sections where you're uncertain.


๐Ÿ—“๏ธ Week 1: Continuing Your Journey

Day 2: Git Fundamentals โฑ๏ธ 4-6 hours

READ: git-fundamentals

Key Concepts:

Goal: Clone a repository, make changes, commit, push.


Day 3: Text Editors โฑ๏ธ 2-3 hours

READ: text-editors

Choose Your Path:

Goal: Edit files comfortably in your chosen editor.


Day 4: Package Managers โฑ๏ธ 2-3 hours

READ: package-managers

Key Systems:

Goal: Install, update, remove packages confidently.


Day 5: Deep Dive - Bash Scripting โฑ๏ธ 6-8 hours

READ: bash-scripting (in-depth)

Key Skills:

Goal: Write your first automation script.


๐Ÿงญ After Week 1: Where to Go Next

Path 1: Container Orchestration ๐Ÿณ

Goal: Run Docker containers, deploy to k0s

Learning Path:

  1. kb/containers/README - Start here
  2. Docker basics โ†’ docker-compose โ†’ k0s
  3. Time: 2-4 weeks
  4. Outcome: Deploy containerized applications

Path 2: Infrastructure as Code ๐Ÿ—๏ธ

Goal: Automate server provisioning

Learning Path:

  1. kb/infrastructure/README - Start here
  2. Manual โ†’ Bash scripts โ†’ Ansible โ†’ Terraform
  3. Time: 3-6 weeks
  4. Outcome: Provision infrastructure from code

Path 3: CI/CD Pipelines ๐Ÿ”„

Goal: Automate build and deployment

Learning Path:

  1. kb/cicd/README - Start here
  2. Git โ†’ Forgejo โ†’ Woodpecker CI โ†’ GitOps
  3. Time: 2-4 weeks
  4. Outcome: Automated deployment pipelines

Path 4: Security Hardening ๐Ÿ”’

Goal: Secure your infrastructure

Learning Path:

  1. kb/security/README - Start here
  2. Passwords โ†’ Firewalls โ†’ VPN โ†’ Secrets โ†’ Zero Trust
  3. Time: 3-6 weeks
  4. Outcome: Production-grade security

Path 5: Monitoring & Observability ๐Ÿ“Š

Goal: See everything happening in your systems

Learning Path:

  1. kb/observability/README - Start here
  2. Uptime checks โ†’ Prometheus/Grafana โ†’ Loki โ†’ Alerting
  3. Time: 2-4 weeks
  4. Outcome: Complete observability stack

๐Ÿ› ๏ธ Essential Bookmarks

Quick Reference:

Documentation:

Community:


๐Ÿ’ก Learning Tips

Learning Strategies:

  1. Hands-On Practice: Reading isn't enough - type commands, break things, fix them
  2. Document as You Learn: Keep notes, you'll forget details
  3. Ask Questions: No question is stupid in infrastructure
  4. Start Simple: Don't jump to Kubernetes on day 2
  5. Iterate: Manual first, automate later
  6. Test in Dev: Never test in production first

When You're Stuck:

  1. Read the Error Message: It usually tells you what's wrong
  2. Google the Error: Someone has seen it before
  3. Check Logs: journalctl, docker logs, application logs
  4. Ask for Help: Team chat, forums, Reddit
  5. Take a Break: Fresh eyes solve problems faster

Common Beginner Mistakes:


๐Ÿ“Š Your Learning Progress Tracker

Basics (Week 1)

Intermediate (Weeks 2-8)

Advanced (Months 2-6)


๐ŸŽฏ 30-60-90 Day Goals

30 Days:

60 Days:

90 Days:


๐Ÿš€ Welcome to Infrastructure!

You're at the beginning of an exciting journey. Infrastructure engineering combines system administration, software development, and problem-solving. It's challenging but incredibly rewarding.

Remember:

You've got this! ๐Ÿ’ช

Now go complete your Day 1 checklist, and I'll see you in Week 1!


๐Ÿ“ Change Log

2026-01-30


๐ŸŽ“ Next Article: git-fundamentals - Version control for beginners

Choose Theme

Your selection is saved locally.

Neural Cacophony
Aperture v2
Flux v1
Mosaic Chaos
Nexus v1
Nexus Zest
Prism v2
Synapse