views:

340

answers:

9

I did my first paid programming job with 16 while I was in school. The application, a special CAD editor, is still in productive use after nearly 14 years and many enhancements. After that I always did some paid programming work besides school and university, just to get practice and money of course. Now I work nearly five years as a software engineer in a fulltime job.

So what do you count as programming expirence? All 14 years? According to Joel, only the five years in my fulltime job will be counted. Although I think I have more experience than someone that started creating software for productive use after she got her degree.

A: 

Personally, I think that it's fair to say that you have worked as long as you had a job. So for instance if you worked one year when you were 16, but then you didn't work for three years, you haven't had four years of professional programming experience, but only one.

But that's just me.

Deniz Dogan
A: 

I would personally count that as more than five years of experience. On the other hand, I would probably not count it as 14 years, given that more than half of those years, paid software development was not on full time. Perhaps it would be fair to count 1/4 of the first years (which would then give ~7 years of experience), given that you did this as a side job without long breaks from it during those years.

Fredrik Mörk
+1  A: 

When someone other than you uses your software and depends on it in some way. You officially started programming. Anything before that has only measurable worth is to you.

IMHO, When someone else (your mum doesn't count) finds value in your software.

Edit, I was intending this to be a rough guide for the point in which the distinction between personal and C.V. applicable experience can be made. The programs I wrote when I was 11 were great personally ... But I would not put them on the C.V. years. I'm not trying to say, if only you use your software it is worthless or a hack ... just that the point in which others use your software can be an indication of where a good place to start your C.V. years are.

So when does official experience start? For me it was when other people used my code, and I was experienced enough to know they were using quality code that I could be proud of.

Aiden Bell
So if someone writes a complete working operating system from scratch, but they happen to be the only one to use it, that's either a script or a hack? But if they did exactly the same thing and someone else used it, that would be programming? That doesn't sound like a useful distinction. (In particular, I can think of plenty of "scripts" and "hacks" which *have* been used by other people.) Programming is programming, whether it's paid and/or used by other people or not. Whether you call it *professional* programming is a different matter.
Jon Skeet
If the code is a hack or not, doesn't matter. If someone has not objectively used your code then the distinction can't be objectively made between good/bad. I have tons of good code, but it is code only I could love. Validation is through use outside my requirements. I would only count my experience from when others used my code ... was my point.
Aiden Bell
If you learned while you wrote the code, that experience is valuable. It *does* matter whether it's a hack or not when you've explicitly claimed that it's "scripts and hacks" - if it's not a script and it's not a hack, your claim is obviously false. From the point of view of an employer: even if someone else *did* use and rely on your software, unless you can canvas their opinion of that software, the distinction between it being good or bad is beyond your knowledge... so what's the difference? I could write rubbish software that someone else uses, or great software that only I use.
Jon Skeet
Point accepted, and I agree with what you say ... but having trouble communicating exactly what *I* mean. Although I would count the programming I did when I was 11 as personal experience ... I don't think it counts on the C.V. I would personally estimate the point in which it does count on the C.V as the point it was used by other people. Not trying to be cut-and-dry ... just a guide.
Aiden Bell
I would include it on my CV if I were particularly proud of it (and willing to demonstrate it, show the code etc). What I mostly objected to in your answer was the claim that anything not used by others is necessarily "scripts and hacks" - that implies a correlation between quality of code and whether it's used by others or not, and I don't believe that correlation is correct.
Jon Skeet
My poor communication ... basically just that point when your experience can produce code that "willing to demonstrate it, show the code etc" then anything past that seems more valid to put on the CV
Aiden Bell
On a personal level, when my code got used by other people was when I gained enough experience to be confident that the software was of a quality I can be proud of (and let others use). This put a notch on my learning curve that seems significant.
Aiden Bell
+11  A: 

Personally, I don't think the number matters - I'm not sure I'd even include it on a resume. Instead, list what you did and when. I've never found "15 years professional experience" or similar to be a useful judge of anything (except possibly salary expectations) when recruiting.

If you're worried about whether it's reasonable to apply for jobs requiring X years of experience, I would just go for it. If you're good and the company's smart, they'll be more interested in the rest of your CV than just a number.

(By the way, I'd call any programming "programming". I've been programming since I was eight, but I've only been programming professionally since I was about 19. It would be pretty silly to say that the various things I did before then weren't "programming" just because they weren't paid gigs.)

Jon Skeet
+1 for "just go for it", although I don't often vote up a critic ;)
Aiden Bell
+6  A: 

Your programming experience definitely starts when you started playing around with programming. I've been programming since I was 12, but I haven't got my degree yet, and I've never sold a software solution (although I have built a couple of scripts and stuff that are still used at my last job...). That means I've been programming and building stuff for ten years - it would be ridiculous to say I had no experience at all.

However, I don't have any professional programming experience. That is a completely different thing, which is just as important when applying for jobs - it will tell the employer whether I have any previous experience of working in teams, source control, working against a tight deadline with a tight budget etc.

Remember that there's more to professional programming than just writing code.

Tomas Lycken
A: 

To an employer who is sifting through a hundred resumes/CVs, they're probably going to use a blunt instrument like "must have undergraduate degree, plus five years commercial experience after that".

Speaking for myself, I learned most of what I know about gathering requirements from a customer when I was about 14 and wrote a bit of software for a local school to use at the finishing line of a "fun run" (race for charity). It became clear gradually that the teacher I was working with either didn't know what he wanted the software to do, or was struggling to describe it clearly. At the time I thought it was probably an unusual situation...

Daniel Earwicker
Coincidentally, I did pretty much exactly the same thing - my GCSE computer science project was the Worcester Half Marathon system for both registration and results. (I think I did it for fun the year before my GCSEs as well - not sure.) Fortunately my teacher was a bit more savvy, although he rarely got involved. It was amusing to occasionally be called out of class to go to the office to help with a support incident though :)
Jon Skeet
LOL! That's incredible. Mine was basically a flat file database storing the runner's details as they signed up, and then on the race day there was a screen "ergonmised" for rapid entry of three digit runner numbers, so automatically recording the start/end times. NB. I don't mean to suggest that the teacher in this case was especially unhelpful. He was better than some customers I've had since!As an additional feather to my cap, I also drew the cartoon for the cover of the race leaflet. :)
Daniel Earwicker
A: 

Official usually means professional, which usually means "getting paid for it".

Of course smart companies will realize what you are worth without having to put numbers like 4.5 years of experience, but

  • Not many companies are smart (and even smart companies have usually dumb HR departments)
  • Most companies do use dumb metrics to sift through resumes

That said, I'd mention relevant non-professional experience by showing results or describing events, alongside the years of professional experience metric.

Vinko Vrsalovic
+1  A: 

I usually divide it into two terms - programming experience and work experience. I state both on my resume. See no point in silencing you non-work programming experience. Depending on the shop you worked for of course it could well be that you spent a few years there and learn nothing of value (good when not degraded at all) and that you worked on some hobby project for a year and learned a great deal.

That Joel's article is nonsense. Why would he state that nothing you did at school count but for PhD you get 1 year? In many cases PhD work is just reading/writing abstract papers an doing the fine art of asskissing in the university chambers.

State you real programming experience as well and don't even thing to be shy of it.

User
A: 

Only the years during which we are in any real-time project are counted. To say we are experienced, we should have a good profile and the resume showing "real-time" projects, not college or self-learning initiatives.

But personally I won't agree to this. A knowledgable person will be who has done self-initiated learning, not the one who was in real-time project. But the good guys, we are unlucky as of now, for those looking for a fulltime job and money.... :) But the situation can change in a later time...

Ramesh