Hacker Newsnew | comments | show | ask | jobs | submit login

Here's the problem I see with exercises for professional, working developers.

Are exercises useful? Yes. But doing a significant fraction of them increases your read time substantially. It pays off, but now there are other ways (at work, or in open source) to learn things that are less structured but still effective.

Exercises help you get a deep knowledge of the material, but the market doesn't reward that. You're better off with a more shallow knowledge of a lot of things.

The old cycle for learning X:

1. Get an X book. Do a basic reading to get the vocabulary and core concepts.

2. Decide if you're interested in deep knowledge of X. If yes, continue. Otherwise, terminate and choose a new X.

3. Do the exercises in the X book. This will take a while.

4. Do some X at your job.

5. Read the research papers if you want to get to the frontier.

New process:

1. Get an X book. Do a basic reading to get the vocabulary and core concepts. (Same as above.)

2. Decide if you're interested in deep knowledge of X. If yes, continue. Otherwise, terminate and choose a new X. (Same as above.)

3. Get a job doing X. The knowledge and vocabulary learned in (1) should be enough to pass an interview.

4. Refer back to the book and, when needed, read for deep detail to supplement your on-the-job learning.

5. Read the research papers if you want to get to the frontier. (Same as above.)

Step (4) of the new cycle is where the exercises would come in, but most people by that point are just trying to solve the problem at work.




You act as if "Get a job doing X" is a trivial step in the learning process. What if someone doesn't want to get a new job in order to practice X?

-----


New job != new company. One could transfer internally, or find a project involving X and contribute, or in the right environment, come up with a new project entirely.

If you don't have the autonomy to learn new X's as you wish, then your job probably doesn't justify aversion to looking elsewhere... unless it's paying you hedge-fund money.

-----


Well you kind of implied new company when you mentioned passing the interview (yes, I know at the larger tech firms you can interview for other teams internally). Either way, I don't think changing jobs internally, starting a new project, etc. are trivial tasks either. If I'm content working on my current Java project at work, but I'm interested in learning some Python on the side, I don't think I should have to switch jobs/roles/companies/projects just to practice Python. Also, while I agree with you that it would be nice if most companies offered the autonomy to work in whatever technology you wished, that simply isn't the case, and not everyone has the freedom/motivation to change jobs easily.

-----




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact

Search: