There exists an excellent question:

How to Deliberately Practice Software Engineering?

This question is marked a duplicate of the following questions:

Continuous Professional development – the best approach

I'm graduating with a Computer Science degree but I don't feel like I know how to program

I believe the first question about deliberate practice differs from the duplicate questions in the following ways:

1) Deliberate practice is not limited to recent graduates, it applies to all programmers.

2) Professional development is a broad term that can include: reading programming books, talking to programmers, coding at work. In contrast deliberate practice is a highly structured activity engaged in with the specific goal of improving performance. (more here).

What is best, a new question, unmarking the original question as duplicate?

Please comment.


I'd also like to add that if you follow the duplicate questions, and try to find some question that is still open, every question is a dup of a dup, locked, or closed.

I wanted to add some new answers to the original question about deliberate practice. Those answers would be to check out http://exercism.io and ( thanks to @gant ) http://codekata.com/

I think the original question is narrow enough to be a valid question, and already has enough distinct answers, that separate it from the dups.

It's not my original question, please advise on how to proceed.


After reading everybody's comments and suggestions I've decided to re-ask this question:


Please advise.


The new question is now "on hold" for the following reasons:

"Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance."

I believe this question is of value to the broader community of programmers, a summary of the answers so far:

  • write your own implementation of an algorithm
  • reading other peoples code
  • compete in a programming competition
  • solve a problem set

"Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it."

Most of the answers so far have not recommended a tool. How can I change the wording of this question to meet the requirements?


I've reworded the question to help with the recommending a tool problem:

Before: What techniques or resources can a computer programmer use to deliberately practice programming?

After: What techniques can a computer programmer use to deliberately practice programming?

  • meta.stackexchange.com/a/194495/165773
    – gnat
    Oct 17, 2014 at 7:24
  • so professionals don't work deliberately? Because that's what you imply here. Or if they do, the questions should be closed as "too broad" if there's no other reason.
    – jwenting
    Oct 17, 2014 at 12:20
  • @jwenting work is different from practice. Oct 17, 2014 at 13:03
  • 1
    "answers to check out" sites wouldn't find an appropriate question at Programmers I'm afraid. Off-site resource recommendations are explicitly off-topic per help center, see meta.programmers.stackexchange.com/questions/6483/…
    – gnat
    Oct 17, 2014 at 13:53
  • 1
    One bit that you might be missing out on in the "I'm graduating..." question is three pages of deleted answers (frankly, I think that was a bit too conservative - there are lots of other answers in there that are also deserving of deletion).
    – user40980
    Oct 17, 2014 at 19:41
  • @gnat I'm not suggesting dropping a link to those sites without explanation, of what those sites do and why it is relevant to the question. Oct 17, 2014 at 23:08

1 Answer 1


Programming/software engineering are primarily mental activities, because most of the real work takes place in your brain.

For primarily mental activities, I don't see a real difference between deliberate practice and studying. This is different for activities with a significant physical side to it, where the deliberate practice helps building muscle memory.

If you can put together a good argument why deliberate practice for programmers is different from studying and how the answers from the duplicate questions aren't applicable, you are encouraged to make an edit to the question about deliberate practice. If your edit convinces 5 members of the community that the duplicate marking is incorrect, the question will get reopened.

In your edit, focus on why the duplicate answers are not applicable. A question can be asked in the context of a recent graduate, but that doesn't mean that the answers are only applicable to recent graduates.

  • 1
    FWIW upon very carefully re-reading the question in question, I've got a feeling that asker may be looking into code-kata, but the way how they spell it makes it really hard to recognize this. So, maybe unclear / too broad close reasons would make a better fit
    – gnat
    Oct 17, 2014 at 9:08
  • I'm not the original asker of this question. I read the question liked it. Though of an answer that does not fit within the duplicate questions. Answer would be to check out exercism.io and now thanks to gant to check out code kata Oct 17, 2014 at 12:50
  • @gant I agree the original question maybe unclear, but I don't think it's too broad, as I have found only 3 or 4 distinct answers so far. Oct 17, 2014 at 12:57
  • @JustinTanner: You don't need to be the original author of a post to make a (suggested) edit. If you don't feel comfortable doing that, you can argue your case in a Meta question. Oct 17, 2014 at 13:05
  • @bart oh thanks I didn't notice I could do that. I feel to edit that question I would have to remove all the discussion of violin playing. But the title of the question is still spot on, it almost needs nothing else. Oct 17, 2014 at 13:22
  • 1
    Here's how I would distinguish deliberate practice from studying: Studying is about learning something new. deliberate practice is about getting better at something you already know, through careful exercise design, repetition, and responding to feedback. Oct 18, 2014 at 17:25
  • 1
    On the topic of muscle memory: there is a type of muscle memory in programming. Besides the finger muscle memory (keyboard shortcuts, finding the special characters quickly), there is a kind of mental "muscle memory" that programmers can develop by repeatedly solving problems in a deliberate way. Oct 18, 2014 at 17:26

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .