Fog Creek Software
Discussion Board




How much experience do you need?

I am boosting this thought of another post.

How much experience do you need? If a programmer is going to be learning new technologies every year to remain update, then he has to be pretty switched on, and he has to be able to learn new things quickly.

Does a guy who has accumulate five years of experience across ten different languages/technologies over five years have less experience in a given language then someone who has spent five years writing nothing but C++?

So when the employer require 2 years J2ee, or 5 years C++ experience, is there a limit at which we should be saying 'hey you passed the course you qualify...?"

Asking for experience in a combination of different technologies is different to an accounting firm advertising for an accountant with 5 years experience. An account with five years experience is just an accountant who has been working for five years. But programming-type employers don't ask

Aussie Chick
Wednesday, April 14, 2004

Aussie Chick,

What do you WANT?

I suspect you might have the skills (or at least aptitude, desire and ability to gain skills) to run your own company.

If you're smart and (more importantly) willing to learn and do what it takes, why not start your own company?

Then the outsourcing trend becomes your friend (through lower programming costs) rather then your enemy.

Then, you also get off the tech treadmill.  My software company has been growing steadily for 9 years (except for one year due to the sluggish economy).  I did that all in VB 3.  The BUSINESS side is much more important than the technology.  Being creative is much more important than knowing 3 computer languages.

But.. it's all a matter of what you want.  If you work hard you can be an ace technologist or possibly own your own company.

I like to be in charge, so easy answer for me.

Mr. Analogy
Wednesday, April 14, 2004

Yes what I want is to have my own company.

But this is not a ‘how do I get a job’ question. I am not moaning or whinging about any inability to gain employment, just wanting to know what others think about the way we value experience. I was reading another post that mentioned experience, and this made me wonder about the way we measure ‘experience’. How long does it really take to gain competency? Is it really important? Etc

Aussie Chick
Wednesday, April 14, 2004

I don't have a good answer for your question, but I do know this: the truly experienced techie knows that there's nothing really new in this industry. They've seen it all before, and more importantly, remember the lessons learned the last time this stuff went around.

Chris Tavares
Wednesday, April 14, 2004

I've thought much about this, having just missed out a couple possibilities for lack of experience, and I guess you could put it like this: All experience means is whether you've done something before or not.  If I've done X in VB .NET before, then I can easily do it again.  If I haven't done X, then I can easily learn how...but I may have to read in the Help files, look up articles online, experiment, etc. in order to do X.

What companies want is

(a) for someone else to have paid me to spend the time learning how to do X so that I can come work for them and just do it.  But of course no one wants to be the someone else...

or

(b) for me to have learned how to do X on my own time.  But then how do I prove my knowledge?  The only way I can see at this point is through certifications, which, ergo, I'm working on.

Kyralessa
Wednesday, April 14, 2004

You can prove your knowledge of a technology you learned outside of work by working on an open source project. Having contributed to, or better yet managed, an open source project is a big plus for me when I look at resumes.

Sam Thomas
Wednesday, April 14, 2004

Most jobs require software development expertise first, which can be obtained in any language. The actual language that a project is using is generally a relatively small part of the expertise required.

Ideally, firms would be looking for various grades of software developer, and then would probably also like capability in the desired environment.

Such a requirement would be stated, for example: "Five years development experience plus would like you to be able to use Java." instead of "Five years java."

.
Wednesday, April 14, 2004

Where is this ideal world you speak of, and how can I get there?  Perhaps there my job chances would be better.  *sigh*

Kyralessa
Thursday, April 15, 2004

I think the main problem is the lack of acceptade grades of knowledge in a language. We are currently hiring some Python developers. We want really top level python skills.

We can't ask for a PhD in python, or must have grade 7 python certificate.

We could say must be python expert - but then we just get huge egos.

We could say must have contributed to python core development or have own project on sourceforge - but then we rule out people who have been doing internal company work on python.

So the easiest is to ask for X years python experience.

