Things Worth Knowing Well, Things Worth Knowing Poorly

Last week I asked you which skills were worth knowing, even poorly. I got a lot of responses, from martial arts to programming, and sketching to survival skills.

Although the poll didn’t bring up any clear consensus responses, I find it hard to argue against almost any individual suggestion. The truth is, most things are worth learning, even poorly. Perhaps the quote I led with by Kato Lomb is simply false.

However, one of the things that did strike me was that most people simply picked things based on there personal experience learning that thing, or their interest in it. That’s a fine way to start a brainstorm, but perhaps there are some intellectual tools we can use to examine the issue more closely?

Which Kinds of Things Are Worth Knowing Well?

The problem, admittedly, with my poll is that the question I posed was open enough to accept almost any answer with a reasonable justification. I had hoped to illuminate a contrast between things worth knowing well and things worth knowing poorly, but a lot of the difficulty in showing that was how I asked the question.

Instead, let’s rephrase:

Clearly some things are more valuable to learn than others, independent of your personal interest. Literacy is more valuable than sculpture, and programming is more useful than Latin (assuming you don’t harbor a secret passion for clay or dead languages).

This is a first way to break down skills—by how useful they are to learn. Many of the skills listed in my previous post were of this kind. Things sufficiently worth knowing that even having a poor level of ability is valuable.

However, I want to focus on a different, more subtle, distinction. Imagine we take two skills that have approximately equal usefulness. Now compare those two skills and ask where the value comes: does most of the value come from the basics or does it come from mastery?

I may be reading too far into Lomb’s quote, but this was the critical point I inferred from her writing. Languages are useful things to know. But they are also things that tend to yield a fair amount of their rewards from simply attaining a basic level. The level of language that can be learned in three months is less valuable than the level one can achieve after three decades, but the former still yields a reasonable payoff.

This payoff of adequacy versus mastery is probably different depending on the language. Fifty hours of Spanish study let me stumble through some basic conversations, whereas one hundred hours in Chinese was still painfully difficult to speak. However, in general, I’d argue that you’ll get a lot more out of a few months of language study than a few months of most other skills of similar overall value.

What’s an example of a skill which doesn’t have this kind of payoff chart?

I’m sure I’ll get some angry rebuttals in the comments for this one, but I’m going to say computer programming.

If we’re evaluating programming and language learning by the first metric—are they valuable enough that they are worth learning, even poorly, there’s a case to be made that both programming and language learning fall into that category.

However, if we’re arguing along the second line, that the majority of their respective payoffs comes from adequacy or mastery, I wouldn’t put computer programming in the adequacy camp.

A Tale of Two Languages

What makes programming different? I see two reasons, one is economic, the other is technical.

First, the economic reason. For most people, programming is a way of doing work. Either you work directly as a developer, or (like me) you make use of programming to help you do things in an unrelated line of work (like blogging).

In the first case, adequacy just doesn’t cut it. Great coders can earn significant salaries, but mediocre coders are fairly cheap. You won’t get rich writing merely adequate code, you have to be an expert.

In the second case, adequacy rarely justifies the cost. I do use my programming skills occasionally, but generally if a project gets more complicated than a small script, it makes more sense to hire someone to build it (or look for a pre-built solution) than to hack something together myself.

In both cases, the payoff tends to come from being a particularly good programmer, not someone who merely knows the basics.

The other reason has to do with the technical differences between human and computer languages. A fluent speaker is only moderately more productive in the act of communication than someone who has an intermediate level. There are many things in Spanish that take me longer to explain than they would in English, but, I’d guess, if you average out all my interactions they aren’t considerably slower than a fluent speaker.

This is quite different from the difference between a “fluent” programmer and a novice. The master programmer can be orders of magnitudes more productive, perhaps accomplishing the same task in a tenth of the time. This is because programming languages utilize layered abstraction to make ever-increasing complexity possible. That increased complexity gives added power to great programmers, but it also means there is more to learn for novices.

Some people will argue that programming helps with logical thinking, even if you don’t actually write any code. Although I’d love for this to be true, I’m skeptical. My sense is that programming teaches you a certain way of thinking, which can be useful outside of programming. But so does marketing, entrepreneurship, biology, physics and music. It’s not clear to me that, if you never touch a line of code, that the “programming” mentality is inherently more worth learning than these other ones.

One could argue that this programming mentality helps with using computers, therefore packing in more rewards for mere adequacy and shifting the balance away from mastery. But I know many computer science professionals who are only so-so with gadgets and non-programmers who are wizards, so I’d say the jury is still out.

