Post navigation

Allow yourself to Expose Your Ignorance in a specific technology in order to focus your attention on what you need to learn next. Then Confront Your Ignorance and let your team and your customers watch you flex your knowledge-acquisition muscles. That may sound scary, but there is no better time in your career to take this sort of risk. By relieving the brain of all unnecessary work, a good notation sets it free to concentrate on more advanced problems, and in effect increases the mental power of the race. T]he technical terms of any profession or trade are incomprehensible to those who have never been trained to use them.

But this is not because they are difficult in themselves. On the contrary they have invariably been introduced to make things easy. You are just starting out and have only a shallow understanding of one or two programming languages. You feel your job depends on you delivering a solution written in a specific programming language and of the same standard of quality as your teammates.

Alternatively, obtaining a job in the first place depends on your proficiency in a specific programming language. Become fluent in it. For the next few years this will be the main language you use to solve problems, as well as the default skill you hone whenever you are practicing. Making this choice is a challenge. It is important that you carefully weigh the options, as this is the foundation upon which your early career will be built.

If you are asked to solve a problem and it dictates a programming language, let the drive toward the solution direct your learning. Either way, ask the most experienced and available programmer you know for ongoing help. Having someone immediately available can be the difference between a problem taking minutes or days of your time. One of the fundamental ways to improve the experience of learning your first language is to have an actual problem to solve. This helps to ground your learning in reality and provides you with your first, relatively large, feedback loop.

The fundamental way to improve this experience is to seek out opportunities to create feedback loops. In particular, creating short feedback loops helps you gauge your progress. Some languages have better tools for feedback than others, but regardless of the language, you can take some steps to set up a learning sandbox to experiment in.

4 Ways to Refill Your Cup – Jimmy Casas

In Ruby, there is the interactive command-line tool irb. Similarly, Erlang has erb. Firebug provides many useful ways to explore the JavaScript runtime in the Firefox web browser, including an interactive shell. Many languages provide equivalent tools. Start by taking almost insanely small steps; as you learn more, your steps can grow correspondingly larger.


  • Empty Your Cup – It's Your Turn!
  • 2. Emptying the Cup - Apprenticeship Patterns [Book].
  • Post navigation;

For instance, the Ruby language has a feature that lets you apply a block of code to every element in a list and collect the results into a new list. You might write the following code to clarify your understanding of this feature:. Over time, these vendor tests as Ade christened them during a lightning talk at the London Test Automation Conference [ 10 ] can be used to check that upgrading to a later version of a library will not break your system.

When the system breaks, the tests point to the new library as the source of the problem since the only functionality they exercise is that which you depend on the library to provide. Eventually, you will go from just writing learning tests to writing tests that check your actual code rather than your understanding of language constructs and APIs. Over time, you will find that there are many other techniques beyond simple unit testing that use the computer to verify your work as well as communicate with other members of your team. The following is a discussion of learning to think differently by learning a new language, but the advice of Ralph Johnson coauthor of Design Patterns applies to a first language as well.

You should choose a language based on who is around you. Do you know somebody who is a fan of one of these languages? Could you talk regularly with this person?

Stay ahead with the world's most comprehensive technology and business learning platform.

Better yet, could you do a project with this person? By far the best way to learn a language is to work with an expert in it. You should pick a language based on people who you know. One expert is all it takes, but you need one. The best situation is where you work regularly with the expert on a project using the language, even if it is only every Thursday night.

It would be almost as good if you would work on the project on your own but bring code samples to the expert when you have lunch twice a week. It is possible to learn a language on your own, but it takes a long time to learn the spirit of a language unless you interact with experts. Thus, the availability of feedback from a nearby language expert should be a major factor when selecting your first language.

The preferred work, boundaries, prejudices, and beliefs of this community will be all you have at first. One of the advantages of belonging to a community that shares its code is that you learn to go beyond the obvious grammatical constructs and start to express yourself idiomatically. Sometimes this pool exists only as an oral tradition, and you have to talk to a particular person in order to gain the knowledge.

Keep up with Mother Nature

Sometimes the knowledge exists only in the archives of a mailing list or perhaps in an online cookbook, where the lack of context makes it hard to appreciate its significance. In these situations, people new to the language have to immerse themselves in the community for years in order to tap into this pool of knowledge. Reading books such as these as soon as you have mastered the basic syntax can greatly accelerate your learning and help you avoid common mistakes.

All this will help you dig deeper into your first language. For several years, your first language will be the framework against which you learn other languages.


  1. Farm Animal Crochet Pattern Set?
  2. Empty Your Cup.
  3. Murder Can Crash Your Party: A Desiree Shapiro Mystery.
  4. Silent Watcher (The Crystal Point Legacy Book 2);
  5. Apprenticeship Patterns by Adewale Oshineye, Dave Hoover?
  6. Browse By Tag?
  7. Short Sharp Shudders?
  8. I'm not ready, this is still my first cup of coffee! Sometimes the best cup is chipped. The lover thinks but the cup-bearer knows: Since this wine is love, then this cup is love, then this tavern is love, then this life is love. But we can accept it, and love it. We can turn our faces to the light and examine the minutest details simply for the sake of it. We can live lives of joy and purpose.

    UB40 bring me your cup (original) with lyrics

    We are all part of one whole. Take comfort in this. If you want to get drunk all you need is to drink love. Put down your pipe and do away with these childish toys. If you want to get high all you need is to breathe love. Now, can I have this dance?