Martin Beckett
Thursday, April 15, 2004

"Having contributed to, or better yet managed, an open source project is a big plus for me when I look at resumes."

Oh yes. It shows you have the stamina to sit through several years of "which licence will we use" debates. Fine testing grounds for the public service or politics, but for developers?

Just me (Sir to you)
Thursday, April 15, 2004

> So the easiest is to ask for X years python experience.

One night you drop your keys on a dark street.  Do you start by looking under the streetlights, even though you're pretty sure that's NOT where you dropped your keys, just because that's where its EASIEST?

Finding qualified people is hard, no matter how you slice it.  The only way to find real experts is to test them.  (I wrote a blog on that -- http://blogs.msdn.com/ericlippert/archive/2003/12/01/53412.aspx )

To actually answer the original question -- I care about potential a lot more than experience, and general skills a lot more than specific skills when I'm interviewing people for full-time jobs.  (Interviewing contractors, just the opposite.)  Full-timers are going to have the time to come up to speed on a variety of different technologies; they are in it for the long haul and therefore must learn new technologies easily as their jobs evolve. 

I care about "five years of blah" not a whit.  Believe me, working on something for five years is no guarantee that you know what the heck you're talking about.

Eric Lippert
Thursday, April 15, 2004

> One night you drop your keys on a dark street.  Do you start
> by looking under the streetlights, even though you're pretty
> sure that's NOT where you dropped your keys, just because
> that's where its EASIEST?

Of course.  Think how silly I'd feel if I spent an hour looking for them in the dark, and they turned out to be in plain view all along!

Michael Eisenberg
Thursday, April 15, 2004

Personally I am more interested in candidate's aptitude, energy and the projects that they have done as opposed to the >n< number of years of solid experience in so and so technology.

Cirteria and metrics for hiring a short term consultant is very different from hiring an employee.

Farid
Thursday, April 15, 2004

On a related side note -- I'm reading resumes right now for a summer intern position, i.e. a junior person, possibly still a student or recent grad.  I'm very sure that when these people list "Java, C/C++, Perl" under "Languages" or "Skills", they don't actually mean the same thing I do when I say I "know" a language.  Or if they think they mean the same thing, they are mistaken.

In this case, it's easy to tell -- they are still students.  Much harder to tell when someone has x years of professional experience in Java -- do they really know Java, or have they been writing boilerplate code with the same small subset of the language all that time?

One thing I really, really like in resumes is when people divide their skills section something like "Expert in Java, Proficient with C, Familiar with Perl, can read Python".  This tells me that the person understands there are different levels of knowing and using a language.  Maybe they still don't mean the same thing I do when they say "expert", but at least they recognize different grades of expertise.  It makes me trust their self-evaluation a lot more.

Biotech coder
Thursday, April 15, 2004

Just can't miss the chance to state the obvious, heck, even Bill Gates was said to have said in the moving fuji book. If you are going to hire a programmer, read his code. If the programmer has no code for you to read .... I'd find it kind of hard to believe, personally I write my own stuff all the time and when I learn a new language I write in it and it shows. And if you can't read code then ask find someone you trust who can to.  Just to avoid an off topic post, the experience factor will show when reading someone's code. Have they repeated their knowledge X times or can you see a strong grasp of the language. It's a lot like a spoken language, you can discern those who know it from those who don't, yet, how much is necessary to communicate or get the job done?And then there is those that really know it, but can't use it in a practical or artistic profession other than teaching.  I once had an ESL student beat me on a grammar test ... but I won on the spoken test (of course). Knowledge, Use, Effect.

Me
Thursday, April 15, 2004

As you broaden your experience with both technology and domain you get to the point where new technologies become redundant.  By that I mean the learning curve is almost non-existent.

For me to learn a new programming language these days is usually just a matter of spending a few hours learning the appropriate class libraries.  So now I tend to focus more on domain experience.

Andy Watson
Friday, April 16, 2004

*  Recent Topics

*  Fog Creek Home