DEV Community

Kshitij Chawla
Kshitij Chawla

Posted on

To Code or What to Code?

Saw this question on twitter:

"If I wanted to learn coding, what would you recommend?"

The answer to this can be made as complicated as one wishes, and the more complicated it gets, the more intimidating it can be for the asker.

I have often played it in my head, how would I answer this question? After many mental iterations, I have realized that people often try to answer the question, instead of answering their (the asker's) question.

Huh?

In my philosophy classes, I learnt that one can choose to answer or not, but if one chooses to answer someone's question, the wise thing to do is to consider the person asking the question. Their state of being, their needs, their intent behind asking the question as much as the literal question itself.

And a lot of times, the complication emerges because people try to give good, thorough answers, and may become so involved in the details and that process, that they do not adequately factor in the questioner's intent and need.

So I decided on a little thought experiment. If I was to answer this, how would I give them what they need, rather than "answering the question"?

"If I wanted to learn coding, what would you recommend?"

When someone says that, there are some constraints that must be put in place in trying to figure out an answer that is useful and truthful without becoming overwhelming or intimidating.
A super thorough, detailed answer to this question can leave the aspiring developer confused, intimidated, making coding seem like an impossible Everest, potentially making them give up on the entire idea of coding, hence completely defeating the larger intent of the question and questioner.

The constraints I placed in my thought experiments, are that the person asking the question is not in a coding profession, and has no immediately applicable knowledge of computer science or programming. They may not have decent ideas about what they want to do with coding.

From here it naturally followed, why do they want to learn coding, and then I follow that thread of thought to give a simple, useful answer.

Here is my answer.

Learn JavaScript if you want to:

  • Build visual products & tools for others.
  • Want to be a professional coder but do not know what you want to do.
  • Want to be less focused in the job search as a professional developer in making.

For all other purposes, learn Python.

  • Building non-visual stuff, whether professionally or for personal use.
  • Data analysis/Machine Learning.
  • Task automation, whether as a professional role or for making your life simpler.
  • Just want to learn coding, understand it, use it, see what it's all about.
  • Willing to be a bit more focused in job search, if you want to be a professional coder.

JS:

http://freecodecamp.com/ is one of the great ways.

https://frontendmasters.com/ is the one I heard about recently. Sarah Drasner & Will Sentance are involved in this so I trust that this is totally worth the money.

Python:

I personally tried and liked the book Automate the Boring Stuff http://automatetheboringstuff.com/ . There are many many great resources I used, this is a good one to start off with.

Discussion (0)