Hacker News new | past | comments | ask | show | jobs | submit login
What good is experience? (justinkan.com)
135 points by maccman on April 20, 2012 | hide | past | favorite | 64 comments



"is it possible to fake experience by getting advice?"

Typically, you have to live out the words of the advice before honestly coming to understand them. Advice -- especially great advice -- is often received as theoretical, removed from specific context, and thus filed away in the deepest recesses of the mind. It doesn't come back to top of mind until a specific situation is encountered, and the advice is suddenly recalled. Then it clicks.

Theoretical advice is generally incomplete unless/until activated by personal context. Advice isn't a substitute for experience, but rather, a framework through which to process experience.


This is so true. I met people during the course of my life whom i sometimes think back on and say, why didn't i just do what s/he said and i wouldn't be in this mess.

It was only after i screwed something up, lost money or ended up not exactly where i wanted did i think back and say .. so that is what s/he meant. Then only after the fact can i take positive action towards the advice previously given and rectify the situation

One of the things i sometimes wonder is, is it just me that can not take advice unless i live it or does everyone else experience it ?

Reason i wonder this is i see people take advice and avoid getting themselves in a jam and i just wonder if they interpret advice differently and possibly have the ability to play out the different situations in their head better and hence can see what the advice really means before they actually need to live it.


Agree - I believe it was the poet Kabir who said "if you haven't lived something, it isn't real".


> Typically, you have to live out the words of the advice before honestly coming to understand them

I find this applies to education as well, and it may be why people sometimes feel their academic education wasn't valuable (or, conversely, why people are sometimes surprised that 'qualified' people aren't as proficient as a degree might imply). For example, I could implement bound methods in Python long before I truly understood what the word 'bound' actually referred to and what implications it had, even if I could use them properly and had some vague sense of some binding existing.


Now that I have experience... nope, it's still not worth anything. I honestly feel I'm writing less good code than I did in my late teens - I'm less ambitious, and I take longer to get things done. I know a bit more about certain technologies, but honestly I can pick the important bits of anything up in a couple of days. My experience has got me better-paying jobs, but that seems to be all it's good for.

