A thought about the fear of not knowing

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

A thought about the fear of not knowing

Stéphane Ducasse
Hi Pharoers, lurkers, users

We repeat all over the same: we welcome you to participate and while we are cool and welcoming, you feel
"oh I cannot, I do not know, this is complex..."
You look at us like Gurus, but let us be clear, we are not, we are just common people that have a debugger,
kids in the bed and good music in the background (for me Cool Jazz or Thrash Metal).
Of course some parts of the system are ugly, buggy, britlle, messy... but
less and less, more and more good abstractions are taking life
AND!!!!
        First, we are all learners and newbie on something (at least the mortal among us) but to learn
                we should start somewhere
        Second, start small
                - we tag some bug entries as easy, give a try.
                - put a break point in the code
                - write a test
                - do something fun

        You will not fail, why? because either you do not find anything and there is no problem but you will
        learn something and you can pass to the next one.
        Or you find something and you got it :)

We did that with marcus when we were squeak harvesters. There were a lot of things we could not get
but we pass to the next. :)

Now I browse bugs bugs and bugs and I can tell you that 85% of the bugs are terribly stupid. Even more.
So focus on these ones :)

Pharo is the system we (you and us) will build.

Stef



_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: A thought about the fear of not knowing

HaiColon
Kudos to you, it's always nice to see when programmers try to take the fear out of the equasion :)

I think the terms experts and gurus should be completely abolished. It just strucks fear into the hearts of new programmers. What the heck is a guru? Or an expert? Someone who learnt a few nice little tricks over the years? Or knows a few kinks of a system? Well, I say nay!

If there's a kink in a system it should be fixed, it shouldn't be a feeding ground for experts. And if someone knows a neat little trick, like a really fast implementation of an algorithm, what good is that when you actually don't need the speed in that place but think that readable code for example is much more important to you, so that maybe other people can understand and modify it.

Implementing something is always a tradeoff between speed, stability, security and readability. There is not one perfect fits all solution to any one problem, which is why I don't think that experience really helps as much as people tend to believe. The most important thing for a programmer in my humble opinion is that he is good at learning. That includes being patient and persistent, being able to research things by using cryptic programmer's documentation and articles you find on Google. If you try long enough, you can make your implementation as fast, as stable, as secure or as readable as you need. The most important thing is to get it working, then you can think about making it better. And that is one huuuuge strength of Pharo. The refactoring tools are awesome. There really is no need to fear doing something horribly wrong since you can refactor everything to your hearts content until it's just the way you want it to be semi-automagically.

Experience can also really hinder you as a programmer. If you always do the same thing again because it worked good in the past, you will never find a better way of doing things. If everyone did that, we would still be in the stone age. "Why do I need a metal hammer when a stone hammer works just fine?"

The only valid term I can think of would be a "specialist". I have no idea how to write a device driver for example. That's something where experience is really helpful. But just because someone is really good at making device drivers doesn't mean he's good at making a game for example. So, he's not an expert programmer by any means, he's a specialist. You wouldn't let a dentist do brain surgery on you, would you? I don't think you can be an expert programmer. Programming is just too vast a topic. Computers are a second world. You can model the whole world in a computer. And just like you can't be an expert at every job on earth, you can't be a "computer expert". It's just not possible with our brain's limited capacity.

Chris

On Wed, Sep 8, 2010 at 10:12 PM, Stéphane Ducasse <[hidden email]> wrote:
Hi Pharoers, lurkers, users

We repeat all over the same: we welcome you to participate and while we are cool and welcoming, you feel
"oh I cannot, I do not know, this is complex..."
You look at us like Gurus, but let us be clear, we are not, we are just common people that have a debugger,
kids in the bed and good music in the background (for me Cool Jazz or Thrash Metal).
Of course some parts of the system are ugly, buggy, britlle, messy... but
less and less, more and more good abstractions are taking life
AND!!!!
       First, we are all learners and newbie on something (at least the mortal among us) but to learn
               we should start somewhere
       Second, start small
               - we tag some bug entries as easy, give a try.
               - put a break point in the code
               - write a test
               - do something fun

       You will not fail, why? because either you do not find anything and there is no problem but you will
       learn something and you can pass to the next one.
       Or you find something and you got it :)

We did that with marcus when we were squeak harvesters. There were a lot of things we could not get
but we pass to the next. :)

Now I browse bugs bugs and bugs and I can tell you that 85% of the bugs are terribly stupid. Even more.
So focus on these ones :)

Pharo is the system we (you and us) will build.

Stef



_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project