13 accepted

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.

9

Getting 15 points on SO so I could vote.

9

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

4

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.

4

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

3

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.

3
#include<stdio.h>
main()
{
    printf("Hello World");
}

Definitely my most important milestone in my programming career.

2

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

2

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.

2

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.

2

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

1

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

1

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.

1

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.

1

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.

1

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.

1

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.

0

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
0

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.

0

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.

0

Honestly, convincing my parents to purchase a PC in 1997. I was 16 and our family income teetered on the the poverty/middle class line. We had a good year for our tax return and some how (after years of begging) I managed to convince my parents that a 133Mhz, 32Mb RAM IBM PC was a "steal" at $1300.

My sales pitch worked and I began tinkering with hardware, tweaking software and attempting to wrote code in QBASIC!

If buying a PC doesn't count, my next option has to be firing up QBASIC (which was the only software dev tool I had at the time) for the first time with intrigue and bewilderment of the code for Nibbles has to be the most important moment of my software engineering existence. I was so lost at how it all worked... I had to figure it out so I could write my own games.

It is also worth mentioning that although I did get a degree in this field, I feel like my course work was mostly useless (but I think it's because of the institution I attended). The work was to easy, so I had to make every project more robust than was required by my professors. So, for me, my formal education was not a milestone but a significant waste of money since I have essentially taught myself just about everything that I know.