***1.Will the coding challenge be the same across classes or would vary as per the class the kid is studying in?***Focusing on coding inflates the importance of finding the “right” method to solve a problem rather than the importance of understanding the problem.I have a close friend who is a former Association for Computing Machinery International Collegiate Programming Contest champion from Stanford. The greatest thing he taught me about his ACM championship days was the importance of understanding what problem you’re trying to solve.
You must ask yourself, “Do you even have one?” and “Can you apply the Feynman principle and explain it in a way that others can understand you?”
This friend told me that even in the elite schools, students read the prompt to the coding problem only once then immediately code.
The year my friend won the championship he learned something: even those from elite schools dove headfirst into complicated problems, with code as their only weapon.
Meanwhile, my friend wrote his code only after thoroughly understanding the problem. He used almost all the allotted time to think about the problem. He did not write code until minutes before the deadline.
He became a champion.
He knew that banging out code would not solve the problem, but cool, collected problem solving would.
An excessive focus on coding ignores the current plight of existing developers.The line between learning to code and getting paid to program as a profession is not an easy line to cross.
f becoming an engineer is what you want, don’t let me — or anyone, for that matter — get in the way of your goal. And don’t let traditional confinements like the educational system slow you down. There are no correct or incorrect ways to go about achieving your goals.
But don’t lose sight of reality while being charmed by our culture’s Silicon Valley romance. This field is not a get-out-of-debt-free card. You have to take the time to build your understanding of the field. You have to become comfortable with the fact that you are a problem-solver and not simply a “fill-in-framework-here” developer. You also must get used to the idea that at any moment you might need to learn a new framework or language, and that you will have to fight for a job if you don’t have formalized credentials.
Software engineering is a lucrative field, but the transformation from “coder” to “engineer” is challenging.