Remember this doesn’t mean it isn’t worthwhile to learn the basics of programming. Skills of high absolute value are worthwhile even if their payoff curve is shifted more towards mastery than adequacy. I did the MIT Challenge largely because of what I believe to be programming’s absolute usefulness, even if more of that value comes from mastery than other skills.

Choosing Adequacy or Mastery

Whether a skill reaps disproportionate rewards for mastery or adequacy also depends on what you do with the skill. I don’t work as a programmer, so my payoff curve for learning about programming is shifted more towards adequacy than it is for, say, the psychology of learning and memory (which is more important for my core business). The opposite would probably be true of a professional software developer.

Ultimately it’s a combination of intended use, personal interest and technical details of the topic itself which determine whether a skill rewards more for adequacy or mastery. What might be worth only the basics to one person could be worth devoting a lifetime to another.

For those of you who submitted responses to the previous post (or thought about the question of what’s worth learning, even poorly), where do you feel your previous suggestions sit? Do you feel the skills you suggested are ones which get a lot of benefit just from having the basics? Or are they skills where most of the total value comes from the long process of mastery?

  • Franklin Chen

    I’m not going to flame about computer programming, although I happen to believe that it is actually a very important tool for thought and for actual work, and will soon be like reading and writing was when it was once thought impractical and not worth the costs for the benefits (fields had to get plowed, crops had to be picked…). But not yet, today. One reason is that today’s most commonly used programming languages and tools are horrifically bad (I say this as a professional software developer). But this is not the space for me to go further on these topics.

  • Matt

    Excellent post. You could very easily follow up with a post on what things to learn to be a generalist, or what constitutes foundational knowledge that everyone should learn. Or even what should be taught, either required or optional, in public school. I might try tackling these subjects myself.

  • Stefano

    Interesting topic. I agree with your initial argument, that most things are worth learning, even poorly. My programming knowledge, for example, is very limited. However, I know enough to be able to recognize the difficulty of one project vs another. I think the most value gained from knowing something poorly is that you are more aware of the subject which can allow you to draw certain insights and make better decisions than someone who doesn’t know it at all. So even if you do decide to outsource a project, you can distinguish better and more qualified candidates from under qualified candidates. You have a better sense for what you need. Sure, it might not be directly useful to know programming at a low level, but it helps you recognize someone who knows it at a level of mastery. Of course, like you mentioned, I think the usefulness of learning something, from a subjective point of view, also depends on how applicable it is to everyday life. Language obviously plays a more significant role in the average person’s life than programming.

  • John

    I firmly believe that 2050 will be a world of EXTREME specialization. You will no longer need to cook, wash your clothes, clean your house, schedule your appointments, drive your car, etc.

    The only thing you will need to do is be WORLD-CLASS at your job. In the world of 2050 there will be no space for the average and not even for the good worker. For example, with the internet I can learn Calculus from a MIT professor, who is in theory the best Calculus professor in the world.

    If you want to thrive in 2050, you have to focus on mastering 2-3 things and ignore the “rest”. By the “rest”, I mean the non-essentials that will soon become 95% of the work you do outside of your job.

    The bottom line is, your work schedule should be 90% mastery, and 10% adequacy.

  • Kelvin

    Hi John, that’s a scary thought, but in many ways you may be right… We’ll see.

  • Phillip Allen

    I think athletics especially swimming, different sports and dances, and fighting would be pretty good to be exposed to. Also skills like medicine (first aid), shooting, sewing, cooking, cleaning all have pretty low learning curves.

  • Elgin Andrews

    In a market economy, we have a division of labor. Virtually nobody bakes their own bread or sews their own clothes anymore. I think what makes sense given the internet is outsourcing. If you’re a programmer for instance, you should be outsourcing things like design and marketing. If you’re a designer for instance, you should focus on what you’re great at and outsource programming and use the types of services at — for instance so you don’t have to worry about that. And if you’re a marketer, focus on connecting with people and outsource technical tasks.

    I’m not sure what the future holds for the economy, but I do also think that increasing specialization is likely to some extent, but generally startups need generalists more. There’s pros and cons to each.

  • J-N

    Based on my work experience I’ll have to disagree with you with regard to the respective payoffs that programming skills have.

    I’m neither a programmer nor is programming part of my job description. Nonetheless I occasionally write code at work. And by code I mean really, really basic stuff (badly commented and often with no error handling). And yet, if we add up all the little things I have done over the years a significant amount of money has been saved.

    Could a professional programmer have done a better job? Sure. Unfortunately most of the time either the management wasn’t willing to spend the necessary money or the IT department didn’t have enough resources.

    Could we have outsourced it? Considering that we work with confidential data and management’s tightfistedness, I doubt it.

    Now, I would venture, that in many office jobs a lot of the tasks that are being done on a daily basis could be automated significantly. Unfortunately due to various factors (be it ignorance, a lack of funds or what have you) there will be no great solutions implemented by master programmers.

    So if the choice is between no automation and a really mediocre piece of code written by one of the secretaries I would say that even low programming skills can have a significant payoff. After all it is not hard for a mediocre program to be orders of magnitude faster when compared to a human.

  • Allen

    I think adequacy has been over valued as of late, language being the most popular example to justify this sentiment. It partly depends on what we call adequacy and what we call mastery.

    I’d say that most fluent English speakers do not have mastery of the language and therefore we undervalue what real mastery is. Mastery to me, is someone like Hemingway or other more technical writers. The average American who reads at a 7th grade level could be called adequacy.

    When we call the ability to order food at a restaurant or ask directions adequacy, it doesn’t seem to be amazingly different than an average fluent speaker. But, when we compare them to a real master, someone who’s mastery of English is a full time job or or allows them to become famous world wide, the value of mastery seems to be much higher.

    I believe a lot of skills follow this pattern. Having a highly refined skill that operates on an intuitive level will very often yield that 10x speed/performance boost.
    We see this in sports. A top college tennis player would be easily beaten by a teenage professional tennis player.
    In business, the difference between the average and the top 1% is astronomical. Even 95th percentile is astronomically different than the top 1%.
    Vanilla icecream outsells the other top 5 or so icecream flavors combined.

    It’s all in where you draw the line of mastery, but there’s a lot of value to be had in the very highest level of skill.

  • Scott Young


    I’m not sure I’d agree with the statement that most native English speakers do not have a “mastery” of the language. I think that’s conflating the ability to communicate fluently with related, albeit separate, skills such as being an acclaimed novelist or orator.


    I agree, and I’ve written about this before:

    However, there are two other points worth considering:

    1. The degree to which skills work synergistically. How much computer science theory should the average web designer know? If you follow specialization logic to its extreme, the answer would be none–he should focus all of his efforts onto mastering better web pages. However mastery-level skills face harsh diminishing returns, so sometimes investment in adequacy of a related skill will result in somewhat higher productivity.

    The challenge is that syngergies are often hard to detect in advance. Even if your goal is only to maximize your productivity within a niche, some generalization will be advantageous.

    2. Avoiding brittleness. Having only extremely specialized skills makes you inflexible to change. I believe the future will be one of higher specialization, but also one of faster change. That faster change will mean that sometimes your specialization becomes outdated or rapidly adjusted, and you’ll need to retool. Some greater generalization cushions this transition in the same way that having a portfolio of stocks has less downside potential than holding shares in only one company.

    However, those caveats aside, I believe the trend is towards increasing specialization.


  • Ed Singleton

    There are also skills where adequacy serves as an insurance policy. Self-defence is the most obvious of these. Most of us hope we will never need it, but when we do, even a little bit of training pays off a huge amount.

    Cooking and public speaking are two other examples that spring to mind. Even if you hope never to cook (eg a sexist husband), the ability to do so could one day be life saving.

  • Ed Singleton

    Speaking as Senior Developer, I and most competent programmers I know didn’t learn to think in a different way because we learned to program; we got into programming because we thought in a particular way.

    The mediocre programmers I have met have spent many years learning programming and don’t think like programmers at all, so I’m dubious about the claim that learning to program will change the way you think.

  • Nikos

    Your comparison between languages and programming is not completely symmetrical. Perhaps it would be useful to first define a goal for either endeavour and then determine what difference learning badly vs well would make. For instance if the goal is getting by as a tourist then no, knowing a language poorly and well doesn’t really make a big difference *above* a minimum proficiency level. However, if the purpose is to get a job using the language or making an smooth impression on your date’s parents or averting diplomatic meltdown through mediation, skill level could make a big difference. Similarly, for programming, if your goal is to understand the concept of programming in order to effectively work in a team with coders or code simple things (not sure what these may be), then bells and whistle skills may not be very important. On the other hand if your goal is to get hired or paid to do a complex task, skill level would make a difference.

  • Kim

    If I had responded to your first post, I would have answered “accounting and taxes” as my mediocre skill of choice. But having read your clarification, I would reply that sculpture and Latin are exactly the skills to learn poorly, if they’re being learned for fun. Healthy people need play, and even snowboarding stops being fun halfway through a grueling season of professional training. (At least, I imagine it does.) These, to me, are the skills where the value comes from basic and intermediate skills.

  • Dillon Miles


    Scott, I think you are right about increased specialization and an increased rate of change in the global economy, all else remaining equal. (which usually isn’t the case…… i.e. the future does not exist yet and it is possible that the world could end tomorrow)

    Again, keeping all else equal, learning broadly and being world class at one thing will both likely be important to not just secure a job/own a business, but to survive and replicate. This discussion reminds me of the “Fitness Landscape” by Sewall Wright and Darwinian Evolution.

    It appears to me that people who can forecast most accurately with their “thinking skulls” and adapt the quickest to change will be the most likely to thrive in the global economy of tomorrow. Speaking of forecasting, with the internet, you don’t have to forecast alone, the wisdom of crowds can help you.

    Reading great articles on fantastic websites like this put you at an advantage for whatever the future might hold. : )

    PS: Scott, you inspired me to take the MIT challenge, thanks for taking the time to put all those resources/links in one place.

  • Patricia

    I’d say mastering logic is worth doing for almost everybody.

  • Zen Dexter

    Hi Scott

    Long-time reader of your blog (and your books too) but first-time commenting here!

    I agree with you when you say that you would get a higher return from a small time investment into spoken languages than many other skills. The point of a spoken language is purely communication, that the other person can more or less work out what you’re driving at. A basic to intermediate grasp of a language, combined with things like hand gestures and facial expressions can go a long way. You can go far without reaching mastery.

    However, when it comes to computer languages, I’d have to side with J-N’s earlier comment (… and argue that a similar case can be made for them too. Recently at work, I’ve been upgrading a number of spreadsheets in order to cut out manual processes. This involved using Excel macros, something that is new to me (although I do have an IT background and have done Excel and other types of programming before).

    Since I’m basically just picking stuff up as I go in this project-based learning setup I have happening, I’m sure that an expert could look at my code and pick up on any number of things that could be improved and refined. But these upgrades still offer a solution that is simpler to use, requires less time, and is less prone to human error than the previous option, even if they aren’t programming perfection. Again, it’s possible to go far without reaching mastery.

    ~Zen Dexter

  • I tend to agree with personal use or economic utility (being the most important indicator of the extent to which we should learn that skill) – the skills that are worth mastering, I think, are ones that produce the highest economic value to a person. After all, we all have to make a living, and since we have limited time in a day, it’s important to focus our energies on doing things that make us enough money to pay for necessities if we were to move up Maslow’s hierarchy.

    In terms of specifics, I think that language learning can be useful even if only learnt adequately, but its uses are still fairly limited. With an intermediate proficiency, I can’t imagine that many places where it will be useful to have just a basic level of communicative ability – one can argue that it’s better to have some proficiency than to not have any, but if we have to do things like rephrasing, ask for other people to repeat themselves constantly, and so forth where communication becomes slow or awkward, then it’s not that much better than speaking in our native tongues. This of course hinges on one’s definition of what comprises an “intermediate” level of fluency (my personal definition of fluency is one’s ability to understand in a language), but apart from minor chitchat, I’ve never found an intermediate level of fluency helpful.

    As for programming, this is even more so. There is inherently close to no value in knowing just “a bit of programming”. I think that at the very least, to get to a point where one can be deemed “adequate”, one should be able to piece together a program of a sizeable level of complexity in at least one programming language, with only occasional references to APIs (core or external), and use of sites like StackOverflow. In addition, one should be familiar with basic constructs in programming, especially data structures and major classes of algorithms, and also a good grasp of knowledge in domains like databases, networking, OS architecture – because it is only through an appreciation and having a solid set of fundamentals of these topics that one can write good code across a large spectrum of applications. I’m not saying that knowing how to write scripts or small programs isn’t useful, but the types of things that we usually want to write – they probably already exist somewhere, or I imagine that those who’re adequate still need to fumble around a bit to get the script working properly because that person probably won’t be programming consistently enough to code fluently.

    To conclude my thoughts, I feel that this topic is a difficult one – it hinges upon how one defines “adequate”. But I personally think that adequacy with a given skill should signify having sufficient skill to carry out the daily duties of an intermediate level professional (I feel that not every professional can be said to have mastered their areas of expertise) without too much strain. If we were to assume that’s true, then I think that lots of things are worth learning even to an adequate level due to diminishing returns as we move along the proficiency scale. However, even getting to an adequate level seems to me a major investment of time – while I agree with the premise that we can use many strategies to accelerate learning, it takes a much longer period of time to actually apply what we know and to develop a good enough intuition for that skill to truly claim even a degree of adequacy performing that skill.

  • Chris

    I believe there’s always things you wish you had mastered but haven’t that would be high on your personal list, or I personally think typing is useful skill / mastery, it would make me much more efficient