(And yes, I am in a best-coder-in-the-room situation. Straying from the topic a bit, where does one go not to be that? I don't have the skills (or the appetite for risk) to found a startup. I've wondered about the big-name tech companies (google, twitter), but my limited experience so far has been that the bigger a company, the worse. It seems like by the time I've heard of a potential employer they're already past the point where they'd be fun to work for)


Have you gone back to look at the code you wrote as a teenager?


Yeah; I still work on some of it occasionally. There are parts where I know something new, and of course it has its share of hacks and corner cases, but it's good code.


Experience itself may not be worth much in our rapidly evolving field, but a good design sense is. Some engineers naturally have it, whereas others mainly gain it through experience.


try to fix bugs in linux. have a kernel dev insult your mother. learn and iterate.


two implications:

1. there's a huge difference between "oh, i can pick up rails in a week" and "7 years of rails experience". being super smart is insufficient for certain employers. you want the guy making foundation technical choices to have already learned from his mistakes

2. if you're in your twenties, and you're the best coder/entrepreneur/whatever you know, your hubris is blinding you to your potential, should you work with people more experienced than you. this is not to say you can't win the startup lottery when you're young, but your long term expectation is higher if you learn from others before you do.


Experience is non-linear though. X years of parking your butt in a chair staring at code doesn't make you an expert automatically, it doesn't even necessarily make you better than someone who has only spent 2 weeks learning the language or platform. I'd rather have a JWZ, Brendan Eich, or Linus Torvalds in their 20s working on my project even if they didn't know the language than some paycheck coding drone from the enterprise trenches who has a million years of experience in doing mutate-compile-repeat development in the exact same development stack.


That's because most corporations seem to define experience incorrectly. Experience is not simply time. Instead, I prefer Hunt's definition of experience: "By experience, I mean specifically that performing this skill results in a change of thinking. As a counterexample, consider the case of the developer who claims ten years of experience, but in reality it was one year of experience repeated nine times. That doesn’t count as experience."

Unfortunately, the reality is that most companies equate experience with years; just look at the typical job postings as an example of this mentality.


re 2: exactly right. when I came out of college after 4 years of C classes, I thought I was the greatest. Then I went to work for Cisco with battle hardened C masters and found out I knew nothing. Learning from my co-workers was the best education I got.


Never forget; "big fish, small pond"


Hi from ##C on Freenode.

We love college kids like you :D


Try not to be the smartest person in the room.


Unless you're the smartest person in the world. In that case, trying not to be the smartest person in the room is wasted effort. Of course, if you're the smartest person in the world, you already know that.


Taking this thought experiment a bit further:

In case you are the smartest person in the world, the advice is still a reasonable thing to do: How will you ever know you are the smartest-in-world if you don't try to find smarter people?

On the other hand, you'll probably never know for sure, as it is wasted effort to compare yourself with literally every other person in the world. So pretending not to be the smartest person in the world is a totally sensible thing to do even if you are.


My previous comment was an attempt at humor, but actually, the notion of "smartest person" is too ill-defined to be very useful. People are smart at different things. For example, one person might be smarter at playing chess than another, while the second might be smarter at writing computer programs.

So let's replace the notion of "smartest person" with something better defined, like "most successful at playing chess, as measured by their chess rating." In that case, we know who the best in the world is, it's Magnus Carlsen. It would indeed be a waste of time for him to seek chess matches where there was somebody better than him, but it is in fact good advice for everybody else to seek to play against better opponents.

However, the strongest players all find that inevitably, they are nearly always stronger than their opponents. For example, the #2 in the world, Levon Aronian, is stronger unless he plays Carlsen. Every grandmaster finds that the large majority of his games are against weaker opponents.

So if you're really "smart," it's good advice to try to surround yourself with "smarter" people, but don't beat yourself up if you find it hard to do--it's an inevitable consequence of mathematics that the "smartest" people will tend to surround themselves with less "smart" people, at least if you're only measuring "smartness" in one way.


In your chess example, there may be certain people that Magnus Carlsen should play chess against if he wants to improve. I don't know the specifics, but at least logically it is possible that even though Carlsen has the best chess rating, there could be players who can consistently beat him due to how they match up with each other.


> but it is in fact good advice for everybody else

If so, then please don't nitpick advice which is good for everybody else. Magnus Carlsen can do that for himself.


To extend your thought experiment ...

When you really are the smartest person in the world, and everyone knows it, you could seek out seek out students and teach them to be the smartest person in the world. I have heard it several times in different ways but the gist is this, 'If you really want to learn X, teach someone how to X.' I don't think the quote is exactly right but I hope the intent comes through.


Depends on the room.


Nice points.

One thing that I'd be sure to think about is that more experience isn't just in years, it's in hours spent, and how well/quickly one learns to find and connect the dots to get that picture of experience.


I once heard an anecdote that the 3rd version of a system is when it starts to become really efficient.

The 1st version is rife with hacks and inefficiencies, but it works.

The 2nd version builds upon all the learnings of the first version, but is bloated because every little lesson learned is applied.

The 3rd version is where the experience and data gained from the first two iterations really starts paying off. The code is more efficient and the team knows what is truly important and what isn't.

P.S. Has anyone else heard this anecdote before as well? I've tried tracking down its origin to no avail.


That sounds like the "Second System Effect", described by Fred Brooks in "The Mythical Man Month":

http://en.wikipedia.org/wiki/Second-system_effect


"First you make it work, then you make it right, and finally you make it fast"


I wonder about this style of thinking. In particular, the distinction between making it work and making it right.

I've read The Pragmatic Programmer, and early-on, it mentions "broken windows" principle -- fix errors as soon as you notice them, or else they'll get more difficult for you to fix as time goes by. And like broken windows are like a green-light for a neighborhood to decline, unfixed hacks similarly invite poor quality code.

In practice, do "working" and "working well" end up being sort of the same as suggested by the broken windows principle? Or Is "make it work" refer to making a quick prototype, and "make it right" refer to filling out substantial functionality?


>>I wonder about this style of thinking. In particular, the distinction between making it work and making it right.

The reason for this style of thinking applies to projects that you don't really have a clear path on how to implement them. A good example would be building a humanoid robot. Along the way you learn what works and what doesn't and you end up with a project that works, sort of. Now that you have a better understanding of the problem you re-architect the entire project, if needed, to make it easier to maintain long term.

Of course, this is just a rule of thumb. You don't have to wait till the end to re-architect a project. You could treat each major sub-module as a project of its own and apply this same thinking.


Seem to recall an article posted on HN some time back called "Suffering Oriented Programing."[0] I doubt this is where the idea originated but the author does a good job of relating the principal to coding.

[0] http://nathanmarz.com/blog/suffering-oriented-programming.ht...


Heard of it? The first Iron Man movie was based on it.


Jeff has a broken link on his mention of it here: http://www.codinghorror.com/blog/2009/06/the-iphone-software...


Experience is not a track record.

If there's one skill thats invaluable in any industry, it's a track record; of problem solving experience. An education simply won't give this unless you're possibly in some extended research role.

If you are lucky enough to get an education, it's another foundation to work from, but it will not make up for experience resulting in a track record.

Assuming this post refers to the track record of positively learning from our experience; we see the world does kind of run this way. Can't always fake it till you make it forever.

Having a bit of both:

Experience and track record of results will always beat education. Why? Education and theoretical stuff isn't in the real world often enough.

Experience, resulting in track record of successfully overcoming challenges is very, very valuable.


> If you are lucky enough to get an education, it's another foundation to work from, but it will not make up for experience resulting in a track record.

> Experience and track record of results will always beat education.

I see these as two very separate things. Why do you compare them?


People connect them as if they are related. In the tech space it's not the case so much but it's the prevailing mindset in many, many industries.


"You know some things to be impossible. Most things that were impossible or impractical years ago became possible or will become possible some time later. Your experience might tell you that something you want to do can’t be done. Other people will go on to do them."

As I started to gain experience and learned about what sort of things worked and what didn't, a boss of mine gave me a wonderful piece of advice: even if you're 100% sure that the answer to a question is no, give yourself ten or fifteen minutes to think it over a bit before responding. What you may have seen in the past may not apply anymore, and if you give yourself some time to think about a proposal you may be able to recognize some really novel or useful ideas.


It's funny because it's hard to understand the value of experience until you have some.


If there were some way to change this... the world would be a far better place.


Or... nobody would ever try anything to gain experience, always someone better. I think it is a great system, ego actually makes us dumb enough to go get that experience. Truly there is always someone better, but our ego tells us we are or can be the best. It is a dichotomy.


> Or... nobody would ever try anything to gain experience, always someone better.

Could you please clarify?


On the other hand, some things really are just impossible, and attacking those problems with youthful zeal will not change that.

In my experience, when people take something we all agree is impossible and start doing it, it is usually because they've redefined the problem in such a way that forward effort can be made. Termination checking comes to mind. It isn't that the impossible becomes possible (mostly), it's that we find a smaller or different domain in which progress is possible and useful.


The number of things that are truly impossible is actually quite small (particularly in the domain of startups). Many things are just conventionally thought of as "impossible" because current circumstances make them seem that way.


"And lastly, something I’ve been wondering: is it possible to fake experience by getting advice?"

It must be hard, because so few people seem to do it. The history of humanity would look different if we didn't all seem to have to repeat the same mistakes.

I suppose at a hypothetical extreme you could be a Chinese Room-like puppet of the advisor. But in real life you have to generalize at some point. Behind the words of the advice is the understanding, which is the hard part. Understanding doesn't even necessarily follow from one's own experience. It takes the hard but irreplaceable work of reflection. One can try to reverse engineer understanding from advice, but regardless we can say that while experience may not be necessary, advice is not sufficient.

(In some vague sense of work-dimensionality: advice < understanding <= experience.)


well, experience is just data and so its use in solving problems requires its input to an algorithm, which in this case resides in wetware. In other words, i suppose the value of experience depends entirely on the person who possess it.

We need to hire a couple programmer/analyst. No threshold experience level was required, because we want the best talent. After interviewing a dozen or so candidates, it occurred to me that someone with average intellectual horsepower, never seemed to mine the maximum value from the experience that they had. Why?

Either (i) they seemed to just store their experiences as a look-up table and then access it as a proxy for genuine creative thinking ("sure, i've seen that problem before, and we solved it this way ...." Granted, sometimes this expedient is just what you need, but it's undesirable if one's cognitive repertoire is limited in this way; or (ii) they failed to abstract that experience into broadly applicable principles. (I suspect this is the failure that is responsible when someone says "he/she has does not have five years of experience, they have one year of experience, five times." Without abstraction, unless your memory/recall is essentially perfect, it's difficult to actually use your experience to gain leverage over a new problem.


Experience is practicing making mistakes on somebody else's dime.

It gives you the understanding that something is a good or a bad decision sooner than somebody who hasn't had this practice.


Experience doesn't have to be on someone else's dime. In fact, if you want to really learn your lesson, there's no better way than to make your mistakes on your own dime.


You're right. I was thinking more about the benefits of hiring experienced people.


> And lastly, something I’ve been wondering: is it possible to fake experience by getting advice?

Yes and no. You need to have some experience to understand the advice and interpret it to your situation. Everyone provides advice from their perspective, which is absolutely useless to you, unless you have the experience to convert that to your situation and learn from it.


true experience is knowing at exactly what time and date you would go back in time to kick your own butt

Experience tends to pre-empt innovation: I really don't think this is caused by experience, I think it is caused by habit. I know a lot of people who have experience who have said to me "We did X, Y, and Z at my previous gigs, but I've been thinking...." Don't fall into habits and keep the sense of what if and experience provide a heck of a platform for innovation.

Experience takes time to get: yep - especially if you don't listen closely to the people who have already taken the hit.

You know some things to be impossible: more along the path of habits overshadowing experience. I had a huge amount of experience with Sybase databases. I knew some things were impossible given how they worked, but it didn't stop me from exploring when the next version showed up. Don't allow yourself to build a set of superstitions that overshadow changing conditions.


Off-topic: how can anyone read this? His layout keeps popping up and down, and the second you scroll away from the top, the image in the corner breaks and the text goes all fuzzy.

Screenshot: http://i.imgur.com/6SCgN.png, no addons in use.


I tried it with Firefox, Chrome, Safari and Opera on a Mac, and didn't have any problems. Well, selecting text in chrome was a bit wrong, but not exactly broken.


Good judgment comes from experience. And experience comes from bad judgement.


Thanks for the article, because inexperienced guys like me have it pretty easy finding jobs right now with just a lil php background



Off topic: His website is amazingly cool. I wonder how achieves anonymous "kudos." IP? Cookies?


That's 'Svbtle' (http://dcurt.is/codename-svbtle) - the subject of some controversy last month. See http://natewienert.com/codename-obtvse


"Controversy" meaning: guy starts blog network, writes custom, private software for it, words the promo copy for the blog network somewhat arrogantly, and so someone clones his design almost verbatim and launches a hello-world Rails blog backend with a parodic name.

Of course, now look at:

http://svbtle.com/

Is there any doubt what the value is here? That is an awesome front page. If you can clone that, you have better things to do with your time than pick fights with other developers.


I find the UI kind of ugly. I do like the idea of having a lighter weight posting/record interface.


I like it, but what I really liked about the idea was the network.


I'm a little lost. Is there anyway to get some of those features onto my (new) obtvse blog?

EDIT: Wow I never realized Obtvse came AFTER Svbtle. Controversial indeed. This is damn interesting.


Advice I accept, experience I truly appreciate.


Boom!


Because it's just that impressive


Interestingly, the older you get, the more obvious this all seems. Probably because you become more experienced.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: