A: 

Getting a good job as a junior developer with no degree (currently working at that).

Ed Swangren
+2  A: 

Getting out of civil engineering (FORTRAN, mainframes, JCL, ISAM) and into GIS (C, Unix and VMS, shell scripts, SQL) in 1987.

Paul Tomblin
+2  A: 

Mine was getting my first coding summer-job. 2 months learning .net and some serious concepts for real world applications.

Uni taught me a lot but nowhere near as much as I learned in those 60-odd days.

Oli
+3  A: 

I gave up a good-paying job in electronics engineering to take a programming internship. This was risky, but it paid off in salary increase inside of two years.

Bill the Lizard
I got that feeling too as I graduated that the career opportunities for electronics engineers who weren't mathematical savants weren't good compared to those available to good software engineer.
Spence
+1  A: 

Becoming a contractor and working for many different companies over a few short years. It increases your breadth of knowledge very quicky by seeing so many examples of different software projects and development setups.

Phil Wright
+7  A: 

Getting 15 points on SO so I could vote.

Steve Fallows
+1  A: 

The first 3 years out of college were the years my "Career Calculus" was doing the best. During that time, it wasn't a milestone I could recognize. Several years later, it's obvious.

JR Lawhorne
+1  A: 

My Masters certainly gave me a better head for design and best practice, though I'm not sure it directly gave me any kind of career advantage in terms of position or salary. The biggest impact since then was from the mentors I had having the strength of mind to tell me to go do it myself. I think that sometimes we're too eager to help others when we should really let them figure it out for themselves - this certainly helped me.

Jeff Yates
A: 

Getting a programming job while in high school. This taught me a few things:

  • Yes, I did indeed enjoy programming as a job (as well as a hobby), and therefore a CS degree was a good idea
  • I could do well at programming, and my programming skills were my way of making a difference
David
+1  A: 

Learning that a job = a skill + a domain.

This is applicable to all careers, not just programming. But when you're down in the dumps about programming some horrible widget, just remember that you can change widgets... you don't have to change your programming career.

David
I've worked in financial, aviation, and grid computing and it's always exciting to learn an entirely new field without really changing what you're doing.
tloach
+5  A: 

When I realised that several thousand people would actually be using my code every day.

Dan
+12  A: 

None of that. :)

For me, it was joining an open source project. It allowed me to work with top-notch programmers and learn a lot about software development process, system design and architecture, UI considerations, etc. without having any pressure. All this was a pleasant experience, because even people who are much more skilled than you, still treat you nice and try to help you improve yourself, without seeing you as a competition.

Milan Babuškov
Accepted to get rid of the reminder, and because it has the most votes (besides the tongue-in-cheeck answer about SO reputation. :)
Adam Bellaire
A: 

As a tester I wrote a set of libraries that all the developers would use to write software that created test cases, It was released NY, London, Hong Kong and Tokyo. There was something ironically gratifying in that whole process.

Brian G
+1  A: 

Learning design patterns and realizing how I had been using them for years, I just didn't know what they were called.

JB King
+2  A: 

Co-oping while in college. The degree itself was useful, but mostly because so many employers require one. But co-oping (cooperative education, a paid intership) was what really mattered to me. It made me stand out from all the other just-graduated students, and it made my college experience much more productive as I had actual programming experience.

So many students think homework assignments prepare you for real programming. And they are so wrong.

jonathan-stafford
+1  A: 

Two things have been the most important milestones in my programming career:

  1. Having another programmer to look up to in my early days. Not only was this someone that I could bounce questions off of, but it was also someone that I looked up to.

  2. When I started getting burnt out, finding a community of like minded people and new technologies to get me inspired again. This is also the same time that I decided to change jobs, do something different with programming instead of the same old stuff I'd been doing for years.

Jeff Schumacher
+2  A: 

Started with test driven design! TDD really forces you to think about architecture and improve on basic developer skills like object orientation.

Dala
+2  A: 
#include<stdio.h>
main()
{
    printf("Hello World");
}

Definitely my most important milestone in my programming career.

Alan FL
A: 

One is :Get to know I should learn C++ and STL solid first, then to learn MFC, but not MFC firstly :( Another is: get to know the test sense. No test, Garbage.

Huan
A: 

First job working at a startup. Gives you an appreciation for the real urgency behind software delivery. You dogfood a lot and have to learn quickly. But when you have done that and you get to look back at the structure of teams in larger projects you can see why things happen the way they do.

My career hasn't been very long yet, so I'd say the most important thing to happen so far.

Spence