Hi, I'm not a 40 minutes guy, I would like to be. But I'm in my second
Google Code Jam, and I did no practice in contests, and still went
from 4000 and something to 1600 and something in rank in the
qualification round. Passed from being 13th from my country to be 3th.

How comes?

Well, I have been being a developer.

I have been a developer too much that I did not have time to practice... did I?

If they say years of experience don't help, it's a lie. Experiences
helps, practice for the sake of practice is a mimic of experience...
but, if you are just writing the same information system once and
again, and all that takes complexity in mapping your objects to the
data base (it is all getters and setters and a few loops in the
forms)... yes, TopCoder is much better. But if what you are doing for
job or pet project (every developer should have a pet project) makes
you write parsers, game loops, your own framework, image processing,
hardware ports IO, or whatever (that's not database centric), then you
are already getting good practice.

What you need is to learn different things, and of course practice
them, because you need to be good at it... it's just that my practice
comes from my work. I learned PHP and some Python in the last year
because I had to, learned how to do closures and to use T4 in visual
studio because they helped me get work done.

I remember when I learned to write Java for cell phones, It was in
fact my first time with Java. And when I did it then object oriented
programming was no longer a way to isolate the state of modules into
instances, but a way of thinking. Something fell in place in my mind
that improved my skills in other languages. The same happened when I
learned PHP, I was all my life using static typed languages, at first
I just kept trace of the types to avoid mistakes, but at some moment I
noticed that the the dynamic typed aspect of PHP was saving me time,
and then somewhere distant neuron connected together in my brain, I
had a new skill to master and when I became good at it, it started
helping me with .NET and desktop apps too, I know, .NET is static and
blah, blah. But it's a way of thinking. At the end it all is ASM at
the CPU. If you want to be able to solve more problems you should have
more things to try, knowing what to try is the next step.

The past year, I used to set everything as objects, but knowing
different styles, languages and paradigms opens you to different kinds
of solutions. When doing something becomes natural for you, knowing
how to use it, even when to use it is "intuition"**, but intuition
that comes from experience, you just don't know how you know, you just
know. And that experience is from... yep, practice.

** Replace that with heuristic if you feel better with that.

So, yes there is analysis. But more that analysis as a rational
process, to be able to visualize the situation and do a judged guess
on what may be the result of the things you try is what matters at the
end, you may do a methodical analysis at one edge and just get it and
the other, we are all somewhere in between, moving to the "just get
it" side takes experience and practice.

I wouldn't say that it is as math or sports, it more like speaking a
foreign language. I'm from Colombia, my first language is Spanish.
When speaking English I still do mistakes, that's not what's
important, what's important is that I can think in English, I no
longer need to think in Spanish and translate that to English in order
to express it. It just comes natural, and for me that is an important
foundation to handle English, I need to practice more hearing
different accents and learn more vocabulary [today I learned
"methodical"], but that's it.

I also need to learn to write shorter messages.

2011/5/8 vivek dhiman <[email protected]>:
> How come some guys are so fast ?
>
> within 40 minutes. Am I missing something ?
>
> Regards
> Vivek Dhiman
>
> --
> You received this message because you are subscribed to the Google Groups
> "google-codejam" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/google-code?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"google-codejam" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-code?hl=en.

Reply via email to