Back to Blog
3 min read

New Year's Eve 2025: Setting Technical Goals That Actually Work

As 2025 ends, it’s time to set technical goals for 2026. Here’s a framework for goals that you’ll actually achieve, based on what worked (and didn’t) this year.

The SMART-ER Framework for Tech Goals

Specific + Measurable

# Bad goal
goal = "Learn more about AI"

# Good goal
goal = {
    "objective": "Build production AI applications",
    "metrics": [
        "Complete 3 AI projects deployed to production",
        "Obtain Azure AI Engineer certification",
        "Write 6 blog posts about AI implementation"
    ],
    "deadline": "2026-12-31"
}

Achievable + Relevant

Consider your current level and career direction:

def evaluate_goal_fit(goal: dict, context: dict) -> dict:
    """Evaluate if a goal fits your context."""

    fit_score = 0

    # Career alignment
    if goal["skill_area"] in context["career_path_skills"]:
        fit_score += 30

    # Time availability
    hours_needed = goal["estimated_hours"]
    hours_available = context["weekly_learning_hours"] * 52
    if hours_needed <= hours_available:
        fit_score += 30

    # Foundation check
    if all(prereq in context["current_skills"] for prereq in goal["prerequisites"]):
        fit_score += 40

    return {
        "goal": goal["name"],
        "fit_score": fit_score,
        "recommendation": "Proceed" if fit_score >= 70 else "Reconsider"
    }

Time-bound + Evaluated Regularly

Break annual goals into quarters:

class TechnicalGoalTracker:
    def __init__(self, annual_goal: str):
        self.annual_goal = annual_goal
        self.quarterly_milestones = []
        self.monthly_checkpoints = []
        self.progress = []

    def define_milestones(self):
        """Break down into quarterly milestones."""
        return {
            "Q1": "Foundation: Complete courses, setup environment",
            "Q2": "Practice: Build 1 project, contribute to open source",
            "Q3": "Apply: Build production project at work",
            "Q4": "Share: Write about learnings, mentor others"
        }

    def monthly_review(self, month: int) -> dict:
        """Monthly progress check."""
        return {
            "month": month,
            "progress_percentage": self.calculate_progress(),
            "blockers": self.identify_blockers(),
            "adjustments_needed": self.suggest_adjustments()
        }

My 2026 Technical Goals

Goal 1: Master AI Agents in Production

Q1: Deep dive into Semantic Kernel and AutoGen
Q2: Build and deploy 2 agent-based systems
Q3: Optimize for production (cost, latency, reliability)
Q4: Document patterns and share learnings

Goal 2: Improve System Design Skills

Q1: Read "Designing Data-Intensive Applications" (again)
Q2: Practice with system design interviews
Q3: Lead architecture reviews at work
Q4: Mentor junior engineers on design

Goal 3: Contribute More to Open Source

Metric: 50 meaningful contributions
Approach: 1 PR per week to projects I use
Focus: Documentation, bug fixes, small features

Anti-Patterns to Avoid

# Goals that fail
failing_patterns = [
    "Learn everything about X",           # Too vague
    "Become an expert in 6 months",       # Unrealistic
    "Learn 5 new languages",              # Too scattered
    "Build a startup on the side",        # Requires more than learning
    "Read 50 technical books",            # Quantity over quality
]

# Goals that succeed
successful_patterns = [
    "Build one project with X technology",
    "Obtain Y certification by Q2",
    "Contribute to one open source project monthly",
    "Write one technical blog post monthly",
    "Complete one online course per quarter"
]

Tracking Template

# 2026 Technical Goals

## Goal 1: [Name]
- **Why:** [Career/interest reason]
- **Success metric:** [Specific, measurable outcome]
- **Q1 milestone:** [Specific deliverable]
- **Q2 milestone:** [Specific deliverable]
- **Q3 milestone:** [Specific deliverable]
- **Q4 milestone:** [Specific deliverable]

### Monthly Log
- January: [Progress notes]
- February: [Progress notes]
...

Final Thoughts

The best technical goals are:

  1. Connected to your career - Not just interesting, but useful
  2. Broken into small chunks - Monthly progress is motivating
  3. Publicly committed - Share with your team or community
  4. Flexible - Adjust as you learn and circumstances change

Happy New Year! May 2026 bring growth, interesting challenges, and successful deployments.

def new_year_wish():
    return {
        "code": "clean and maintainable",
        "deployments": "green and smooth",
        "learning": "continuous and joyful",
        "career": "fulfilling and growing"
    }

print(new_year_wish())
Michael John Peña

Michael John Peña

Senior Data Engineer based in Sydney. Writing about data, cloud, and technology.